Направите овај 7-сегментни дигитални сат са кругом звучног упозорења

Испробајте Наш Инструмент За Елиминисање Проблема





У овом посту ћемо конструисати дигитални сат помоћу 7-сегментног ЛЕД екрана са Ардуино управљаним дизајном.

ОД СТРАНЕ:



Како кола раде

Предложени 7-сегментни круг часовника је јефтин, па чак и почетници у Ардуину то могу постићи с лакоћом. Овај сат се састоји од четири 7-сегментна екрана, два сата и два минута.

Екран је упарен са ИЦ 4026 који је дизајниран за вожњу 7-сегментних екрана. Сваким ИЦ 4026 управља Ардуино.



Овај сат има функцију звучног упозорења, која оглашава сваки почетак сата, дајући оквирну идеју о времену без гледања на сат. Овај сат нема функцију аларма.

Ардуино коду није потребна посебна библиотека за компајлирање програма. Сат има врло минималистички дизајн, само четири екрана и две ЛЕД диоде за индикатор АМ / ПМ и нема никаквих фенси функција осим звучног сигнала сваког сата.

Ауторски прототип:

Резултат теста 7-сегментног дигиталног сата

Ево завршеног прототипа који користи картон и отпадне материјале:

Дизајн:

Коло се састоји од четири ИЦ 4026 за контролу четири дисплеја од 7 сегмената и мозга часовника ардуино. Два отпорна отпора су повезана на пин за ресетовање ИЦ 4026 како би се избегло случајно ресетовање због статичког наелектрисања. АМ / ПМ индикатор повезан на ардуино у комбинацији са 330 омским отпорником за ограничавање струје.

Напомена: Отпорник од 220 охма до 330 охма треба повезати у сваки сегмент екрана.

7-сегментни дигитални сат са кругом упозорења звучним сигналом

Конфигурација пин-а ИЦ 4026:

Конфигурација пин-а ИЦ 4026

Звучни сигнал:

Звучни сигнал је само моностабилни мултивибратор дизајниран помоћу ИЦ555. Када се негативни импулс уведе на пин # 2 ИЦ555, он откуца приближно једну секунду. Ово звучно упозорење помаже кориснику да задржи грубу идеју о времену. Пин # 2 ИЦ555 треба да буде повезан са пин # 10 ардуина.

Коло зујалице ИЦ 555

Програмски код:

//---------Program developed by R.Girish---------------//
int mint=13
int hrs=11
int beep=10
int rst=8 // reset to mint ic.
int rsth=9 //reset to hrs ic.
int am=7
int pm=6
int y=0
int t=0
int x=0
void setup()
{
pinMode(beep,OUTPUT)
pinMode(hrs,OUTPUT)
pinMode(am,OUTPUT)
pinMode(pm,OUTPUT)
pinMode(mint,OUTPUT)
pinMode(rst,OUTPUT)
pinMode(rsth,OUTPUT)
}
void loop()
{
digitalWrite(beep,1)
digitalWrite(13,0)
delay(10000)
delay(10000)
delay(10000)
delay(10000)
delay(10000)
delay(10000)
digitalWrite(13,1)
t=t+1
if(t==60)
{
digitalWrite(rst,1)
digitalWrite(rst,0)
digitalWrite(hrs,1)
digitalWrite(hrs,0)
digitalWrite(beep,0)
digitalWrite(beep,1)
x=x+1
y=y+1
t=0
delay(2000) // error fixing (varies with temperature)
}
if(x==13) // display 1'O clock after 12'O clock.
{
digitalWrite(rsth,1)
digitalWrite(rsth,0)
digitalWrite(hrs,1)
digitalWrite(hrs,0)
x=1
}
if(y<12)
{
digitalWrite(am,1)
digitalWrite(pm,0)
}
if(y>=12)
{
digitalWrite(pm,1)
digitalWrite(am,0)
}
if(y==24) y=0
}
//---------Program developed by R.Girish---------------//

Како подесити време:

Будући да је врло минималистички дизајн, „тастер за ресетовање“ се може користити за подешавање времена. Али корисник мора да подеси време помоћу референтног сата. Корисник мора ресетовати ардуино тачно на 12’О сата. Једном када се то уради, сат самостално ажурира време.

Напомена: Будући да горе објашњени 7-сегментни дигитални сат који користи Ардуино нема „чип такта у реалном времену“, за одржавање тачног времена постоји могућност да време може водити / заостајати услед промене температуре околине.

Да бисте ово исправили, ево корака:

• Ако ваш сат води време референтног сата за неколико секунди, треба га успорити, забележите разлику и унесите вредност у програм за милисекунде.

делаи (2000) // исправљање грешака (варира у зависности од температуре) Ово ће успорити неколико секунди сваког сата.

• Замените 2000 својом вредношћу.

• Ако закасните са сатом, подесите „делаи (0) // фикинг еррор (варира у зависности од времена)“ и унесите следеће промене у програм:

delay(10000)
delay(10000)
delay(10000)
delay(10000)
delay(10000)
delay(10000)
to
delay(10000)
delay(10000)
delay(10000)
delay(10000)
delay(10000)
delay(9700)

Замените „делаи (9700)“ са вашом вредношћу да бисте убрзавали време сваког минута.

Ови кораци не гарантују да ће време увек бити тачно, али помажу у одржавању времена уз минималну нетачност. Предложени дизајн је сат од 12 сати.




Претходно: Круг индикатора пуног пуњења батерије помоћу два транзистора Следеће: Цорона Еффецт Генератор