Лед часовник на arduino nano. Ние правиме електронски часовник на Arduino со свои раце. Подготвен часовник на Ардуино

Фотографијата покажува прототип што го составив за да ја дебагирам програмата што ќе управува со целиот овој објект. Вториот ардуино нано во горниот десен агол на таблата за леб не припаѓа на проектот и се држи таму исто така, не треба да обрнувате внимание на тоа.

Малку за принципот на работа: Arduino зема податоци од тајмерот DS323, ги обработува, го одредува нивото на светлина со помош на фотоотпорник, потоа испраќа сè до MAX7219, а тој, пак, ги осветлува потребните сегменти со потребната осветленост. Исто така, користејќи три копчиња, можете да ги поставите годината, месецот, денот и времето по желба. На фотографијата, индикаторите прикажуваат време и температура, кои се земени од дигитален сензор за температура

Главната тешкотија во мојот случај е што индикаторите од 2,7 инчи имаат заедничка анода, и тие мораа, прво, некако да се дружат со max7219, кој е дизајниран за индикатори со заедничка катода, и второ, да го решат проблемот со нивната напојување, бидејќи им требаат 7,2 волти за сјај, што max7219 сам не може да го обезбеди. Откако побарав помош на еден форум, добив одговор.

Решението во скриншот:


На излезите на сегментите од max7219 е прикачен микроспој кој го превртува сигналот, а на секој излез е прикачено коло од три транзистори кои треба да се поврзат со заедничката катода на дисплејот, која исто така го инвертира неговиот сигнал и ја зголемува Напон. Така, добиваме можност да поврземе дисплеи со заедничка анода и напон на напојување од повеќе од 5 волти до макс7219

Поврзав еден индикатор за тестот, се работи, ништо не пуши

Да почнеме да собираме.

Решив да го поделам колото на 2 дела поради огромниот број џемпери во верзијата што беше разделена со моите криви шепи, каде што сè беше на една табла. Часовникот ќе се состои од единица за прикажување и единица за напојување и контрола. Беше решено прво да се собере второто. Ги молам естетите и искусните радио аматери да не се онесвестуваат поради суров третман на делови. Немам желба да купам печатач заради LUT, па го правам тоа на старомоден начин - вежбам на парче хартија, дупчам дупки според шаблон, цртам патеки со маркер, па гравувам.

Принципот на прикачување индикатори остана ист како и вклучен.

Ја означуваме позицијата на индикаторите и компонентите со помош на шаблон од плексиглас направен за погодност.

Процес на обележување







Потоа, користејќи шаблон, вежбаме дупки на вистинските места и ги пробуваме сите компоненти. Сè совршено се вклопуваше.

Ние цртаме патеки и еч.




капење во железен хлорид

Подготвени!
Контролна табла:


Индикативна табла:


Контролната табла се покажа одлично, патеката на таблата за прикажување не беше критично изедена, може да се поправи, време е за лемење. Овој пат ја изгубив невиноста SMD и вклучив компоненти 0805 во колото. Во најмала рака, првите отпорници и кондензатори беа залемени на своето место. Мислам дека ќе се подобрам во тоа, ќе биде полесно.
За лемење користев флукс што го купив. Лемењето со него е задоволство, сега користам алкохолен колофон само за калај.

Еве ги готовите табли. Контролната табла има седиште за Arduino nano, часовник, како и излези за поврзување со таблата на дисплејот и сензорите (фотоотпорник за автоматска осветленост и дигитален термометар ds18s20) и напојување со прилагодлив излезен напон (за големи седумсегментни уреди) и за напојување на часовникот и Arduino, на плочката за дисплеј има приклучоци за монтирање за дисплеи, приклучоци за max2719 и uln2003a, решение за напојување на четири големи седумсегментни уреди и еден куп џемпери.




Задна контролна табла

Задна табла за прикажување:

Страшна инсталација на smd:


Лансира

Откако ќе ги залемете сите кабли, копчиња и сензори, време е сето тоа да го вклучите. Првото лансирање откри неколку проблеми. Последниот голем индикатор не светеше, а остатокот светеше слабо. Со првиот проблем се справив со лемење на ногата на транзисторот SMD, а со вториот - со прилагодување на напонот произведен од lm317.
ЖИВО Е!

