Съдържание:

LEDura - Аналогов LED часовник: 12 стъпки (със снимки)
LEDura - Аналогов LED часовник: 12 стъпки (със снимки)

Видео: LEDura - Аналогов LED часовник: 12 стъпки (със снимки)

Видео: LEDura - Аналогов LED часовник: 12 стъпки (със снимки)
Видео: Камера-ЛАМПА со слежением и определением человека. 2024, Юли
Anonim
LEDura - Аналогов LED часовник
LEDura - Аналогов LED часовник
LEDura - Аналогов LED часовник
LEDura - Аналогов LED часовник
LEDura - Аналогов LED часовник
LEDura - Аналогов LED часовник

Проекти на Tinkercad »

След дълго време, когато просто правех различни проекти, реших сам да направя инструктаж. За първия ще ви преведа през процеса на създаване на собствен аналогов часовник, направен със страхотен адресируем LED пръстен. Вътрешният пръстен показва часовете, външният - минути и секунди.

Освен че показва часа, часовникът може да показва и стайната температура и може да бъде много хубава декорация в стаята. На всеки 15 минути часовникът също прави някои специални ефекти - видеото ги показва всички, не забравяйте да го проверите. С помощта на 2 бутона и потенциометър потребителят може да избира между различни режими и да променя цветовете по свое желание. Аз също го надстроих, за да затъмнява автоматично светодиодите, ако стаята потъмнее, така че потребителят няма да бъде обезпокояван през нощта.

Часовникът може да бъде поставен на бюрото, масата за легло или окачен на стената.

Забележка: Снимките не са толкова добри, колкото изгледът в реалността, поради високата яркост.

Стъпка 1: Как да го прочетете?

Как да го прочета?
Как да го прочета?

Часовникът има 2 пръстена - по -малък за показване на часове и по -голям за показване на минути и секунди. Някои светодиоди светят през цялото време - т.нар компас, който показва основните позиции на часовника. На часовия звънец той представлява 3, 6, 9 и 12'o часовник, на минутен звънене представлява 15, 30, 45 и 0 минути.

Стъпка 2: Какво ще ви трябва

Какво ще ви трябва
Какво ще ви трябва

Материали:

  • 1x Arduino Nano (можете да използвате и всеки друг Arduino)
  • 1x DS3231 RealTimeClock модул
  • 1x Адресен светодиоден пръстен - 60 светодиода
  • 1x адресируем светодиоден пръстен - 24 светодиода
  • 2x бутони (НЕ - нормално отворени)
  • 1x 100kOhm потенциометър
  • 1x 5V захранване (може да достави 1 Amp)
  • 1x захранващ конектор
  • Някои проводници
  • 1x 10kOhm резистор
  • 1x фоторезистор

  • Сглобяема дъска (по избор)
  • Жични конектори на клемен блок (по избор)
  • 25 мм дебело дърво, размер най -малко 22 см х 22 см
  • 1 мм тънка подложка от PVC пластмаса с размери 20смx20хм

Инструменти:

  • Основни инструменти за изграждане на електроника (поялник, клещи, отвертка, …)
  • Свредло машина
  • Пистолет за горещо лепило
  • Шкурка и малко лак за дърво
  • CNC машина (може би някой приятел я има)

Стъпка 3: Електронни компоненти - Предистория

Електронни компоненти - фон
Електронни компоненти - фон
Електронни компоненти - фон
Електронни компоненти - фон
Електронни компоненти - фон
Електронни компоненти - фон

DS3231

Можехме да определим времето с помощта на вграден осцилатор и таймер на Arduinos, но реших да използвам специален модул за часовник в реално време (RTC), който може да следи времето, дори ако изключим часовника от източника на захранване. Платката DS3231 има батерия, която осигурява захранване, когато модулът не е свързан към захранването. Той също е по -точен за по -дълги периоди от време от източника на часовник Arduinos.

DS3231 RTC използва I2C интерфейс за комуникация с микроконтролер-много лесен за използване и имаме нужда само от 2 проводника за комуникация с него. Модулът осигурява и температурен сензор, който ще се използва в този проект.

Важно: Ако планирате да използвате акумулаторна батерия за RTC модул, трябва да разпаявате 200 ома резистор или 1N4148 диод. В противен случай батерията ви може да се взриви. Повече информация можете да намерите на тази връзка.

WS2812 LED пръстен

