Цифрова верига за часовник, използваща 16 × 2 LCD дисплей

Опитайте Нашия Инструмент За Премахване На Проблемите





Постът обяснява как да направите обикновен цифров часовник с помощта на Arduino и 16 x 2 LCD дисплей.

Въведение

Като ентусиаст по електроника на даден етап бихме си помислили как да направим цифров часовник, особено които се интересуват от областта на цифровата електроника. В тази статия ще видим как да направим цифров часовник и дизайнът е толкова прост, че noob в Arduino може да изпълни проекта, без да го боли главата.



Този цифров часовник има само два основни компонента, Arduino и ЛСД дисплей . Arduino е мозъкът на часовника, който изпълнява математически и логически функции, за да актуализира часовника всяка секунда.

Прототипно изображение:

жична връзка между LCD и 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-тонен климатик Напред: Проста верига на генератор на вятърна турбина с вертикална ос