Para mostrar la hora del PC en una pantalla LCD conectada a tu Arduino, puedes hacer uso de una pantalla LCD 16×2 (usando el controlador I2C para simplificar la conexión). El código de Arduino puede leer los datos que le envía el PC a través del puerto serial y luego mostrar la hora en el LCD.
A continuación te muestro el código para Arduino y el de Python, además de los detalles sobre cómo conectar la pantalla LCD.
Conexiones:
- LCD 16×2 con I2C:
- Conecta el VCC de la pantalla al 5V de Arduino.
- Conecta el GND al GND de Arduino.
- SDA al pin A4 de Arduino (en un Arduino UNO).
- SCL al pin A5 de Arduino (en un Arduino UNO).
Código para Arduino:
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
// Inicializa la pantalla LCD (dirección 0x27 es común para pantallas I2C)
LiquidCrystal_I2C lcd(0x27, 16, 2);
void setup() {
// Inicia la comunicación serial
Serial.begin(9600);
while (!Serial); // Esperar que se inicie el puerto serial
// Inicia la pantalla LCD
lcd.begin(16, 2);
lcd.backlight(); // Enciende la luz de fondo
}
void loop() {
// Comprobar si hay datos disponibles en el puerto serial
if (Serial.available() > 0) {
// Leer la hora enviada desde el PC
String timeData = Serial.readString();
// Limpiar la pantalla antes de mostrar la nueva hora
lcd.clear();
// Mostrar la hora en la pantalla LCD
lcd.setCursor(0, 0); // Establecer el cursor en la primera fila
lcd.print("Hora: ");
lcd.print(timeData); // Imprimir la hora
delay(1000); // Esperar 1 segundo antes de mostrar la siguiente hora
}
}
Código para PC (en Python):
import serial
import time
# Configura el puerto serial (ajusta el puerto y la velocidad según tu configuración)
arduino = serial.Serial('COM3', 9600) # 'COM3' es un ejemplo, reemplázalo por el puerto correcto
time.sleep(2) # Espera a que el Arduino se inicialice
while True:
# Obtener la hora del sistema
current_time = time.strftime("%H:%M:%S") # Formato de hora: HH:MM:SS
# Enviar la hora al Arduino
arduino.write(current_time.encode())
time.sleep(1) # Enviar la hora cada segundo
Pasos:
- Conecta la pantalla LCD al Arduino utilizando el bus I2C.
- Carga el código en el Arduino.
- Ejecuta el script de Python en tu PC.
- El Arduino recibirá la hora desde el PC y la mostrará en la pantalla LCD.
Deja una respuesta