Реших да използвам 60 LED пръстен, за да следя минути и 24 LED пръстен за часове. Можете да ги намерите в Adafruit (пръстен neoPixel) или някои евтини версии в eBay, Aliexpress или други уеб магазини. Има голямо разнообразие сред адресируемите LED ленти и ако за първи път си играете с тях, препоръчвам ви да прочетете някои описания за употреба - ето няколко полезни връзки:

https://www.tweaking4all.com/hardware/arduino/adr…

https://randomnerdtutorials.com/guide-for-ws2812b…

Адресната LED лента има 3 конектора: 5V, GND и DI/DO. Първите две са за захранване на светодиодите, последният е за данни. Бъдете внимателни, докато свързвате пръстена към Arduino - вашата линия за данни трябва да бъде свързана към DI (data IN) щифт.

Arduino

Използвам Arduino Nano, защото е малък и достатъчен за този проект. Можете да използвате почти всеки друг Arduino, но тогава трябва да бъдете внимателни, докато свързвате всичко към него. Бутоните и светодиодните пръстени могат да бъдат на едни и същи щифтове, но I2C конекторите (за RTC модул) може да се различават в различните платформи - проверете техния лист с данни.

Стъпка 4: Електроника - Захранване

Електроника - Захранване
Електроника - Захранване

Arduino и LED лентата трябва да се доставят с 5V източник на захранване, за да знаем кое напрежение е необходимо. Тъй като светодиодът звъни, той черпи доста усилватели, не можем да го захранваме директно с Arduino, който може да издържи максимум 20 mA на цифровия си изход. Според моите измервания, LED пръстените могат заедно да изтеглят до 500 mA. Ето защо си купих адаптер, който може да захранва до 1A.

Със същото захранване, което искаме да захранваме Arduino и светодиоди - тук трябва да бъдете внимателни.

Внимание! Бъдете особено внимателни, когато тествате LED лентата - захранващият адаптер НЕ трябва да бъде свързан към Arduino, когато Arduino също е свързан към компютър с USB конектор (можете да повредите USB порта на компютъра).

Забележка: В схемите по -долу използвах нормален превключвател, за да избера дали Arduino се захранва чрез захранване или чрез USB конектор. Но на perfboard можете да видите, че добавих заглавка на щифт, за да избера от кой източник на захранване се захранва Arduino.

Стъпка 5: Електроника - запояване

Електроника - запояване
Електроника - запояване
Електроника - запояване
Електроника - запояване
Електроника - запояване
Електроника - запояване
Електроника - запояване
Електроника - запояване

Когато съберете всички части, е време да ги запоите заедно.

Тъй като исках да направя окабеляването спретнато, използвах perfboard и някакъв конектор за клемни блокове за проводници, така че мога да ги изключа в случай на промени. Това е по избор - можете също да запоявате проводниците директно към Arduino.

Съвет: по-лесно е, ако отпечатате схемите, така че да ги имате пред себе си, докато запоявате. И проверете отново всичко преди да се свържете към захранването.

Стъпка 6: Софтуер - фон

Arduino IDE

Ще програмираме Arduino със специалния му софтуер: Arduino IDE. Ако играете с Arduino за първи път, препоръчвам ви да проверите някои инструкции как да го направите. В мрежата вече има много уроци, така че няма да навлизам в подробности.

Библиотека

Реших да използвам FastLED библиотека вместо популярен Adafruit. Той има някои чисти математически функции, с които можете да правите страхотни ефекти (палци до разработчиците!). Можете да намерите библиотеката в тяхното хранилище на GitHub, но добавих.zip файла на версията, която използвам в кода си.

Ако се чудите, как да добавите външна библиотека към Arduino IDE, можете да проверите някои вече направени инструкции

За часовника използвах библиотеката Arduino за часовника в реално време DS3231 (RTC) (връзка), който лесно можете да инсталирате в Arduino IDE. Когато сте в IDE, щракнете върху Скица → Включване на библиотека → Управление на библиотеки … и след това филтрирайте търсенето си с горното име.

Забележка: По някаква причина в момента не мога да добавя.zip файлове. Можете да намерите библиотеката в моето хранилище на GitHub.

Стъпка 7: Софтуер - код

Софтуер - код
Софтуер - код
Софтуер - код
Софтуер - код

Структура

