Construí un Arduino independiente y cargué bocetos a través de este método Desde Arduino a un microcontrolador en una placa de pruebas . Me gustaría conectar un LED a través de TX como en la placa Arduino, así que simplemente lo conecté al pin TX con una resistencia conectada a tierra. Y funciona en un boceto en el que simplemente estoy enviando datos en serie a una velocidad de 9200 baudios. Los LED de Arduino TX y ATmega TX parpadean correctamente.
Sin embargo, mi aplicación involucra una tasa de baudios de 19200, pero cuando cargo este boceto, el pin TX en mi ATmega permanece encendido constantemente, incluso si no se envían datos en serie. Lo que es aún más interesante es que el LED Arduino TX parpadea correctamente para el mismo boceto. ¿Alguien puede ayudar?
Advertencia: aunque el OP aceptó mi respuesta como la mejor, se publicó otra respuesta mejor después de eso, que es posible que desee leer antes de leer la mía. Como señaló Chetan Bhargava, mi solución puede consumir demasiada corriente para impulsar los LED de las líneas en serie.
A continuación se muestra parte del esquema de un convertidor de RS232 a UART que hice. En él, conecté LEDs (y sus respectivas resistencias limitadoras en serie) de las líneas RX y TX a la línea Vcc, tal como podrías conectar el tuyo . Conecte los ánodos a Vcc y los cátodos a las líneas TX/RX, con la resistencia limitadora de corriente en serie (ya sea antes o después del LED).
Los LED deben estar conectados a Vcc y no a tierra porque las líneas UART (es decir, la interfaz serial ATmega) están inactivas en ALTO, es decir, permanecen en niveles de Vcc cuando no se transmite nada.
Sin embargo, tenga en cuenta lo que dijo gbulmer en sus comentarios:
... es posible que a altas velocidades de transmisión, o cables largos (u otras cosas con señales de transmisión reducidas) las comunicaciones comiencen a ser poco confiables porque los LED ejercen una carga adicional en la conexión. Es posible que desee considerar controlar los LED indirectamente con un MOSFET o un transistor Darlington.
No he tenido problemas con esos LED conectados a las líneas seriales hasta 78600 baudios, pero podrías hacerlo si vas más rápido.
Si estaba interesado en conectar indicadores LED como retroalimentación en el programador de su ISP, podría hacer lo siguiente. El boceto ArduinoISP (firmware) ya maneja tres LED indicadores:
Estos indicadores funcionan perfectamente con el boceto ArduinoISP.
Para cablear estos LED, use el siguiente esquema:
El esquema es para un Arduino Shield que hice para programar ATmegas y ATtinies, para usar con el boceto ArduinoISP. Espero que esto ayude.
Si realmente desea conectar LED a las líneas de transmisión, responda las preguntas que publiqué como comentarios, luego actualizaré mi respuesta.
En general, no es una buena idea extraer mucha corriente de sus líneas Rx y Tx para impulsar los LED. El consumo de corriente adicional puede reducir su Fan-out a su objetivo.
Para evitar el consumo de corriente adicional de sus líneas, puede usar un OpAmp dual como LM358D para controlar esos LED.
La alta impedancia de las entradas OpAmp no extraerá mucha corriente de sus líneas Tx y Rx y preservará la distribución en las líneas.
Simulé este esquema en LTSPICE y lo verifiqué físicamente con LM324 (TI) en una placa de pruebas. Lo siento, no tenía un LM358D a mano, pero funcionan de manera similar.
Editar: gracias a los punteros de arudino.tyro. Pude probar el nuevo esquema con LM358D. El esquema antiguo está aquí: http://i.stack.imgur.com/GHauy.png
No puedo imaginar que el circuito publicado por Chetan Bhargava funcione correctamente, ya que cuando lo simulo, el LED es como lo señala arudino.tyro en un comentario constantemente. Además, el comportamiento es diferente en comparación con el circuito simple de resistencia más LED propuesto por Ricardo .
UART es ALTO cuando está INACTIVO, por lo que debe encender el LED cuando el bus está BAJO. Es posible que espere ver algunos parpadeos con el "circuito incorrecto", cuando una transmisión está en curso, porque el LED aún está activado, ¿verdad? Sin embargo, creo que esto es demasiado rápido, que puedes verlo con tus ojos (por ejemplo, 9600 kHz).
Mi propuesta para resolver este problema es el siguiente circuito. Es básicamente un seguidor de voltaje (amperaje no inversor con una ganancia de 1), pero la salida está conectada al circuito LED, que está conectado a 5 V. Esto da como resultado que la corriente fluya a través de la lámpara una vez que la entrada es negativa. .
De acuerdo con LTSpice, la corriente solo fluye a través del LED cuando hay una transmisión en curso (usted ve esto como un "estado ENCENDIDO más largo" cuando las transmisiones están en curso). Si hay una pequeña pausa entre un par de transmisiones, verá un parpadeo (el LED se apaga).
ricardo
ricardo
gbulmer
ZackB
ZackB
ZackB
gbulmer
ZackB
gbulmer
ZackB
gbulmer