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:

  1. Conecta la pantalla LCD al Arduino utilizando el bus I2C.
  2. Carga el código en el Arduino.
  3. Ejecuta el script de Python en tu PC.
  4. El Arduino recibirá la hora desde el PC y la mostrará en la pantalla LCD.

Comentarios

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *