miércoles, 1 de enero de 2014

Python y arduino

El arduino es una maquinita genial, pero no muy inteligente. Por eso es muy comun tratar de hacer que lo controle (o que al menos se comunique) con una computadora. 

Usando el modulo pyserial de Python (el cual se puede instalar por consola en linux) podemos comunicarnos facilmente con el aparato. 

Dejo un pequeño ejemplo.

#!/usr/bin/env python

import serial

print "Serial importado"
print "Intentando conectar ..."

#datos de coneccion
Arduino="/dev/ttyACM"
try_port=0
Serial_speed=9600

#datos de programa
listo=0
exit_word="exit"

#si encuentra el aparato sigue, esto es porque 
#el aparato puede aparecer en ttyACM0 o 1 u otro (?) 
while not listo:
    try:
        Ard_serial=serial.Serial(Arduino+ str(try_port), Serial_speed)
        print "conectado a "+Arduino+str(try_port)
        listo=1
    except:
        try_port+=1
        if try_port > 10:
            print "No se encontro el dispositivo !!"
            exit()

print "listo para enviar"

while listo:
    x=raw_input("  >>>")
    if x == exit_word:
        listo=0

    Ard_serial.write(x)
    Ard_serial.write('\n')
    print Ard_serial.readline()
   
print "Hasta luego ^^"


No hay comentarios:

Publicar un comentario