Приложението е изградено с 4 файла:

  • LEDclokc.ino Това е основното приложение на Arduino, където можете да намерите функции за управление на целия часовник - те започват с префикс CLOCK_.
  • LEDclokc.h ето дефиниране на pin връзка и някои конфигурации на часовника.
  • ring.cpp и ring.h тук е моят код за управление на LED пръстените.

LEDчасовник.ч

Тук ще намерите всички определения на часовника. В началото има определения за окабеляване. Уверете се, че те са същите като вашите връзки. След това има конфигурации на часовника - тук можете да намерите макроса за броя на режимите, които часовникът има.

LED часовник.ino

На диаграмата е представен основният контур. Кодът първо проверява дали е натиснат някой бутон. Поради естеството на превключвателите, ние трябва да използваме метода debbouncing, за да прочетем техните стойности (можете да прочетете повече за това на връзката).

Когато се натисне бутон 1, променливият режим се повишава с 1, ако се натисне бутон 2, се променя променливият тип. Използваме тези променливи, за да определим кой часовник искаме да видим. Ако и двата бутона са натиснати едновременно, се извиква функция CLOCK_setTime (), за да можете да промените часа на часовника.

По -късен код чете стойността на потенциометъра и я съхранява в променлива - с тази променлива потребителят може да променя цветовете на часовника, яркостта и т.н.

След това има оператор switch-case. Тук ние определяме в кой режим часовник е в момента и чрез този режим се извиква съответната функция, която настройва цветовете на светодиодите. Можете да добавяте свои собствени часовникови режими и да пренаписвате или променяте функциите.

Както е описано в библиотеката FastLED, трябва да извикате функцията FastLED.show () в края, която превръща светодиодите в цвета, към който сме ги настроили преди.

Можете да намерите много по -подробни описания между кодовите редове

Целият код е приложен по -долу във файловете по -долу.

СЪВЕТ: можете да намерите целия проект в моето хранилище на GitHub. Тук кодът също ще бъде актуализиран, ако добавя някакви промени към него.

Стъпка 8: Направете часовника

Направете часовника
Направете часовника
Направете часовника
Направете часовника
Направете часовника
Направете часовника

Рамка на часовника

Изградих рамката на часовника с помощта на CNC машина и дърво с дебелина 25 мм. Можете да намерите скицата, начертана по -долу в ProgeCAD. Слотовете за LED пръстен са малко по -големи, тъй като производителите предоставят само измервания на външния диаметър - вътрешният може да варира доста … В задната част на часовника има много място за електроника и проводници.

PVC пръстени

Тъй като светодиодите са доста ярки, е добре да ги разсеете по някакъв начин. Първо опитах с прозрачен силикон, който върши работата по разпръскването, но е доста разхвърлян и е трудно да се изглади отгоре. Ето защо поръчах 20х20 см парче „млечни“PVC пластмаси и изрязах в него два пръстена с CNC машина. Можете да използвате шкурка, за да омекотите ръбовете, така че пръстените да се плъзгат в процепите.

Странични отвори

След това е време да пробиете отворите за бутони, потенциометър и конектор за захранване. Първо, нарисувайте всяка позиция с молив, след това пробийте дупката. Тук зависи какъв тип копчета имате - ходих с бутони с леко извита глава. Те имат диаметър 16 мм, затова използвах бормашина за дърво с такъв размер. Същото важи и за потенциометъра и захранващия конектор. Не забравяйте да изтриете всички рисунки с молив след това.

Стъпка 9: Начертайте в гората

Начертайте в гората
Начертайте в гората
Начертайте в гората
Начертайте в гората
Начертайте в гората
Начертайте в гората

Реших да нарисувам часовникови индикатори в дървото - тук можете да използвате въображението си и да проектирате свои собствени. Изгорих дървото с поялник, загрято до максимална температура.

За да бъдат кръгчетата хубави, използвах парче алуминий, пробих дупка в него и проследих краищата на отвора с поялник (вижте снимката). Уверете се, че държите здраво алуминия, за да не се плъзне по време на рисуване. И бъдете внимателни, докато го правите, за да предотвратите наранявания.

Ако правите чертежи и искате те да бъдат добре подравнени с пикселите на часовника, можете да използвате „Режим на поддръжка“, който ще ви покаже къде ще бъдат разположени пикселите (отидете на глава Сглобяване).

Защитете дървото