Еден од првите проекти што почетниците го градат со помош на табла Arduino е едноставен часовник што го задржува времето. Во основа, таквите часовници се засноваат на модул RTC (Real Time Clock) поврзан со Arduino. Денес на пазарот се достапни електронски компоненти различни модели RTC кои се разликуваат по точност и цена. Вообичаените модели вклучуваат DS1302, DS1307, DS3231.



Но, можете да направите часовник на Arduino без да користите RTC, особено ако не можете да добиете такви модули. Се разбира, точноста во овој случај ќе биде мала, така што проектот треба да се смета како проект за обука.


Принципот на работа на таквите часовници е прилично едноставен. Секој пат кога ќе го вклучите овој часовник Arduino, ќе треба да го поставите на тековното време, исто како и секој аналоген часовник. Сигурно е подобро да не користите такви часовници во вашите Секојдневниот животсо нивната активност долго време без рестартирање и понатамошна конфигурација, бидејќи десинхронизацијата со тековното време за време на долгорочно работење може да биде значајна.


Овој часовник може да се состави на обична табла за леб, бидејќи не бара многу компоненти. Нашата главна врска овде ќе биде плочката Arduino Uno. За да го прикажете времето, можете да земете 16x2 LCD дисплеј. За да ги промените поставките за времето, треба да поврзете две копчиња (за часови и минути). Копчињата се поврзани со Aduino преку отпорници од 10KΩ. За да ја промените осветленоста на екранот, потребен ви е потенциометар од 10 kOhm. Дијаграмот за поврзување на сите овие компоненти со плочката Arduino Uno е претставен подолу.



Сега треба да го програмирате Arduino. Едноставен код (скица) што ви овозможува да го прикажете времето на LCD екранот е даден подолу.


#вклучи ЛЦД со течен кристал (12,11,5,4,3,2); int h=12; int m; int s; int знаме; int ВРЕМЕ; const int hs=8; const int ms=9; int состојба1; int држава2; 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(знаме<12)lcd.print("AM"); if(flag==12)lcd.print("PM"); if(flag>12)LCd.print("PM"); ако(знаме==24)знаме=0; доцнење (1000); lcd.clear(); ако(s==60)(s=0; m=m+1; ) ако(m==60) (m=0; h=h+1; знаме= знаме+1; ) ако(h==13 ) ( h=1; ) lcd.setCursor(0,1); lcd.print ("ИМАЈ убав ден"); //-------Време // поставување-------// state1=digitalRead(hs); ако(состојба1==1) (h=h+1; знаме=знаме+1; ако(знаме<12)lcd.print("AM"); if(flag==12)lcd.print("PM"); if(flag>12)LCd.print("PM"); ако(знаме==24)знаме=0; ако(h==13)h=1; ) state2=digitalRead(ms); ако(состојба2==1)(s=0; m=m+1;) )

   Ви благодариме за интересот за информативен проектвеб-страница.
   Ако сакате интересни и корисни материјали да се објавуваат почесто и со помалку реклами,
   Можете да го поддржите нашиот проект со донирање на која било сума за неговиот развој.

Часовник со LED позадинско осветлување и пулсирачка минутажа на микроконтролер Arduino
Овој уникатен часовник со LED позадинско осветлување и пулсирачка минутажа е направен со помош на чипот за контролер TLC5940 PWM. Неговата главна задача е да го прошири бројот на контакти за модулација на PWM. Друга карактеристика на овој часовник е тоа што го претвори аналогниот волтметар во уред кој мери минути. За да го направите ова, нова вага беше испечатена на стандарден печатач и залепена на врвот на старата. Како таква, 5-тата минута не се брои, само во текот на петтата минута бројачот на времето ја покажува стрелката што покажува кон крајот на скалата (надвор од скалата). Главната контрола е имплементирана на микроконтролерот Arduino Uno.

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

Чекор 1: Потребни компоненти



Еве што ќе ви треба:

  • 5V DC аналоген волтметарски модул;
  • Arduino UNO микроконтролер или друг соодветен Arduino;
  • Ардуино коло (прото плоча);
  • DS1307 модул за часовник во реално време (RTC);
  • Модул со PWM контролер TLC5940;
  • LED позадинско осветлување на ливчиња - 12 парчиња;
  • Компоненти за составување коло за автоматска контрола на осветленоста (LDR).

