Jak zrobić zegar cyfrowy za pomocą Arduino Uno

Jak zrobić zegar cyfrowy za pomocą Arduino Uno
Rady Arduino mogą być używane do tworzenia różnych projektów zrób to sam i pomocy dla początkujących dowiedzieć się więcej o obwodach. Podobnie tworzenie takich projektów korzystających z Arduino zapewnia również lepsze zrozumienie pracy małych urządzeń codziennych. W tym dyskursie pokazano niewielki projekt tworzenia cyfrowego zegara za pomocą Arduino.

Jak zaprojektować zegar cyfrowy za pomocą Arduino

W przeszłości, aby obliczyć czas, w którym użyto zegarów analogowych, które miały tarczy o liczbach od 1 do 12. Ale teraz cyfrowe zegary są najczęściej używane, ponieważ mają kompaktowe rozmiary, dokładniejsze i mniej zużywające energię. Aby zrozumieć działanie zegara cyfrowego, stworzyliśmy zegar cyfrowy za pomocą Arduino Uno.

Podano program Arduino opracowany dla zegara cyfrowego, a następnie schemat budowy zegara cyfrowego za pomocą Arduino:

Wdrożenie sprzętowe

Są to komponenty, których użyliśmy do projektowania prostego zegara za pomocą Arduino

  • Przewody zworki
  • Jeden potencjometr o wartości 10k
  • 16 × 2 Wyświetlacz ciekłokrystaliczny (LCD)
  • Dwa przyciski naciśnięcia

Do montażu obwodu użyliśmy BreaBroad, przez które wszystkie komponenty są ze sobą połączone. Ponadto podaliśmy poniższy rysunek, który dodatkowo usuwa połączenie komponentów:

Kod Arduino do projektowania zegara cyfrowego za pomocą Arduino Uno

Kod Arduino opracowany do tworzenia zegara cyfrowego jest podana jako

#include // biblioteka dla LCD
Płyncrystal LCD (7, 6, 5, 4, 3, 2); // szpilki Arduino dla LCD
// inicjowanie zmiennych
int hrs = 12; // godziny
int mins = 0; // minuty
int sec = 0; // sekundy
int time = 0; // zmienna do sprawdzania czasu
const int bhrs = a4; // przycisk Ustawienie godzin
const int bmins = a5; // Piń przyciskowy do ustawiania minut
int State1 = 0; // Zmienna do przechowywania przycisku stanu godziny
int State2 = 0; // zmienna do przechowywania stanu minuty przycisku
void Setup ()

LCD.Rozpocznij (16, 2); // Inicjowanie wymiarów LCD
// Tryb dla przycisków
pinmode (BHRS, input_pullup);
pinmode (Bmins, input_pullup);

Void Loop ()

LCD.setCursor (0, 0);
sec = sec + 1;
// Wyświetlanie czasu
LCD.druk („czas:”);
LCD.wydruku (HRS);
LCD.wydrukować(":");
LCD.druk (mins);
LCD.wydrukować(":");
LCD.druk (s);
// sprawdzanie AM i PM, ponieważ status zmienia się po 12o'cock
if (czas 12) LCD.druk („PM”);
if (czas == 24) czas = 0;
opóźnienie (800);
LCD.jasne();
Jeśli (sec == 60) / * sekundy jest równe 60, to ponownie zacznij od zera i dodaj przyrost jednego w wartości minuty * /

sec = 0;
mins = mins + 1;

if (mins == 60)

/ * Jeśli minuta jest równa 60, to ponownie zacznij od zera i dodaj przyrost jednego na godzinę */
mins = 0;
HRS = HRS + 1;
Czas = czas + 1;

/* Jeśli wartość godziny wynosi 13, to zastąp jej wartość od 13 do 1, aby zmienić ją na 12 -godzinny format*/
if (HRS == 13)

HRS = 1;

LCD.setCursor (0, 1);
LCD.druk („prosty zegar”);
// Przeczytaj stan przycisku przez wiele godzin
State1 = DigitalRead (BHRS);
/* Jeśli stan przycisku jest niski, to dodaj jeden na godzinę i wyświetl czas*/
if (State1 == 0)

HRS = HRS + 1;
Czas = czas + 1;
if (czas 12) LCD.druk („PM”);
if (czas == 24) czas = 0;
if (HRS == 13)
HRS = 1;

// Przeczytaj stan przycisku przez wiele godzin
State2 = DigitalRead (Bmin);
/* Jeśli stan przycisku jest niski, to dodaj jeden w wartości minuty i wyświetl czas*/
if (State2 == 0)

sec = 0;
mins = mins + 1;

W kodzie Arduino najpierw zdefiniowaliśmy bibliotekę modułu wyświetlacza, a szpilki Arduino są przypisane do LCD. Następnie zadeklarowaliśmy oddzielne zmienne przez wiele godzin, minut i sekund. Również zmienne dla przycisków są zadeklarowane pinem, z którym się połączą. Podobnie istnieją dwie zmienne dla stanu przycisków i jedna zmienna dla sprawdzania czasu.

W funkcji konfiguracji tryb do przycisków jest input_pullup, a wymiary LCD są inicjowane.

Wchodząc do funkcji pętli najpierw format, w którym wyświetlany jest wyświetlany zegar, jest wydrukowany na LCD, wówczas zmienna czasowa jest używana do ustalenia, czy jest to AM, czy PM. Ponieważ status AM i PM zmienia się po godzinie 12, więc warunki IF zostaną odpowiednio wprowadzone.

Jak wiemy, że jest tylko 60 minut na godzinę i 60 sekund w ciągu jednej minuty, więc za każdym razem, gdy wartość sekund osiągnie 60.

W ostatnim funkcje przycisków naciśniętych używane do ustawienia czas są zdefiniowane po naciśnięciu przycisku godzinowego, zmieni wartość godziny. Podobnie po naciśnięciu przycisku minuty zmieni wartość minuty.

Prosta symulacja zegara arduino uno

Aby zademonstrować działanie zegara cyfrowego, stworzyliśmy symulację, którą można zobaczyć na poniższym rysunku

Prosta demonstracja sprzętowa zegarowego Arduino Uno

Figurka dla rzeczywistej wyjścia sprzętowego dla obwodu, aby wykonać zegar cyfrowy, podano poniżej:

Wniosek

Cyfrowe zegary są zaawansowaną formą analogowych zegarów, które są bardziej precyzyjne i mniej zużywające moc. Podobnie, zegary te mają w nich moduły wyświetlane, na których czas jest wyświetlany w postaci liczb lub cyfr. Aby zrozumieć projekt i działanie zegara cyfrowego, stworzyliśmy zegar cyfrowy za pomocą Arduino Uno.