miércoles, 24 de septiembre de 2014

Raspberry PI y Launchpad en comunicación serial USB

Hola amigos, esta entrada es parte de los proyectos anteriores que venimos trabajando, el primero es el letrero luminoso que estoy haciendole a mi hermosa hija que está por nacer, y que se pondrá en su babyshower, y otro proyecto que he nombrado Teclado capacitivo conectado a Raspberry, antes de hacer estos dos proyectos, necesito comunicar la tarjeta Launchpad y la Raspberry PI por medio del puerto USB, al conectarse, se crea un puerto COM virtual. Este puerto lo utilizare para enviar y recibir comandos, para realizar la tarea asignada. Esta comunicación es muy ventajosa, ya que se requiere un minimo de hardware, Solo un cable USB y las dos tarjetas.



Para hacer esto, es muy fácil, me guíe de varios proyectos en la web, la tarjeta Raspberry PI la estoy manejando como mencione en el video anterior sin necesidad de utilizar el teclado, mouse y monitor, todo lo hago desde mi propia laptop, este proyecto se divide en dos partes:

  • Launchpad programa
El programa realizado es simple, cuando reciba un caracter del puerto serial, parpadeará las veces que representa el número enviado, por ejemplo, si la Raspberry envía el caracter '9', entonces el led rojo de la launchpad parpadeará 9 veces.


void setup(){
  pinMode(RED_LED, OUTPUT);
  Serial.begin(9600);
}

void loop(){
  if (Serial.available())  {
     light(Serial.read() - '0');
  }
  delay(500);
}

void light(int n){
  for (int i = 0; i < n; i++)  {
    digitalWrite(RED_LED, HIGH);
    delay(100);
    digitalWrite(RED_LED, LOW);
    delay(100);
  }
}


  • Raspberry Pi
En la parte de la raspberry, se debe de instalar la librería pyserial e instalarla en la raspberry, yo recomiendo que instalen la versión 2.7
Para verificar que COM se ha creado cuando conectamos la tarjeta Launchpad a la raspberry, escribimos en la terminal

ls /dev/tty*

Primero escriban este comando antes de conectar la tarjeta launchpad




Ahora conecten la tarjeta launchpad y veamos que COM se ha creado
Como vemos, se ha creado un nuevo COM /dev/ttyACM0

Una vez que verificamos que puerto COM se ha creado cuando conectamos la tarjeta Launchpad, escribimos el siguiente programa

import serial, time
ser = serial.Serial('/dev/ttyACM0',  9600, timeout = 0.1)

ser.write('8')



Si todo ha salida bien, el led parpadeará 8 veces

Con este sencillo ejemplo, podemos comenzar a realizar proyectos en mente

2 comentarios: