이 프로젝트에서는 LCD 화면에 시간과 날짜를 표시하는 방법을 살펴봅니다. 이 프로젝트는 알람 시계나 단순한 시계를 만드는 데 매우 유용할 수 있습니다. 아두이노 보드에 배터리를 추가하고 3D 프린터로 상자를 인쇄하기만 하면 실제 독립형 시계를 만들 수 있습니다. 난이도 : 필요한 자료 이제 프로젝트에 필요한 하드웨어를 살펴보겠습니다:아두이노 우노 보드16×2 액정 LCD 화면전위차계220 옴 저항기연결 전선 (약 15개!) 아두이노 시계 다이어그램 포텐셔미터의 용도는 무엇인가요? 전위차계는 화면 밝기를 조정하는 데 사용됩니다. 전위차계 없이도 5V를 갈색 선에 직접 연결하고 전위차계에서 화면으로 연결되는 GND를 아두이노 보드에 직접 연결할 수 있습니다. 프로그램 #include <LiquidCrystal.h> // Library for LCD Screen int time_date[6] = {10, 34, 18, 18, 10, 2022}; //second minute hour day month year int limits[6] = {60, 60, 24, 31, 12, 3000}; // increment limits LiquidCrystal lcd(12, 11, 5, 4, 3, 2); // Initialize the library with the connected pins void setup() { lcd.begin(16, 2); // Initialize the LCD with its dimensions } void loop() { time_date[0]++; // time increment for (int i = 0; i < 6 ; i++){ if (time_date[i] == limits[i]) { // check limit overflow if (i<5) {time_date[i+1]++;} time_date[i] = 0; } } lcd.setCursor(0,0); // Position cursor on first line for (int j = 3; j < 5; j++) { // display date if (time_date[j]<10){ lcd.print("0"); lcd.print(time_date[j]); } else {lcd.print(time_date[j]);} lcd.print("/"); } lcd.print(time_date[5]); lcd.setCursor(0,1); // Position cursor on second line for (int j = 2; j >= 0; j--) { // display time if (time_date[j]<10) { lcd.print("0"); lcd.print(time_date[j]); }else {lcd.print(time_date[j]);} if (j != 0){ lcd.print(":"); } } delay(250); } 프로그램에서 시간과 날짜를 변경하세요! 이미지에서 볼 수 있듯이 시작 날짜와 시간은 고정되어 있으며 반드시 올바른 날짜에 맞춰져 있는 것은 아닙니다. 따라서 프로그램에서 이 날짜를 직접 변경할 수 있습니다.변경할 라인은 다음과 같습니다: int time_date[6] = {10, 34, 18, 18, 10, 2022}; //second, minute, hour, day, month, year 아두이노가 꺼져 있을 때 현재 시간을 유지하려면 어떻게 해야 하나요? 보시다시피 아두이노 보드의 전원이 꺼지면 시계와 날짜가 계속 업데이트되지 않습니다. 예를 들어 시계를 만드는 경우 이는 성가신 일이 될 수 있습니다. 이 문제를 해결하려면 아두이노 보드의 전원 공급 장치와 독립적인 배터리 덕분에 아두이노 보드가 꺼져 있어도 시간을 계산하는 rtc 클록 모듈(예: DS3231)을 프로젝트에 추가할 수 있습니다. 시뮬레이션