¿Por qué no puedo cargar un boceto mientras otros componentes / dispositivos están conectados a mi Uno?

19

Quería hacer un circuito bastante simple que parpadeara una serie de LED en secuencia, usando mi Arduino Uno (más específicamente, un clon SainSmart). Escribí mi boceto y lo compilé bien. Después de eso, conecté 8 resistencias LEDS + a los pines 0 a 7, y luego conecté el Uno a mi computadora a través de USB.

He subido bocetos con éxito en el pasado, así que estoy seguro de que mi configuración y controladores, etc. son correctos. Sin embargo, cuando intenté subir mi boceto esta vez, no funcionó.

Intenté eliminar todo lo que había conectado a los pines del Arduino, y de repente la carga funcionó nuevamente.

¿Por qué pasó esto? ¿Significa que tengo que desconectar todo del tablero cada vez que subo un boceto?

Peter Bloomfield
fuente

Respuestas:

22

El problema es específicamente los pines 0 y 1. Aunque pueden usarse como pines digitales normales de E / S, también sirven como pines RX y TX para el puerto serie del Uno. La conexión USB (para cargar bocetos, etc.) se enruta internamente a los mismos pines. Desafortunadamente, eso significa que cualquier cosa conectada en los pines 0 y 1 puede interferir con la conexión en serie, evitando la comunicación a través de USB.

En resumen, no es necesario desconectar todo al cargar un boceto. Solo debería ser necesario desconectar cualquier cosa de los pines 0 y 1. En lugar de pasar por esa molestia cada vez que se carga un boceto, puede ser mejor evitar usar esos pines a menos que sea necesario (por ejemplo, se queda sin otros pines, o su proyecto necesita una conexión en serie a otro dispositivo).

Peter Bloomfield
fuente
2
Buena manera de enseñar a la comunidad.
JVarhol
2
Dado que el Arduino también está programado por SPI, que reside en los pines 10-13, también es posible evitar que se cargue en estos pines
TheDoctor
1
¡Preguntas y respuestas bien escritas! Me encantaría ver más publicaciones de este tipo :)
asheeshr
3
@TheDoctor - ¡Incorrecto! Los pines SPI solo son relevantes si está utilizando un programador en el sistema. El mecanismo de programación del cargador de arranque no requiere los pines SPI en absoluto . A menos que esté conectando una herramienta de programación de hardware separada, esto no es algo de lo que deba preocuparse .
Connor Wolf
0

"Peter R. Bloomfield" Solía ​​cargar bocetos en mi arduino uno conectando el pin Rx y Tx, pero mi boceto se cargaba. En realidad, el problema es que el controlador Arduino Uno puede eliminarse en su caso

Uttam
fuente
1
Esto fue pensado como una pregunta de referencia. La misma persona preguntó y respondió la pregunta. Dudo que su problema sea que el controlador fue eliminado.
Nick Gammon