Me doy cuenta y comprendo el problema con el reinicio de las placas arduino cada vez que abres una conexión serial como se indica y respondes here .
Sin embargo, debido a eso, estoy tratando de descubrir cómo varios relojes basados en arduino pueden manejar una sincronización de tiempo en serie sin solo reiniciar cada vez.
Por ejemplo, el BulbDial clock busca un sincroniza cada vez que el bucle llega. Pero intentar sincronizar a través del boceto de procesamiento simplemente restablecería el controlador y perdería la sincronización. Por supuesto, no tengo uno de estos relojes, pero me basé en el diseño para sincronizarlo y cada vez que abro la conexión serial para enviar la sincronización, la placa simplemente se reinicia.
¿Hay algo que me esté perdiendo?
Ahora, he conseguido que funcione al colocar un límite de 10 uF entre RESET y GND. Pero como otros pueden hacer esto sin ese límite, me encantaría poder hacerlo también.
También he escrito una secuencia de comandos de Python que establecerá la hora y he intentado todo tipo de configuraciones de DTR y RTS para intentar forzar esas líneas a permanecer altas y no reiniciar la placa durante la conexión, pero no he tenido suerte. Código abajo:
com = serial.Serial()
com.baudrate = baud
com.port = port
com.timeout = 1
com.rtscts=True
com.dsrdtr=True
print com
com.open()
¿Alguna idea sobre cómo se supone que se debe hacer esto?