Исто така, за изработка на некои други компоненти од проектот, пожелно е да се има пристап до 3Д принтер и машина за ласерско сечење. Се претпоставува дека го имате овој пристап, така што упатствата ќе вклучуваат цртежи за производство во соодветните фази.

Чекор 2: бирајте




Бројчаникот се состои од три дела (слоеви) исечени на машина за ласерско сечење од медијапан лист од 3 mm, кои се прицврстени заедно со завртки. Плоча без отвори (долу десно на сликата) се става под друга плоча за да се постават LED диодите (долу лево). Потоа, поединечни LED диоди се ставаат во соодветните слотови, а предниот панел се става на врвот (горниот дел на сликата). По должината на работ на бројчаникот се дупчат четири дупки, преку кои сите три дела се завртки заедно.

  • За тестирање на перформансите на LED диодите во оваа фаза, користена е монечка батерија CR2032;
  • За прицврстување на LED диодите се користеа мали ленти со леплива лента, кои беа залепени на задниот дел на LED диодите;
  • Сите LED нозе беа претходно свиткани соодветно;
  • Дупките по должината на рабовите беа повторно дупчени, преку кои се вршеше завртувањето. Се испостави дека ова е многу поудобно.

Техничкото цртање на деловите на бројчаникот е достапно на:

Чекор 3: Дизајнирајте го колото



Во оваа фаза беше развиен електричен дијаграм. За таа цел беа користени различни учебници и водичи. Нема да навлегуваме премногу длабоко во овој процес; двете датотеки подолу го прикажуваат завршеното електрично коло што се користеше во овој проект.

Чекор 4: Поврзување на Arduino Circuit Board





  1. Првиот чекор е да ги одлемете сите контакти на иглата на таблите и таблите со делови;
  2. Понатаму, поради фактот што моќноста од 5V и GND се користат од толку многу табли и периферни уреди, за сигурност, две жици за 5V и GND беа залемени на колото;
  3. Следно, до користените контакти беше инсталиран контролер TLC5940 PWM;
  4. Потоа контролорот TLC5940 е поврзан според дијаграмот за поврзување;
  5. За да може да се користи батеријата, на работ на плочката е инсталиран RTC модул. Ако го залемете во средината на таблата, ознаките на игличките нема да бидат видливи;
  6. RTC модулот е поврзан според дијаграмот за поврзување;
  7. Собрано е коло за автоматска контрола на осветленоста (LDR), можете да го погледнете на врската
  8. Жиците за волтметарот се поврзани со поврзување на жиците со пин 6 и GND.
  9. На крајот, 13 жици за LED диоди беа залемени (Во пракса, се покажа дека е подобро да се направи ова пред да се продолжи на чекор 3).

Чекор 5: Код

Кодот подолу е составен од различни делови од компонентите на часовникот пронајдени на Интернет. Тој е целосно дебагиран и сега е целосно функционален, а додадени се и прилично детални коментари. Но, пред да го вчитате во микроконтролерот, разгледајте ги следниве точки:

  • Пред да го трепкате фирмверот на Arduino, треба да ја откоментирате линијата што го одредува времето:
    rtc.adjust(DateTime(__DATE__, __TIME__))
    Откако ќе го трепкате контролерот со оваа линија (времето е поставено), треба повторно да го коментирате и повторно да го трепкате контролерот. Ова му овозможува на RTC модулот да ја користи батеријата за да го запомни времето ако се изгуби главната струја.
  • Секој пат кога користите „Tlc.set()“, треба да користите „Tlc.update“

Чекор 6: Надворешен прстен

Надворешниот прстен на часовникот беше 3D испечатен со помош на печатач Replicator Z18. Се прицврстува на часовникот со помош на завртки на лицето на часовникот. Подолу е датотека со 3D модел на прстенот за печатење на 3D печатач.

Чекор 7: Составување на часовникот


Микроконтролерот Arduino со целата друга електроника беше прицврстен на задниот дел од часовникот со помош на завртки и навртки како растојание. Потоа ги поврзав сите LED диоди, аналогниот волтметар и LDR на жиците кои претходно беа залемени на плочката. Сите LED диоди се меѓусебно поврзани со една нога и се поврзани со VCC иглата на контролерот TLC5940 (парче жица едноставно се залеме во круг).

Засега, сето ова не е многу добро изолирано од кратки споеви, но работата на ова ќе продолжи во идните верзии.




Врв