Cómo usar el buspirate V4 como conversor Serial

Hay muchos tipos de convertidores USB serial, para poder comunicarnos con varios dispositivos. Sin embargo, yo uso el buspirate. Que es una placa muliusos, entre las que incluye conversor USB a serial (mode UART). Vamos a ver dos ejemplos para comunicarnos con un arduino que está mandado información por un puerto serie usando la librería SoftwareSerial y para comunicarnos con el puerto serie de una raspberryPi.

Yo estoy usando el Buspirate V4 con la versión V6.2 beta1

Buspirate-Arduino

Las conexiones que hay que realizar son las siguientes:

Buspirate Arduino
Tx(MOSI) Rx
RX(MISO) TX
GND GND

Una vez que ya están hechas las conexiones, abrimos una comunicación serie del ordenador al BusPirate, en mi caso uso Mac, y usaré la aplicación Screen.

$>screen /dev/tty.usbmodem00000001 115200
$Hiz>m # Para entrar en la configuracion
$Hiz>3 # Establece el modo UART
$Hiz>4 # para una velocidad de 4,800 bps (SoftwareSerial)
$Hiz>1 # para 8 bits, sin paridad
$Hiz>1 # para 1 bit de parada
$Hiz>1 # Espera de 1
$Hiz>2 # para normal, 3.3v de salida
$Hiz>(1) # para activar Transparent bridge mode
$Hiz>y # Para empezar el modo puente

De este modo empezaremos a ver por pantalla lo que nos manda el arduino. Esto lo podemos usar para crear u puerto serie virtual de depuración de arduino.

Buspirate-Raspberry pi

Buspirate RaspberryPi
Tx(MOSI) Rx(pin 8)
RX(MISO) TX (pin 10)
GND GND(pin 6)

Una vez que ya están hechas las conexiones, abrimos una comunicación serie del ordenador al BusPirate, en mi caso uso Mac, y usaré la aplicación Screen.

$>screen /dev/tty.usbmodem00000001 115200
$Hiz>m # Para entrar en la configuracion
$Hiz>3 # Establece el modo UART
$Hiz>9 # para una velocidad de 115,200 bps
$Hiz>1 # para 8 bits, sin paridad
$Hiz>1 # para 1 bit de parada
$Hiz>1 # Espera de 1
$Hiz>2 # para normal, 3.3v de salida
$Hiz>(1) # para activar Transparent bridge mode
$Hiz>y # Para empezar el modo puente

Una vez que está en espera, Pulsamos en cualquier tecla y ya nos habilita el login en la raspberry

Cómo usar el buspirate V4 como conversor Serial

Libreria para renacuajoBot

Aprovechando la librería de arduino que empezaron a escribir Juan Gonzalez y David Estevez, he añadido nuevas funcionalidades para trabajar de manera cómoda con el renacuajobot.

He añadido nuevos métodos para añadir un servo, indicándole el pin en el que está conectado, y la posición en la que está del robot.

He hecho lo mismo para añadir los sensores, en este caso solo están operativos los del sigue lineas.

Por último, he agregado una función que automáticamente sigue las linea sobre la que esté posicionado el robot. Lo siguiente que haré será que el propio robot busque las lineas a seguir dentro de un rango

El nuevo código lo podeis encontrar en mi github.

Libreria para renacuajoBot

RenacuajoBot

El primer robot que han diseñado desde BQ para usar el kit de robótica, ha sido renacuajoBot. Este fin de semana he aprovechado para imprimirme una versión e ir haciendo pruebas.

2014-01-05 23.42.18La primera cosa que he probado han sido los servos conectado a la placa y probar su correcto funcionamiento. Las pruebas han sido estar cambiando la dirección del servo de una manera un tanto brusca, de esta manera, y debido a los picos de corriente, la placa se resetea y no funciona correctamente. Quizás si se alimentarán los servos de forma independiente a la de la placa el correcto sería el correcto. Por este motivo, y si están los servos conectados, la placa falla a la hora de subir el programa, es necesario subir el programa sin tener los servos conectados.

Captura de pantalla 2014-01-06 a la(s) 22.41.18

He estado modificando la librería de Obijuan y David Estevez que programaran para el miniskybot. De esta manera le he añadido la opción de añadir los servos de  rotación continua que se incluyen en el kit.

He tenido un problema al hacer las conexiones y he conectado uno de los sensores IR a una salida de la placa, y creo que se ha estropeado, los sensores no tienen ningún diodo para evitar que en el pin de signal le introduzcamos una tensión. Por eso, y como solo tengo un sensor IR, he programado el robot para evitar que se caiga de la mesa. A ver si consigo arreglarlo o cambiarlo por otro y lo programo para seguir lineas.

He colgado en mi github la librería con la actualización para los servos. Es una primera versión muuy primeriza, iré actualizando en cuanto pueda con el resto de sensores y actuadores que vienen incluidos en el kit.

RenacuajoBot

[Processing] Controlando servos desde processing

Como dije en la entrada anterior, processing es un mundo a descubrir. Cacharreando menos de una hora, he conseguido hacer el programa para controlar la velocidad de giro de un servo.
El programa en processing es muy simple, se trata de un control slide que varía de -100 a 100 y esta información se la manda al arduino.

 

Lo bueno de processing es que esta aplicación se puede exportar a cualquier entorno, desde linux, windows a mac.

He subido los ficheros a mi repositorio, aquí tienes el programa para processing y aquí el de arduino.

 

 

Me queda por investigar mucho sobre esto, y poder controlar más variables desde processing hacía arduino, pero bueno para haber estado una hora escasa no está nada mal.

[Processing] Controlando servos desde processing