Когато сте доволни от часовника, е време да го шлайфате и защитите с лак за дърво. Използвах много мека шкурка (стойност 500), за да омекотя ръбовете. Препоръчвам ви да използвате прозрачен лак за дърво, така че цветът на дървото да не се променя. Поставете малко количество лак върху четката и го издърпайте по посока на едногодишните в дървото. Повторете го поне 2 пъти.

Стъпка 10: Сглобяване

Асамблея
Асамблея
Асамблея
Асамблея
Асамблея
Асамблея

Елите поставят бутоните и потенциометъра на техните позиции - ако дупките ви са твърде големи, можете да използвате малко горещо лепило, за да ги фиксирате на място. След това поставете пръстеновата лента в нейните слотове и свържете нейните проводници към Arduino. Преди да залепите LED пръстена на мястото му, добре е да сте сигурни, че LED пикселите са на правилното място - центрирани и подравнени с чертежа. За тази цел добавих така наречения режим на поддръжка, който ще показва всички важни пиксели (0, 5, 10, 15,… при минутен звънене и 3, 6, 9 и 12 при часов часовник). Можете да влезете в този режим, като натиснете и задържите двата бутона, преди да включите захранването към конектора. Можете да излезете от този режим, като натиснете произволен бутон.

Когато подравните вашите LED пръстени, нанесете малко горещо лепило и ги задръжте, докато лепилото се стегне. След това вземете PVC пръстените и отново: нанесете малко горещо лепило върху светодиодите, бързо ги позиционирайте и ги задръжте за няколко секунди. В крайна сметка, когато сте сигурни, че всичко работи, можете да залепите горещо всяка дъска (или Arduino) към дървото. Съвет: не нанасяйте върху много лепило. Само малко количество, така че да се държи на едно място, но можете лесно да го премахнете, ако искате да промените нещо по -късно.

В самия край поставете монетарна батерия в държача й.

Стъпка 11: Надстройка - Фоторезистор

Надстройка - Фоторезистор
Надстройка - Фоторезистор
Надстройка - Фоторезистор
Надстройка - Фоторезистор
Надстройка - Фоторезистор
Надстройка - Фоторезистор

Ефектите на часовника са особено приятни на тъмно. Но това може да смути потребителя през нощта, докато той или тя спи. Ето защо реших да надстроя часовника с функцията за автоматична корекция на яркостта - когато стаята потъмнее; часовникът изключва своите светодиоди.

За тази цел използвах светлинния сензор - фоторезистор. Съпротивлението му значително ще се повиши; до няколко мега ома, когато е тъмно и ще има само няколкостотин ома, когато върху него грее светлина. Заедно с нормален резистор те образуват делителя на напрежението. Така че, когато съпротивлението на светлинния сензор се промени, се променя и напрежението на аналоговия щифт на Arduino (което можем да измерим).

Преди запояване и сглобяване на която и да е схема, разумно е първо да я симулирате, за да можете да видите поведението и да направите корекции. С помощта на Autocad Tinkercad можете да направите точно това! Само с няколко щраквания добавих компонентите, свързах ги и написах кода. В симулацията можете да видите как яркостта на светодиодите се променя според стойността на фоторезистора. Това е много просто и ясно - можете да играете с веригата.

След симулацията беше време да добавите функцията към часовника. Пробих дупка в центъра на часовника, залепих фоторезистора, свързах го така, както може да се види на веригата и добавих няколко реда код. Във файла LEDclock.h трябва да активирате тази функция, като обявите USE_PHOTO_RESISTOR за 1. Можете също да промените при коя яркост на стаята часовникът ще затъмнява светодиодите, като промените стойността CLOCK_PHOTO_TRESHOLD.

Стъпка 12: Насладете се

Когато го включите за първи път, часовникът ще покаже произволно време. Можете да го настроите, като натиснете двата бутона едновременно. Завъртете копчето, за да изберете правилното време и го потвърдете с натискането на който и да е бутон.

Намерих вдъхновение в някой много спретнат проект в интернет. Ако решите да изградите часовника сами, проверете и тях! (NeoClock, Wol Clock, Arduino Colorful Clock) Ако някога решите да се опитате да следвате инструкциите, надявам се, че ще го направите толкова приятно, колкото и аз.

Ако срещнете някакви проблеми по време на процеса на създаване, не се колебайте да ми зададете всеки въпрос в коментарите - с удоволствие ще се опитам да отговоря!

Препоръчано: