Digitální hodinový obvod využívající LCD displej 16 × 2

Vyzkoušejte Náš Nástroj Pro Odstranění Problémů





Příspěvek vysvětluje, jak vyrobit jednoduché digitální hodiny pomocí Arduina a LCD displeje 16 x 2.

Úvod

Jako nadšenec elektroniky ve fázi by nás napadlo, jak si vyrobit digitální hodiny, zejména kdo se zajímá o oblast digitální elektroniky. V tomto článku se podíváme na to, jak vyrobit digitální hodiny a design je tak jednoduchý, že noob v Arduinu dokáže projekt uskutečnit bez bolesti hlavy.



Tyto digitální hodiny mají jen dvě hlavní součásti, Arduino a LCD displej . Arduino je mozek hodin, který provádí matematické a logické funkce k aktualizaci hodin každou sekundu.

Prototypový obrázek:

drátové spojení mezi LCD a Arduino

LCD obrazovka je standardní 16kolíkový displej s rozhraním. Má 16 řádků a 2 sloupce, to znamená, že může zobrazit 16 znaků ASCII v řádku a má dva sloupce, a proto se nazývá 16x2 displej.



Drátové připojení mezi LCD a Arduino je standardní a podobný druh připojení najdeme ve většině ostatních projektů založených na Arduino-LCD.

Potenciometr slouží k nastavení kontrastu displeje.

Uživatel to musí nastavit optimálně, aby uživatel mohl správně zobrazit zobrazené číslice / znaky za všech světelných situací.

K dispozici je podsvícení, které uživateli umožňuje vidět displej za tmy. Arduino může být napájeno externě z DC jacku od 7 voltů do 12 voltů.

Kruhový diagram:

potenciometr slouží k nastavení kontrastu displeje.

KÓD PROGRAMU ARDUINO:

// -------- Program vyvinutý 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-------//

POZNÁMKA: Výše ​​uvedený program je ověřený a bez chyb. V případě, že dostanete varování nebo chybu, přidejte prosím knihovnu LiquidCrystal ručně.

Nastavení času:

K dispozici jsou dvě tlačítka, jedno pro nastavení hodin a druhé pro nastavení minut. Stisknutím kteréhokoli z nich zvýšíte odpovídající číslice. Pro nastavení hodin stiskněte tlačítko hodin, dokud se nezobrazí správný čas, podobně jako pro minuty.

POZNÁMKA:

· Při nastavování času držte tlačítko stisknuté, dokud nedosáhne požadovaný čas. Krátké stisknutí tlačítka nemusí čas změnit.

· Každá číslice se zvýší pouze vteřinu za vteřinou, protože celá smyčka programu se zpozdila o 1 sekundu.

· Číslice sekund se pohybují od 01 do 60 a znovu se smyčkují a nezobrazí „00“ jako tradiční digitální hodiny.




Předchozí: Solární invertor pro 1,5 tunovou klimatizaci Další: Jednoduchý obvod generátoru větrných turbín se svislou osou