Пост објашњава како направити једноставан дигитални сат помоћу Ардуина и ЛЦД екрана 16 к 2.
Увод
Као заљубљеници у електронику у фази бисмо размишљали како направити дигитални сат, посебно оне који су заинтересовани за област дигиталне електронике. У овом чланку ћемо видети како направити дигитални сат, а дизајн је толико једноставан да нооб у Ардуину може да реализује пројекат без икаквих главобоља.
Овај дигитални сат има само две главне компоненте, Ардуино и ЛЦД дисплеј . Ардуино је мозак сата који врши математичке и логичке функције за ажурирање сата сваке секунде.
Слика прототипа:
ЛЦД екран је стандардни дисплеј са 16 пина. Има 16 редова и 2 колоне, што значи да може да прикаже 16 АСЦИИ карактера у низу и има две колоне и зато се назива приказ 16к2.
Жичана веза између ЛЦД-а и Ардуина је стандардна и сличне врсте веза можемо наћи у већини других пројеката заснованих на Ардуино-ЛЦД-у.
Потенциометар се користи за подешавање контраста екрана.
Корисник ово мора да подеси оптимално да би могао правилно да приказује приказане цифре / знакове у свим светлосним ситуацијама.
Постоји позадинско осветљење које омогућава кориснику да види екран током мрачне ситуације. Ардуино се може напајати споља из ДЦ прикључка од 7 до 12 волти.
Шема кола:
АРДУИНО КОД ПРОГРАМА:
// -------- Програм развио Р.ГИРИСХ ------- // #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-------//
НАПОМЕНА: Горњи програм је верификован и без грешака. У случају да добијете упозорење или грешку, додајте библиотеку ЛикуидЦристал ручно.
Подешавање времена:
Постоје два тастера један за подешавање сати и други за подешавање минута. Притиском на било који од њих повећаће се одговарајуће цифре. За подешавање сати притисните тастер хрс док се не прикаже тачно време, слично минутама.
БЕЛЕШКА:
· Док подешавате време, држите притиснуто дугме док не достигне жељено време. Кратко притискање дугмета можда неће променити време.
· Свака цифра се повећава само секунду за секундом, јер је цела петља програма одложена за 1 секунду.
· Знак секунде се креће од 01 до 60 и поново се петља и неће приказивати „00“ као традиционални дигитални сат.
Претходни: Соларни претварач за клима уређај од 1,5 тоне Следеће: Једноставни круг генератора ветрогенератора вертикалне осе