Estoy tratando de enviar datos a través de una serie desde un Arduino de 3.3v a un Arduino de 5v. Supongo que no puedo simplemente conectar el tx de 3.3v al rx de 5v porque, cuando programo el de 5v, asumo que enviará señales de 5v al pin tx de Arduino de 3.3v, lo que podría dañarlo.
No quiero usar Software Serial porque quiero aprovechar el búfer UART del hardware de Arduino.
Si uso un diodo, me preocupa que la caída de voltaje provoque que Arduino rx no capte la señal de 3.3v (he oído que >=3v se registra como alto). Escuché que los diodos Schottky tienen una caída de voltaje baja, ¿puedo usar uno de esos con una caída nominal de <0.3v? ¿O hay una mejor manera de solucionar este problema?
Parece que necesita los 3,3 V almacenados en búfer hasta 5 V, pero también necesita desconectarlos de la otra fuente de programación de TX para no interferir con la programación a través de Serial.
Pruebe una puerta como 74AHCT125N (para un DIP) alimentada con 5V. Solo necesita 2V para un alto válido.
http://www.ti.com/lit/ds/symlink/sn74ahct125.pdf
Eso lo llevará de 3.3V a 5V, y el OE/ para cada puerta le permitirá desactivarlo durante la programación: suba el pin con una resistencia pullup de 10K o más, haga que Arduino lo baje con un pin de salida durante la configuración del boceto. () para habilitar la transferencia de datos en.
Vuelva a verificar sus especificaciones HW en ambos extremos. Muchos receptores serán tolerantes a los niveles de voltaje entrantes del siguiente nivel de voltaje "estándar", por ejemplo, muchos receptores de 1,5 V aceptarán señales de 1,8 V, 1,8 V aceptarán 2,5 V, 2,5 V aceptarán 3,3 V, etc. Si esa es la situación que usted estás dentro, no necesitas traductores de nivel. Además, si esa "tolerancia" de voltaje no se explica claramente, puede analizarla a partir de las especificaciones mínimas y máximas de V_IH, V_IL, V_OH y V_OL de los dos dispositivos.
Hogar
Seda