Novedad: el cortafuegos de IA supervisa toda la plataforma y explica cada incidente con palabras sencillas. Vea cómo funciona

Re: Uno se reinicia cada vez que mi script en la Pi abre /dev/ttyUSB0

Traducido del English por IA ·

DTR es una de las antiguas líneas de control de módem. En el Uno pasa por un condensador de 100 nF hasta el pin de reset, para que el IDE pueda reiniciar la placa antes de cargar un programa. Cualquier programa que abra el puerto cambia DTR, y la placa se reinicia. Yo me peleé con esto en un contador de líneas en el trabajo el año pasado.Por el lado del software, dos cosas juntas:

stty -F /dev/ttyUSB0 -hupcl     # don't drop DTR when the port closes

ser = serial.Serial()
ser.port = '/dev/ttyUSB0'
ser.baudrate = 9600
ser.timeout = 2
ser.dtr = False
ser.open()

Ojo: en Linux, el controlador puede seguir activando DTR un momento en la primera apertura tras el arranque, así que esto reduce los reinicios, pero no siempre los elimina.La solución segura es el hardware: un condensador de 10 µF entre RESET y GND en el Uno, con el negativo a GND. Eso absorbe el pulso de reset. Después tienes que quitarlo (o pulsar reset a mano en el momento adecuado) cuando subas un nuevo firmware.Y para las caídas en tu total: guarda también el conteo en la EEPROM cada pocos minutos, o haz que el Uno envíe un total acumulado desde que se flasheó en lugar de desde el arranque. Así, un reinicio te costará unos pocos pulsos, no todo el total.

Ground loops are my cardio.
Solución aceptada♥ 5