Cuando programa el Arduino, el microcontrolador de la placa debe reiniciarse para ingresar al cargador de arranque para que pueda cargar el nuevo software. Arduino, en su infinita sabiduría, decidió que esto debería hacerse automáticamente cada vez que se conecte al puerto serie. Hay formas mucho mejores de hacerlo, pero supongo que decidieron hacerlo con la primera placa Arduino antes de que realmente supieran lo que estaban haciendo (¿incluso ahora?) Y ahora están atrapados en eso. Personalmente, habría usado un chip USB > RS232 diferente desde el principio, uno que puede hacer más que solo comunicaciones en serie, como el MCP2200 que le brinda un CDC y un dispositivo HID en una, y 8 líneas GPIO que podría usar para desencadenar eventos en el tablero, como restablecer, programáticamente.
Sin embargo, estoy divagando. Soy consciente de que hay dos formas de solucionar el problema: una que daña la placa permanentemente y otra que es mucho más simple y agradable.
- La forma oficial es un mod permanente al tablero. No lo recomendaría de esta manera, hay una forma mucho más agradable (vea a continuación). Busque un pequeño enlace en el frente llamado RESET-EN y córtelo con un cuchillo muy afilado. Esto desconectará el chip serie del pin de reinicio y la placa nunca se reiniciará de nuevo. Sin embargo, esto romperá la capacidad de programar el tablero fácilmente. De ahora en adelante, deberá reiniciar manualmente la placa presionando el botón de reinicio en el momento adecuado para programarlo.
- Elmétodoqueusoesmuchomássimpleymenosdestructivo.Conecteuncondensadorde22uFentreRESETyGND(enelencabezadoPOWER).Deberádesconectarloparaprogramarlaplaca,peronoimplicaromperlaplacaenabsoluto.Simplementeenchúfeloentreesasdosconexionesenelcabezal,asegurándosedequeellado-delcondensadorsepongaatierra.Estofuncionaalmantenerlalíneadereiniciolosuficientementealtacomoparaevitarqueelchipsereinicie,inclusocuandoelchipUSBestábajo.Elinterruptordereiniciodeberíaseguirfuncionando,peroesposiblequedebamantenerlounpocomásdelonormal.
En una nota al margen, el ChipKIT ™ UNO32 ™ tiene el mismo problema: tenían que mantener esa funcionalidad para mantener la compatibilidad con otros productos y metodologías de Arduino. Sin embargo, han sido mucho más sensibles al respecto. Todavía tienen el pequeño enlace para cortar, pero en lugar de estar entre las almohadillas de una huella 0805, están entre los agujeros pasantes de un cabezal de 0.1 "de 2 pines. De esta manera, puede cortar el enlace e instalar un encabezado de puente normal. A partir de ese momento, puede habilitar y deshabilitar la función de restablecimiento simplemente instalando o quitando un puente.