Cómo conectar Arduino con una Raspberry


En este tutorial de Zagur, vamos a ver como es posible  conectar de una forma muy sencilla a través del puerto serie  una   placa   Arduino  con  una Raspberry Pi utilizando Python para hacer esta comunicación.

El resultado va a ser  reproducir una melodía con un zumbador  conectado a Arduino por medio de un servicio (Apache, por ejemplo)que correrá en la Rasberry Pi.

Para hacer posible el ejemplo conectaremos primero Arduino en nuestro PC,  cargaremos el software en él y luego lo conectaremos a la Rasberry Pi.

El código de Arduino es realmente sencillo, y el montaje no requiere mucho tiempo, ya que solo es conectar el zumbador piezoléctrico en el pin 8 (cable rojo) y en el pin GND (cable negro).

Ahora cargamos este programa en nuestro Arduino,

«pitches.h»
// Notas en la melodía
int melody[] = {
NOTE_C4, NOTE_G3, NOTE_G3, NOTE_A3, NOTE_G3,0, NOTE_B3, NOTE_C4};

// Duración de las notas: 4 (negra), 8 (semicorchea), etc
int noteDurations[] = {
4, 8, 8, 4, 4, 4, 4, 4};

void setup () {
Serial.begin(9600); //Inicializamos el puerto serial a 9600 baudios
}

void loop() {
if (Serial.available()) { //Si está disponible el puerto serie
char c = Serial.read(); //Guardamos la lectura en una variable char

if (c == ‘w’) { // Si escribo w  entonce  haremos sonar una melodía y reiniciamos  apache (en la RPi)

for (int thisNote = 0; thisNote < 8; thisNote++) {

int noteDuration = 1000/noteDurations[thisNote];
tone(8, melody[thisNote],noteDuration);

int pauseBetweenNotes = noteDuration * 1.30;
delay(pauseBetweenNotes);
// parar el tono que se esta reproduciendo:
noTone(8);
}
}
}
}

 

 

Este código resumidamente lo que hace es que comprobar mediante el   condiciona   if (c == ‘w’)   si la variable que Raspberry Pi le envía es igual  el carácter ‘w’ ( o el carácter que se desee siempre  que lo defina en este código) , entonces ejecutará la melodía hasta que finalice    por medio del bucle for{} .

Junto a esto, abriremos un fichero nuevo y lo llamaremos pitches.h que contendrá las notas musicales  que se puede descargar aquí.

 

Una vez hemos cargado este código en Arduino, el siguiente paso es preparar la Raspberry Pi.

Aquí tendremos que hacer un pequeño programa en Python que nos permitirá mandarle comandos a la placa Arduino. Para eso, tendremos que instalar una librería de Python en Raspberry Pi mendiante el comando.

aptget install pythonserial  
 Una vez instalado, conectamos Arduino a nuestra Rasberry Pi y creamos un fichero llamado RaspDuino.py. En él añadiremos lo siguiente:
import os
 
arduino = serial.Serial(‘/dev/ttyACM0’, 9600)
 
print(«Starting!»)
 
continuar = True
while continuar:
        comando = raw_input(‘Introduce un comando: ‘) #Input
        arduino.write(comando) #Mandar un comando hacia Arduino
 
        if comando == ‘w’:
                print(‘Reiniciando apache…’)
                resultado = os.system(«service apache2 restart»)
        elif comando == ‘exit’:
                continuar = False
arduino.close() #Finalizamos la comunicacion

 

Este código también es sencillo. En primer lugar creamos un bucle para que nos vaya pidiendo siempre el “Introduce un comando“, y todo lo que vayamos escribiendo, se enviará al Arduino y de modo  que dependiendo del código qeu tenga Arduino hará una cosa u otra. En el ejemplo si enviamos ‘w‘ ejecutará la melodía en el Arduino y además, ejecutaremos en la Raspberry Pi, “service apache2 restart“. Si escribimos “exit” saldrá del bucle while y se acabará el programa.

Para ejecutar este fichero ya sólo queda ejecutar el fichero en python: python RaspDuino.py

 

 

Fuente   aqui

La nueva placa para enseñar a programar en UK


Bit Micro (también conocida como BBC Micro Bit, estilizado como micro: bits) es un sistema integrado basado en ARM diseñado por la BBC para su uso en la enseñanza de informática en el Reino Unido. El dispositivo se dará de manera gratuita a todos los alumnos de 7 años  en Gran Bretaña   (en algún momento, tambien estará disponible para su compra por cualquier persona).

El dispositivo de 4 x 5 cm tendrá un ARM Cortex-M,sensores de procesador, acelerómetro y magnetómetro, Bluetooth y conectividad USB, una pantalla de 5×5, dos botones programables LED, y puede ser alimentado por USB o una batería externa. Las entradas y salidas del dispositivo será a través de cinco conectores de anillo, que es parte del conector de borde de 23 pines.

 

 

