Постът обяснява как да направите обикновен цифров часовник с помощта на Arduino и 16 x 2 LCD дисплей.
Въведение
Като ентусиаст по електроника на даден етап бихме си помислили как да направим цифров часовник, особено които се интересуват от областта на цифровата електроника. В тази статия ще видим как да направим цифров часовник и дизайнът е толкова прост, че noob в Arduino може да изпълни проекта, без да го боли главата.
Този цифров часовник има само два основни компонента, Arduino и ЛСД дисплей . Arduino е мозъкът на часовника, който изпълнява математически и логически функции, за да актуализира часовника всяка секунда.
Прототипно изображение:
LCD екранът е стандартен 16-пинов интерфейсен дисплей. Той има 16 реда и 2 колони, това означава, че може да показва 16 ASCII символа в ред и има две колони и затова се нарича 16x2 дисплей.
Кабелната връзка между LCD и Arduino е стандартна и можем да намерим подобен вид връзки в повечето други проекти, базирани на Arduino-LCD.
Потенциометърът се използва за регулиране на контраста на дисплея.
Потребителят трябва да настрои това оптимално, за да може потребителят да вижда правилно показаните цифри / символи при всякакви светлинни ситуации.
Има подсветка, която позволява на потребителя да вижда дисплея по време на тъмна ситуация. Arduino може да се захранва външно от DC жак от 7 волта до 12 волта.
Електрическа схема:
ПРОГРАМЕН КОД НА ARDUINO:
// -------- Програма, разработена от 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-------//
ЗАБЕЛЕЖКА: Горната програма е проверена и не съдържа грешки. В случай, че получите някакво предупреждение или грешка, моля, добавете библиотеката LiquidCrystal ръчно.
Настройка на времето:
Има два бутона за настройка на часове и друг за настройка за минути. Натискането на някоя от тях ще увеличи съответните цифри. За настройка на часовете натиснете бутона hrs, докато се покаже точното време, също за минути.
ЗАБЕЛЕЖКА:
· Докато настройвате времето, задръжте натиснат бутона, докато достигне желаното време. Натискането на бутона за кратко може да не промени времето.
· Всяка цифра се увеличава само секунда след секунда, това е така, защото целият цикъл на програмата се забавя за 1 секунда.
· Цифрата на секундите преминава от 01 до 60 и се завърта отново и няма да показва „00“, както прави традиционният цифров часовник.
Предишна: Слънчев инвертор за 1,5-тонен климатик Напред: Проста верига на генератор на вятърна турбина с вертикална ос