I dette projekt ser vi på, hvordan man viser tid og dato på en LCD-skærm. Dette projekt kan være meget nyttigt til at lave et vækkeur eller bare et ur. Det eneste, du skal gøre, er at sætte batterier i Arduino-kortet og printe en kasse med en 3d-printer for at få et rigtigt, selvstændigt ur. Sværhedsgrad : Nødvendige materialer Vi vil nu se på den hardware, der kræves til projektet:Arduino Uno-boardEn 16×2 LCD-skærm med flydende krystallerEt potentiometerEn modstand på 220 ohmForbindelsesledninger (omkring femten!) Arduino ur-diagram Hvad er formålet med potentiometeret? Potentiometeret bruges til at justere skærmens lysstyrke. Du kan undvære det ved at tilslutte 5V direkte til den brune ledning, og GND, der går fra potentiometeret til skærmen, kan tilsluttes direkte til Arduino-kortet. Program #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); } Skift tid og dato i programmet! Som du kan se på billedet, er startdatoen og -tidspunktet fast og ligger ikke nødvendigvis på den rigtige dag. Du kan derfor selv ændre denne dato i programmet.Her er linjen, der skal ændres: int time_date[6] = {10, 34, 18, 18, 10, 2022}; //second, minute, hour, day, month, year Hvordan kan jeg beholde den aktuelle tid, når Arduino er slukket? Som du kan se, fortsætter uret og datoen ikke med at blive opdateret, når Arduino-kortet er blevet slukket. Det kan være irriterende, hvis man f.eks. er ved at lave et ur. For at løse dette problem kan du tilføje et rtc-urmodul til projektet (f.eks. DS3231), som beregner tiden, selv når Arduino-boardet er slukket, takket være et batteri, der er uafhængigt af Arduino-boardets strømforsyning. Simulering