bbc

El Micro Bit fue diseñado para alentar a los niños a involucrarse activamente en la escritura de software para las computadoras y la construcción de nuevas cosas, en lugar de ser consumidores de medios de comunicación.  Se ha diseñado para trabajar junto a otros sistemas, como el Raspberry Pi, construir sobre el legado de la BBC con la BBC Micro para computar en la educación. El plan de la BBC es regalar el ordenador libre a cada niño de  7  años de edad en Gran Bretaña a partir de octubre de 2015 (alrededor de 1 millón de dispositivos). Antes de la puesta en marcha de un simulador en línea estará disponible para ayudar a los educadores a prepararse, y algunos maestros recibirán el dispositivo en septiembre. A partir de entonces, el dispositivo está previsto que esté a la venta en general a finales de 2015.

La BBC tuvo una difícil decisión de elegir qué edad  sería el primero en recibir los libres Micro Bits, y la cabeza del aprendizaje de la BBC dijo que «La razón por la que decidíeron por año siete [en lugar de año cinco] es que tenía más impacto con ese grupo de edad … ellos estaban más interesados ​​en su uso fuera del aula «.

La planificación de este proyecto se inició en 2012 como parte del Programa de Alfabetización BBC PC y, en el momento de la puesta en marcha en julio de 2015 la BBC habían tenido en cuenta 29 socios para ayudar en la fabricación, diseño y distribución del dispositivo.  La ​​BBC ha dicho que la mayoría de los costos de desarrollo fueron sufragados por los socios del proyecto, y la intención de la licencia de la tecnología es  de código abierto y permitir que se fabrique  en todo el mundo para su uso en la educación,  formadose una empresa sin fines de lucro para supervisar esto.

En cuanto al formato ,el tamaño del dispositivo se describe como la mitad del tamaño de una tarjeta de crédito, mediendo 4 cm por 5 cm

Su hardware en el inicio de la fabricación final, incluye:

  • Nordic nRF51822, 16MHz 32-bit microcontrolador ARM Cortex-M0, memoria flash, RAM estática, 2.4GHz Bluetooth de baja energía de red inalámbrica. El núcleo ARM tiene la capacidad de cambiar entre 16MHz o tasa de reloj 32.768KHz.
  • Freescale MMA8652, sensor acelerómetro de 3 ejes a través de I2C-bus.
  • Freescale MAG3110, sensor del magnetómetro de 3 ejes a través de I2C-bus (para actuar como una brújula y detector de metales).
  • Freescale Kinetis KL02-series, que se utiliza como interfaz de comunicación entre USB y principal microcontrolador nórdica.
  • MicroUSB conector, conector de la batería, el conector de borde 23 pines.
  • Pantalla que consta de 25 LEDs en una matriz de 5×5.
  • Tres botones de tacto (dos para el usuario, una para reinicio).
  • E / S a incluir cinco conectores de anillo cuales acepta pinzas de cocodrilo o conectores banana de 4 mm, así como un conector de borde de 23 pines con 2 o 3 salidas PWM, de 6 a 17 pines GPIO (dependiendo de la configuración), 6 entradas analógicas , E / S serie, SPI y I²C. [15]
  • A diferencia de los primeros prototipos, que tenían una batería integral, una batería externa (baterías AA) se puede utilizar para alimentar el dispositivo como un independiente o un producto usable. de salud y seguridad se refiere, así como el costo, se les dio como razones para el retiro de la pila de botón desde el diseño.

En cuanto al software el dispositivo es compatible con una serie de diferentes lenguajes de desarrollo de software que incluyen JavaScript Blockly, Python y C ++. Hay dos editores de código utilizados con el Bit Micro, Microsoft Editor de bloques, destinados a usuarios más jóvenes y el Microsoft TouchDevelop medio ambiente. L plataforma Microsoft TouchDevelop, es una herramienta basada en la web que permitirá que programa el Bit Micro utilizando teléfonos inteligentes y tabletas, así como computadoras de escritorio.
El Micro Bit se ha creado usando los kits de desarrollo ARM embeded. El sistema de ejecución y la interfaz de programación utilizan el servicio cloud embeded compilador para compilar el código o mediante conexiones USB o Bluetooth. El dispositivo aparecerá como una unidad USB cuando se conecta a una computadora y el código puede ser flasheado usando arrastrar y soltar.
Esta placa tiene ese formato «crudo» que es habitual en este tipo de dispositivos permitiendo contar con una serie de prestaciones básicas que según sus creadores serán una alternativa perfecta para aprender a programar y que esperan que «inspire a toda una generación»…

Fuente aqui