Obwód zegara cyfrowego wykorzystujący wyświetlacz LCD 16 × 2

Wypróbuj Nasz Instrument Do Eliminowania Problemów





W poście wyjaśniono, jak zrobić prosty zegar cyfrowy za pomocą Arduino i wyświetlacza LCD 16 x 2.

Wprowadzenie

Jako pasjonaci elektroniki na pewnym etapie zastanawialibyśmy się, jak zrobić zegar cyfrowy, zwłaszcza jeśli interesują się dziedziną elektroniki cyfrowej. W tym artykule zobaczymy, jak zrobić zegar cyfrowy, a projekt jest tak prosty, że noob w Arduino może wykonać projekt bez bólu głowy.



Ten zegar cyfrowy ma tylko dwa główne komponenty, Arduino i wyświetlacz LCD . Arduino jest mózgiem zegara, który wykonuje funkcje matematyczne i logiczne w celu aktualizacji zegara co sekundę.

Obraz prototypowy:

połączenie przewodowe między LCD a Arduino

Ekran LCD to standardowy 16-pinowy wyświetlacz z interfejsem. Ma 16 wierszy i 2 kolumny, co oznacza, że ​​może wyświetlać 16 znaków ASCII w jednym rzędzie oraz ma dwie kolumny i dlatego nazywa się go wyświetlaczem 16x2.



Połączenie przewodowe między wyświetlaczem LCD a Arduino jest standardowe i podobne połączenia możemy znaleźć w większości innych projektów opartych na Arduino-LCD.

Potencjometr służy do regulacji kontrastu wyświetlacza.

Użytkownik musi ustawić to optymalnie, aby użytkownik mógł prawidłowo widzieć wyświetlane cyfry / znaki we wszystkich sytuacjach oświetleniowych.

Jest podświetlenie, które umożliwia użytkownikowi obserwację wyświetlacza w ciemności. Arduino może być zasilane zewnętrznie z gniazda DC od 7 V do 12 V.

Schemat obwodu:

potencjometr służy do regulacji kontrastu wyświetlacza.

KOD PROGRAMU ARDUINO:

// -------- Program opracowany przez R.GIRISH ------- //
#include
LiquidCrystal lcd(12,11,5,4,3,2)
int h=12
int m
int s
int flag
int TIME
const int hs=8
const int ms=9
int state1
int state2
void setup()
{
lcd.begin(16,2)
}
void loop()
{
lcd.setCursor(0,0)
s=s+1
lcd.print('TIME:' )
lcd.print(h)
lcd.print(':')
lcd.print(m)
lcd.print(':')
lcd.print(s)
if(flag<12) lcd.print(' AM')
if(flag==12) lcd.print(' PM')
if(flag>12) lcd.print(' PM')
if(flag==24) flag=0
delay(1000)
lcd.clear()
if(s==60) {
s=0
m=m+1
}
if(m==60)
{
m=0
h=h+1
flag=flag+1
}
if(h==13)
{
h=1
}
lcd.setCursor(0,1)
lcd.print('HAVE A NICE DAY')
//-----------Time setting----------//
state1=digitalRead(hs)
if(state1==1)
{
h=h+1
flag=flag+1
if(flag<12) lcd.print(' AM')
if(flag==12) lcd.print(' PM')
if(flag>12) lcd.print(' PM')
if(flag==24) flag=0
if(h==13) h=1
}
state2=digitalRead(ms)
if(state2==1) {
s=0
m=m+1
}
}
//-------- Program developed by R.GIRISH-------//

UWAGA: Powyższy program jest zweryfikowany i wolny od błędów. W przypadku pojawienia się ostrzeżenia lub błędu, dodaj ręcznie bibliotekę LiquidCrystal.

Ustawienie czasu:

Są dwa przyciski, jeden do ustawiania godzin, a drugi do ustawiania minut. Naciśnięcie jednej z nich zwiększy odpowiednie cyfry. Aby ustawić godziny, naciskaj przycisk h, aż wyświetli się właściwy czas, podobnie dla minut.

UWAGA:

· Podczas ustawiania czasu przytrzymaj wciśnięty przycisk, aż do osiągnięcia żądanego czasu. Krótkie naciśnięcie przycisku może nie zmienić godziny.

· Każda cyfra jest zwiększana tylko z sekundą po sekundzie, ponieważ cała pętla programu jest opóźniona o 1 sekundę.

· Cyfra sekundy przechodzi od 01 do 60 i ponownie zapętla się i nie wyświetla „00”, jak robi to tradycyjny zegar cyfrowy.




Poprzedni: Inwerter solarny do klimatyzatora 1,5 tony Dalej: Prosty obwód generatora turbiny wiatrowej osi pionowej