Show Posts
Pages: [1]
1  International / Software / Re: Otro prolema con python + arduino vía serial on: November 19, 2012, 07:11:00 am
En este post cuentan como configurar cada uno de los diferentes arduinos para que esten en un sitio concreto
http://arduino.cc/forum/index.php/topic,38409.0.html
2  International / Software / Re: Otro prolema con python + arduino vía serial on: November 17, 2012, 09:25:31 am
Ahora mismo me acaba de surgir el mismo problema. Se debe a que ha cambiado el puerto serie donde se conecta arduino. Al poner en el programa python

Code:
serial.Serial("/dev/ttyACM0", 9600)
cuando se desocnecta el arduino y se vuelve a conectar (se saca el cable usb y se vuelve a conectar) se encuentra en el puerto ttyACM1, por ejemplo, y el programa no encuentra arduino en el puerto especificado.

En lilnux se crean los enlaces simbólicos al puerto arduino automáticamente. Lo que se puede hacer es conectar arduino segun el enlace simbólico que se crea para no cambiar el path a la conexión. En ubuntu hay que mirar en /dev/serial/by-id o bien /dev/serial/by-path que son las carpetas donde se crea ese enlace simbólico y el código python queda

Code:
serial.Serial("/dev/serial/by-path/pci-0000:00:03.0-usb-0:1:1.0", 9600) #Enlace simbólico por by-path

serial.Serial("/dev/serial/by-id/usb-Arduino__www.arduino.cc__0043_A4139363931351B04151-if00", 9600) #Enlace simbólico de by-id
3  International / Software / Re: Problemas con comuicación serial. on: November 16, 2012, 07:04:47 am
Por lo que puedo entender, el problema está en que, igual que en una llamada telefónica, hay que esperar que se "descuelgue" el aparato receptor para establecer la comunicación. En el caso de python-Arduino eso es la llamada

serial.Serial()

Se nota que Arduino parpadea hasta que se establece la comunicación y los envios de datos ya son instantaneos. O sea, siempre que se pida los datos de arduino con

serial.read()

el parpadeo no se efectua por que la comunicación ya está establecida. El problema, creo yo, (si alguien lo puede confirmar será de más ayuda que mis comentarios de newbe) está en hacer la llamada a comunicación

serial.Read()

cada vez que se quieren recuperar los datos de Arduino, entonces es cuando la comunicación tarda un rato en establecerse y se pierden los primeros datos. Por eso lo que propongo es establecer la comunicación serial antes de necesitar el envio de datos y tener siempre disponible la comunicación para no tener que esperar el bootloader, puesto que ya está establecido anteriormente.... no sé si me explico bien o igual me pierdo algo.
4  International / Software / Re: Problemas con comuicación serial. on: November 15, 2012, 11:52:53 am
Encontré la forma de cerrar la comunicación con el puerto serie.

Tan fácil como:

serial = serial.Serial('/ruta/al/puerto/serie', baudios)
serial.close()
5  International / Software / Re: Problemas con comuicación serial. on: November 14, 2012, 10:38:13 am
Soy un novato smiley-wink, pero lo que yo hago es llamar a serial.Serial al principio del programa, así cuando quiero recoger los datos ya ha esperado el segundo de marras... o sea:

import serial

class LaClasePrincipal():
    serial = serial.Serial('localización de arduino', baudios)
    def __init__(self):
        parte inicial el programa
        ....
    def datos_arduino(self):
        self.serial.read()
        proceso de datos arduino

Tampoco se si es lo correcto, pero noto que el parapadeo del arduino se efectua al principio i no cuando quiero recoger los datos.
En caso de no necesitarlo siempre se puede hacer de poner el serial.Serial en otra instancia que se llame en algun momento del programa. Lo que no se es como cerrarlo smiley-grin, que tampoco estaria mal saber.
Pages: [1]