[pyar] puerto serie en python

Sebastián Seba ssebastianj en gmail.com
Mar Mar 12 00:30:02 ART 2013


El día 11 de marzo de 2013 21:53, Fernando FLORES CORCOBA
<fef.flores en gmail.com> escribió:
> Hola Esteban. A lo mejor, deberias intentar con usar un hilo y encolarlo,
> como te recomienda SAn.
> El arduino tiene un reloj de cuarzo, los cuales son muy estables, es muy
> dificil que el desfasaje se produzca por el clock del arduino.
> El problema esta en la recoleccion de los pulsos (la velocidad con que tomas
> la lectura desde python).
> suerte, y avisanos para ver como va eso.
> efrain
>
>
> El 11 de marzo de 2013 21:18, SAn <gringotumadre en gmail.com> escribió:
>
>> Hola Esteban, cómo es el contador de tiempo? Porque no deberias tener
>> que depender de actualizarlo tan rápido.
>>
>> Si es que no podes cambiar la parte del contador, entonces quizas
>> tengas que recurrir a un Thread que lea del puerto y una Queue para
>> pasar la informacion al thread principal.
>> Hay una receta que muestra esto en el wiki de PyAr cortesía de Mariano
>> Guerra: http://python.org.ar/pyar/ComunicarThreadsConQueue
>>
>> saludos y suerte
>> SAn
>>
>>
>> 2013/3/11 Esteban Alejandro Chauque <achauque en gmail.com>:
>> > Mi problema es que al ser un sistema de cronometraje si aumento el
>> > timeout me retrasa el contador de tiempo tambien. Estoy en un problema
>> > con eso.
>> >
>> >
>> > Saludos
>> >
>> > El día 11 de marzo de 2013 16:55, Santiago Paleka
>> > <santiagopaleka en gmail.com> escribió:
>> >> El 11 de marzo de 2013 16:14, Esteban Alejandro Chauque
>> >> <achauque en gmail.com>
>> >> escribió:
>> >>>
>> >>> Buenas tardes lista,
>> >>> He descargado pandora stop watch
>> >>> http://www.softpedia.es/programa-Pandora-Stopwatch-224274.html, es un
>> >>> cronometro hecho en python. La verdad funciona muy bien, pero mi
>> >>> necesidad me ha llevado a conectarlo con arduino para poder tomar el
>> >>> tiempo por medio de una barrera infrarroja.
>> >>> Pero no funciona del todo bien, cada tanto pierde un paso.
>> >>> La librería que estoy usando es PySerial. No estoy seguro si el
>> >>> problema se debe a la velocidad de transmisión o la velocidad con que
>> >>> tomo la lectura desde python.
>> >>> Las únicas lineas que agregue son:
>> >>>
>> >>> 169        strStep = serial.Serial('/dev/ttyUSB0', baudrate = 9600,
>> >>> timeout=.0001)
>> >>> 170        d = strStep.readline()
>> >>> 171        strStep.close()
>> >>> 172
>> >>> 173        # Events
>> >>> 174        if "PASE" in d:
>> >>> 175            recorded_times.append(stopwatch_time)
>> >>> 176            records_changed = True
>> >>>
>> >>>
>> >>>
>> >>> Saludos
>> >>> _______________________________________________
>> >>> pyar mailing list pyar en python.org.ar
>> >>> http://listas.python.org.ar/listinfo/pyar
>> >>>
>> >>> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>> >>>
>> >>> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
>> >>> Argentina - http://www.usla.org.ar
>> >>
>> >>
>> >> Hola Esteban, probá de ponerle mas tiempo de timeout, debe estar
>> >> saliendo
>> >> del readline (linea 170) sin datos.
>> >>
>> >> _______________________________________________
>> >> pyar mailing list pyar en python.org.ar
>> >> http://listas.python.org.ar/listinfo/pyar
>> >>
>> >> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>> >>
>> >> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
>> >> Argentina - http://www.usla.org.ar
>> > _______________________________________________
>> > pyar mailing list pyar en python.org.ar
>> > http://listas.python.org.ar/listinfo/pyar
>> >
>> > PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>> >
>> > La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
>> > Argentina - http://www.usla.org.ar
>> _______________________________________________
>> pyar mailing list pyar en python.org.ar
>> http://listas.python.org.ar/listinfo/pyar
>>
>> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>>
>> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
>> Argentina - http://www.usla.org.ar
>
>
>
> _______________________________________________
> pyar mailing list pyar en python.org.ar
> http://listas.python.org.ar/listinfo/pyar
>
> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>
> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
> Argentina - http://www.usla.org.ar

No trabajé con Arduino pero si bastante con el puerto serie y también
iría por la propuesta que hizo Gustavo y que es dejar la
responsabilidad al Arduino de cronometrar los tiempos y enviar esas
mediciones al puerto serie. De esa manera separás las mediciones por
un lado y la recepción y procesamiento de por el otro.

Si es importante poder pausar el cronometraje podrías implementar un
protocolo simple en el cual enviás comandos desde la computadora al
Arduino, como por ejemplo: START, STOP, PAUSE (todos strings).



More information about the pyar mailing list