Trong dự án này, chúng ta sẽ xem cách hiển thị thời gian và ngày tháng trên màn hình LCD. Dự án này có thể rất hữu ích để làm đồng hồ báo thức hoặc chỉ là đồng hồ. Bạn chỉ cần thêm pin vào bo mạch Arduino và in vỏ máy trên máy in 3D để có một chiếc đồng hồ độc lập thực sự.

Khó khăn:

Thiết bị cần thiết

Bây giờ chúng ta hãy xem xét các vật liệu cần thiết cho dự án:

Bo mạch Arduino Uno
Màn hình tinh thể lỏng (LCD) 16×2
Một biến trở
Điện trở 220 ohm
Dây nối (khoảng mười lăm!)

Sơ đồ đồng hồ Arduino

Schéma horloge Arduino

Biến trở được sử dụng để làm gì?

Biến trở được sử dụng để điều chỉnh độ sáng của màn hình. Bạn có thể làm mà không cần nó bằng cách kết nối 5V trực tiếp với dây màu nâu và GND đi từ biến trở đến màn hình, bạn có thể kết nối nó trực tiếp với bo mạch Arduino.

Chương trình đồng hồ Arduino

#include <LiquidCrystal.h> 

int heure_date[6] = {10,34,18,18,10,2022}; 
int mod[6] = {60,60,24,31,12,3000}; 
LiquidCrystal lcd(12, 11, 5, 4, 3, 2); 

void setup() {
  lcd.begin(16, 2); 
}

void loop() {
  heure_date[0]++;
    for (int i = 0; i < 6 ; i++){
      if (heure_date[i] == mod[i]) { 
        if (i<5) {heure_date[i+1] ++;}
        heure_date[i] = 0;
      }
    }
    lcd.setCursor(0,0); 
    for (int j = 3; j < 5; j++) { 
      if (heure_date[j]<10){
        lcd.print("0");
        lcd.print(heure_date[j]);
      }
        else {lcd.print(heure_date[j]);}
      lcd.print("/");    
    }
    lcd.print(heure_date[5]); 
    lcd.setCursor(0,1); 
    for (int j = 2; j >= 0; j--) { 
      if (heure_date[j]<10)
      {
        lcd.print ("0");
        lcd.print(heure_date[j]);
      }else {lcd.print(heure_date[j]);}
      if (j != 0){
        lcd.print(":"); 
      }   
    }
    delay(250);
}
 

Thay đổi thời gian và ngày tháng trong chương trình!

Như bạn có thể thấy trong hình, thời gian và ngày khởi hành là cố định và có thể không nhất thiết phải là ngày chính xác. Do đó, bạn có thể tự thay đổi ngày này trong chương trình.

Đây là dòng cần sửa đổi:

int heure_date[6] = {10,34,18,18,10,2022}; //phút thứ hai giờ ngày tháng năm

Làm thế nào để giữ thời gian hiện tại khi Arduino tắt?

Như bạn thấy, đồng hồ và ngày không tiếp tục cập nhật sau khi bo mạch Arduino tắt. Điều này có thể gây khó chịu nếu bạn đang tạo đồng hồ chẳng hạn. Để giải quyết vấn đề này, bạn có thể thêm mô-đun đồng hồ RTC (như DS3231) vào dự án, mô-đun này sẽ tính toán thời gian ngay cả khi bo mạch Arduino tắt nhờ vào pin độc lập với nguồn điện của bo mạch Arduino.

Mô phỏng đồng hồ Arduino

Sau đây là mô phỏng của dự án: