Мазмұны:
- 1 -қадам: Оны қалай оқу керек?
- 2 -қадам: Сізге не қажет
- 3 -қадам: электроника компоненттері - фон
- 4 -қадам: Электроника - қуат көзі
- 5 -қадам: Электроника - дәнекерлеу
- 6 -қадам: БҚ - фон
- 7 -қадам: Бағдарламалық қамтамасыз ету - код
- 8 -қадам: Сағат жасаңыз
- 9 -қадам: Ағашқа сурет салыңыз
- 10 -қадам: Ассамблея
- 11 -қадам: жаңарту - фоторезистор
- 12 -қадам: ләззат алыңыз
Бейне: LEDura - LED аналогты сағат: 12 қадам (суреттермен)
2024 Автор: John Day | [email protected]. Соңғы өзгертілген: 2024-01-30 10:22
Tinkercad жобалары »
Ұзақ уақыт бойы әр түрлі жоба жасағаннан кейін мен өзім нұсқаушы болуды шештім. Біріншісі, мен сізге керемет адрестік жарықдиодты сақинадан жасалған аналогты сағатты жасау процесін жүргіземін. Ішкі сақина сағаттарды көрсетеді, сыртқы сақина минуттар мен секундтарды көрсетеді.
Уақытты көрсетуден басқа, сағат бөлме температурасын да көрсете алады және бұл бөлмедегі өте жақсы әшекей бола алады. Әр 15 минут сайын сағат арнайы эффектілер шығарады - бейне олардың барлығын көрсетеді, міндетті түрде тексеріңіз. 2 түйме мен потенциометрдің көмегімен пайдаланушы өз қалауы бойынша әр түрлі режим мен модификациядағы түстерді таңдай алады. Мен сондай -ақ, егер бөлме қараңғы болса, жарықдиодты автоматты түрде өшіру үшін жаңарттым, сондықтан пайдаланушы түнде алаңдамайды.
Сағатты үстелге, төсек үстеліне қоюға немесе қабырғаға іліп қоюға болады.
Ескертпе: суреттер шындықтағы көрініс сияқты жақсы емес, себебі жоғары жарықтық.
1 -қадам: Оны қалай оқу керек?
Сағаттың екі сақинасы бар - кіші сағатты көрсетуге арналған, ал үлкені минут пен секундты көрсетуге арналған. Кейбір светодиодтар үнемі жанып тұрады - бұл сағаттың негізгі позицияларын көрсететін компас деп аталады. Сағаттық сақинада ол 3, 6, 9 және 12 сағатты, минуттық сақинада 15, 30, 45 және 0 минутты білдіреді.
2 -қадам: Сізге не қажет
Материалдар:
- 1x Arduino Nano (кез келген басқа Arduino қолдануға болады)
- 1x DS3231 RealTimeClock модулі
- 1x мекен -жайы бар жарықдиодты сақина - 60 жарық диоды
- 1х мекен -жайы бар жарықдиодты сақина - 24 жарық диоды
- 2x түймелері (NO - қалыпты түрде ашық)
- 1х 100 кОм потенциометр
- 1х 5В қуат көзі (1 амперді жеткізуге қабілетті)
- 1x жеткізу қосқышы
- Кейбір сымдар
- 1х 10 кОм резистор
- 1x фоторезистор
- Алдын ала тақта (міндетті емес)
- Терминалды блок сым қосқыштары (міндетті емес)
- Қалыңдығы 25 мм ағаш, көлемі 22 см x 22 см
- 1 мм жұқа мата ПВХ пластикалық өлшемі 20смx20хм
Құралдар:
- Электрониканы құруға арналған негізгі құралдар (дәнекерлеуіш, қысқыш, бұрағыш,…)
- Бұрғылау машинасы
- Ыстық желім қаруы
- Құм қағаз және ағаш лак
- CNC станогы (мүмкін, оның досында бар шығар)
3 -қадам: электроника компоненттері - фон
DS3231
Біз уақытты осциллятор мен таймердегі Arduinos құрастыру арқылы анықтай аламыз, бірақ мен сағатты қуат көзінен ажыратсақ та уақытты бақылай алатын нақты уақытты (RTC) арнайы модулін қолдануды шештім. DS3231 тақтасында модуль қуат көзіне қосылмаған кезде қуат беретін батарея бар. Бұл сонымен қатар Arduinos сағат көзіне қарағанда ұзақ уақыт кезеңінде дәлірек.
DS3231 RTC микроконтроллермен байланысу үшін I2C интерфейсін қолданады-пайдалану өте қарапайым және онымен байланысу үшін бізге тек 2 сым қажет. Модуль сонымен қатар осы жобада қолданылатын температура сенсорымен қамтамасыз етеді.
Маңызды: Егер сіз RTC модулі үшін қайта зарядталмайтын батареяны пайдалануды жоспарласаңыз, 200 Ом резисторды немесе 1N4148 диодты дәнекерлеу керек. Әйтпесе, батарея жарылып кетуі мүмкін. Қосымша ақпаратты мына сілтемеден табуға болады.
WS2812 жарықдиодты сақина
Мен минутты бақылау үшін 60 жарықдиодты сақинаны және 24 светодиодты сақинаны бірнеше сағат бойы қолдануды шештім. Сіз оларды Adafruit (neoPixel сақинасы) немесе eBay, Aliexpress немесе басқа веб -дүкендерде арзан нұсқалардан таба аласыз. Адрестелген жолақтардың арасында әртүрлілік бар, және егер сіз олармен бірінші рет ойнап жатсаңыз, мен сізге кейбір пайдалану сипаттамаларын оқып шығуды ұсынамын - мұнда пайдалы сілтемелер:
https://www.tweaking4all.com/hardware/arduino/adr…
https://randomnerdtutorials.com/guide-for-ws2812b…
Адресативті жарықдиодты жолақта 3 қосқыш бар: 5V, GND және DI/DO. Алғашқы екеуі светодиодты қосуға арналған, соңғысы - деректер үшін. Сақинаны Arduino -ға қосқанда абай болыңыз - сіздің деректер желіңіз DI (data IN) түйреуішіне қосылуы керек.
Ардуино
Мен Arduino Nano қолданамын, себебі ол шағын және бұл жоба үшін жеткілікті. Сіз кез -келген басқа Arduino -ны қолдана аласыз, бірақ содан кейін бәрін қосқанда абай болу керек. Түймелер мен жарықдиодты сақиналар бір түйреуіштерде болуы мүмкін, бірақ I2C қосқыштары (RTC модулі үшін) әр платформадан әр түрлі болуы мүмкін - олардың деректер кестесін қараңыз.
4 -қадам: Электроника - қуат көзі
Arduino және жарық диодты жолақ 5 В қуат көзімен қамтамасыз етілуі керек, сондықтан біз кернеудің не керектігін білеміз. Жарықдиодты жарықтандырғыш сақиналары көп амперді алатындықтан, біз оны цифрлық шығысында максималды 20 мА -ға төтеп бере алатын Arduino -мен тікелей қуаттай алмаймыз. Менің өлшемдерім бойынша, жарықдиодты сақиналар бірге 500 мА дейін тарта алады. Сондықтан мен 1А дейін жеткізе алатын адаптер сатып алдым.
Сол қуат көзімен біз Arduino мен светодиодты қосқымыз келеді - мұнда абай болу керек.
Ескерту! Жарық диодты жолақты тексергенде абай болыңыз - қуат адаптері Arduino -ға қосылмауы керек, егер Arduino компьютерге USB қосқышы арқылы қосылған болса (компьютердің USB портын зақымдауы мүмкін).
Ескерту: Төмендегі схемаларда мен Arduino қуат көзі немесе USB коннекторы арқылы жұмыс істейтінін таңдау үшін қалыпты қосқышты қолдандым. Бірақ перформат тақтасында сіз Arduino қандай қуат көзінен жұмыс істейтінін таңдау үшін түйреуішті қосқанымды көре аласыз.
5 -қадам: Электроника - дәнекерлеу
Барлық бөлшектерді жинағанда, оларды дәнекерлеуге уақыт келді.
Мен сымдарды ұқыпты етіп жасағым келгендіктен, мен перфордалық тақтаны және сымдар үшін терминал блоктарының қосқышын қолдандым, сондықтан өзгертілген жағдайда оларды ажыратуға болады. Бұл міндетті емес - сіз сымдарды Arduino -ға тікелей дәнекерлей аласыз.
Кеңес: егер сіз дәнекерлеу кезінде сіздің алдыңызда болу үшін схемаларды басып шығарсаңыз, оңайырақ болады. Қуат көзіне қосылмас бұрын бәрін тексеріңіз.
6 -қадам: БҚ - фон
Arduino IDE
Біз Arduino -ны Arduino IDE арнайы бағдарламалық жасақтамасымен бағдарламалайтын боламыз. Егер сіз Arduino -мен бірінші рет ойнап жатсаңыз, мен сізге оны қалай жасау керектігі туралы бірнеше нұсқауларды тексеруді ұсынамын. Интернетте көптеген оқулықтар бар, сондықтан мен егжей -тегжейлі айтпаймын.
Кітапхана
Мен танымал Adafruit орнына FastLED кітапханасын қолдануды шештім. Оның керемет математикалық функциялары бар, оның көмегімен сіз керемет эффект жасай аласыз (әзірлеушілерге дейін!). Сіз кітапхананы олардың GitHub репозиторийінен таба аласыз, бірақ мен өз кодымда қолданатын нұсқаның.zip файлын қостым.
Егер сіз сыртқы кітапхананы Arduino IDE -ге қалай қосу керектігін білгіңіз келсе, қазірдің өзінде дайындалған нұсқауларды тексере аласыз
Сағат модулі үшін мен Arduino IDE-де оңай орнатуға болатын DS3231 нақты уақыт (RTC) (сілтеме) үшін Arduino кітапханасын қолдандым. IDE -де болған кезде, эскиз → Кітапхананы қосу → Кітапханаларды басқару … түймесін басыңыз, содан кейін іздеуді жоғарыдағы атымен сүзіңіз.
Ескерту: Мен қандай да бір себептермен.zip файлдарын қоса алмаймын. Сіз кітапхананы GitHub репозиторийімде таба аласыз.
7 -қадам: Бағдарламалық қамтамасыз ету - код
Құрылым
Қосымша 4 файлдан тұрады:
- LEDclokc.ino - бұл Arduino -ның негізгі қосымшасы, онда сіз бүкіл сағатты басқару функцияларын таба аласыз - олар CLOCK_ префиксінен басталады.
- LEDclokc.h мұнда түйреуіш қосылымының анықтамалары мен кейбір сағат конфигурациялары.
- ring.cpp және ring.h - бұл жарықдиодты сақиналарды басқаруға арналған менің кодым.
LED сағаты
Мұнда сіз сағаттың барлық анықтамаларын таба аласыз. Басында сымдардың анықтамалары бар. Олардың байланыстармен бірдей екеніне көз жеткізіңіз. Содан кейін сағаттардың конфигурациясы бар - мұнда сіз сағат режимі үшін макросты таба аласыз.
LEDclock.ino
Диаграммада негізгі цикл көрсетілген. Алдымен код кез келген түйменің басылғанын тексереді. Коммутаторлардың сипатына байланысты, біз олардың мәндерін оқу үшін дебуринг әдісін қолдануымыз керек (бұл туралы толығырақ сілтемеден оқи аласыз).
1 -түйме басылғанда айнымалы режим 1 -ге көтеріледі, егер 2 -түйме басылса, айнымалы тип көтеріледі. Біз бұл айнымалыларды қай сағат режимінде көргіміз келетінін анықтау үшін қолданамыз. Егер екі түйме бір мезгілде басылса, CLOCK_setTime () функциясы шақырылады, осылайша сіз сағаттың уақытын өзгерте аласыз.
Кейінірек код потенциометрдің мәнін оқиды және оны айнымалыға сақтайды - бұл айнымалы пайдаланушы сағат түстерін, жарықтықты және т.
Содан кейін коммутатор-жағдай туралы мәлімдеме бар. Мұнда біз сағаттың қай режимде екенін анықтаймыз және сол режимде жарықдиодты түстерді орнататын сәйкес функция шақырылады. Сіз өзіңіздің жеке сағат режимдеріңізді қосып, функцияларды қайта жаза аласыз немесе өзгерте аласыз.
FastLED кітапханасында сипатталғандай, соңында FastLED.show () функциясын шақыру керек, ол светодиодтарды біз бұрын орнатқан түске айналдырады.
Сіз код сызықтары арасында толығырақ сипаттамаларды таба аласыз
Бүкіл код төмендегі файлдарға қосылады.
КЕҢЕС: сіз бүкіл жобаны GitHub репозиторийімде таба аласыз. Егер мен оған қандай да бір өзгерістер қоссам, мұнда код жаңартылады.
8 -қадам: Сағат жасаңыз
Сағат жақтауы
Мен сағат жиегін CNC станогының көмегімен және қалыңдығы 25 мм ағаштан жасадым. Сіз сызбаны ProgeCAD қосымшасында төменде таба аласыз. Жарық диодты сақинаның слоттары біршама үлкен, себебі өндіріс тек сыртқы диаметрін өлшейді - ішкі жағы әр түрлі болуы мүмкін … Сағаттың артқы жағында электроника мен сымға арналған орын көп.
ПВХ сақиналары
Светодиодтар өте жарық болғандықтан, оларды қандай да бір жолмен тарату жақсы. Алдымен мен диффузиялық жұмысты орындайтын мөлдір силиконмен тырыстым, бірақ ол өте лас және оны біркелкі қою қиын. Сондықтан мен 20x20 см көлеміндегі «сүтті» ПВХ пластикке тапсырыс бердім және оған екі сақинаны CNC станогымен кесіп алдым. Сақиналар саңылауларға сырғып кетуі үшін жиектерді жұмсарту үшін тегістеу қағазын қолдануға болады.
Бүйірлік тесіктер
Содан кейін түймелердің, потенциометрдің және қуат көзінің қосқышының тесіктерін бұрғылау уақыты келді. Алдымен қарындашпен әр позицияны сызыңыз, содан кейін тесікке бұрғылаңыз. Бұл сіздің түймелеріңіздің түріне байланысты - мен сәл қисық басы бар түймелермен жүрдім. Олардың диаметрі 16 мм, сондықтан мен осындай мөлшердегі ағаш бұрғылауды қолдандым. Бұл потенциометр мен қуат қосқышына қатысты. Содан кейін барлық қарындаш сызбаларды өшіруді ұмытпаңыз.
9 -қадам: Ағашқа сурет салыңыз
Мен ағашқа бірнеше сағат индикаторларын салуды шештім - мұнда сіз өз қиялыңызды қолданып, өзіңіздің дизайныңызды жасай аласыз. Мен ағашты максималды температураға дейін қыздырылған дәнекерлеуішпен өртеп жібердім.
Дөңгелектер жақсы дөңгеленуі үшін мен алюминийді қолдандым, оған тесік бұрғыладым және тесіктің шеттерін дәнекерленген темірмен қададым (суретке қараңыз). Алюминийді мықтап ұстағаныңызға көз жеткізіңіз, сондықтан ол сызу кезінде сырғып кетпейді. Және бұл жарақаттың алдын алу үшін абай болыңыз.
Егер сіз сызбалар жасасаңыз және олардың сағаттық пиксельдерге жақсы сәйкестендірілуін қаласаңыз, пикселдердің қайда орналасатынын көрсететін «Техникалық қызмет көрсету режимін» қолдана аласыз (Құрастыру тарауына өтіңіз).
Ағашты қорғаңыз
Егер сіз сағатқа қанағаттансаңыз, оны құммен сүртуге және ағаш лакпен қорғауға уақыт келді. Мен жиектерді жұмсарту үшін өте жұмсақ зімпара (500 мәні) қолдандым. Мен сізге мөлдір ағаш лак қолдануды ұсынамын, сондықтан ағаштың түсі өзгермейді. Қылқаламға аз мөлшерде лак салыңыз және оны ағаштағы біржылдық бағытта тартыңыз. Мұны кем дегенде 2 рет қайталаңыз.
10 -қадам: Ассамблея
Шыршалар түймелер мен потенциометрді өз орындарына қояды - егер сіздің тесіктеріңіз тым үлкен болса, оларды орнына бекіту үшін ыстық желімді қолдануға болады. Содан кейін сақина жолағын ұяларына салыңыз және сымдарын Arduino -ға қосыңыз. Жарықдиодты сақинаны орнына жапсырмас бұрын, жарықдиодты пиксельдердің дұрыс орналасқанына - орталықтандырылған және сызбаға сәйкес келетініне сенімді болу керек. Осы мақсатта мен барлық маңызды пикселдерді (0, 5, 10, 15,… минуттық сақинада және 3, 6, 9 және 12 сағаттық сақинада) көрсететін Техникалық қызмет көрсету режимін қостым. Бұл режимге қосқышқа қуат көзін қоспас бұрын екі түймені де басып тұру арқылы кіруге болады. Кез келген түймені басу арқылы бұл режимнен шығуға болады.
Жарықдиодты сақиналар реттелген кезде, ыстық желімді қолданыңыз және желім берік болғанша ұстаңыз. Содан кейін ПВХ сақиналарын алыңыз: светодиодтарға ыстық желім жағыңыз, оларды тез орналастырыңыз және бірнеше секунд ұстаңыз. Ақыр соңында, бәрі жұмыс істейтініне сенімді болсаңыз, ағашқа әр тақтаны (немесе Arduino) ыстық желіммен жабыстыруға болады. Кеңес: көп желімге қолдануға болмайды. Аз мөлшерде, сондықтан ол бір жерде сақталады, бірақ егер сіз бір нәрсені кейін өзгерткіңіз келсе, оны оңай алып тастай аласыз.
Ең соңында монеталық батареяны ұстағышына салыңыз.
11 -қадам: жаңарту - фоторезистор
Сағат әсерлері қараңғыда әсіресе жақсы. Бірақ бұл оның қолданушысын түні бойы, ол ұйықтап жатқанда алаңдатуы мүмкін. Сондықтан мен сағатты жарықтылықты автоматты түрде түзету мүмкіндігімен жаңартуды шештім - бөлме қараңғы болғанда; сағат жарық диодтарын өшіреді.
Осы мақсатта мен жарық сенсоры - фото резисторды қолдандым. Оның қарсылығы айтарлықтай артады; қараңғыда бірнеше мега Омға дейін, ал жарық түскенде ол тек бірнеше жүз Ом болады. Қалыпты резистормен бірге олар кернеу бөлгішті құрайды. Жарық сенсорының кедергісі өзгерген кезде Arduino аналогтық түйісіндегі кернеу де өзгереді (біз өлшей аламыз).
Кез келген тізбекті дәнекерлеуге және жинауға кіріспес бұрын, оны модельдеу керек, сондықтан сіз мінез -құлықты көре аласыз және түзетулер жасай аласыз. Autocad Tinkercad көмегімен сіз дәл осылай жасай аласыз! Бірнеше рет басу арқылы мен компоненттерді қостым, оларды жалғадым және кодты жаздым. Симуляцияда фото резистордың мәніне сәйкес жарық диодты жарықтылықтың қалай өзгеретінін көруге болады. Бұл өте қарапайым және қарапайым - сіз схемамен ойнауға қош келдіңіз.
Симуляциядан кейін бұл мүмкіндікті сағатқа қосу уақыты келді. Мен сағаттың ортасында тесік бұрғыладым, фото резисторды желімдедім, оны схемада көрінетіндей жалғадым және бірнеше код жолдарын қостым. LEDclock.h файлында USE_PHOTO_RESISTOR мәнін 1 деп жариялау арқылы осы мүмкіндікті қосу керек. Сонымен қатар CLOCK_PHOTO_TRESHOLD мәнін өзгерту арқылы сағат жарық диодты жарықтандыратын бөлменің жарықтығын өзгертуге болады.
12 -қадам: ләззат алыңыз
Сіз оны бірінші рет қосқанда, сағат кездейсоқ уақытты көрсетеді. Сіз оны екі түймені бір мезгілде басу арқылы реттей аласыз. Дұрыс уақытты таңдау үшін тұтқаны бұраңыз және кез келген түймені басу арқылы растаңыз.
Мен Интернетте өте таза жобадан шабыт алдым. Егер сіз сағатты өз бетіңізше жасауды шешсеңіз, оларды тексеріңіз! (NeoClock, Wol Clock, Arduino түрлі -түсті сағаты) Егер сіз нұсқауларды орындауға тырысқыңыз келсе, оны мен сияқты қызықты етіп өткізесіз деп сенемін.
Егер сіз оны жасау барысында қандай да бір қиындыққа тап болсаңыз, маған түсініктемелерде кез келген сұрақты қоюға болады - мен қуана жауап беруге тырысамын!
Ұсынылған:
Бір аналогты енгізу арқылы 4 түйме ойыны: 6 қадам (суреттермен)
4 түйме ойындары бір аналогты енгізуді қолдана отырып: Бұл нұсқаулық бір-біріне тәуелсіз бірнеше түйме үшін бір аналогты кіріс жолын қолдануға бағытталған және осы түймелердің қолданылуын ерекшелеу үшін төрт түрлі 4 түймелі ойынды ойнауға арналған бағдарламалық қамтамасыз ету бар. Барлық ойындар (8 -де
Бір аналогты түйреуіш арқылы бірнеше аналогтық мәндерді қалай оқуға болады: 6 қадам (суреттермен)
Бір аналогтық түйреуіш арқылы бірнеше аналогтық мәндерді қалай оқу керек: Бұл оқулықта мен сізге тек бір аналогтық кіріс түйреуіші арқылы бірнеше аналогтық мәндерді қалай оқу керектігін көрсетемін
C51 4 бит электронды сағат - ағаш сағат: 15 қадам (суреттермен)
C51 4 бит электронды сағат - ағаштан жасалған сағат: демалыс күндері бос уақыт болды, сондықтан мен осы уақытқа дейін AliExpress -тен сатып алған 2,40 долларлық 4 биттік электронды цифрлық сағатты жинадым
Аналогты сандық сағат: 4 қадам (суреттермен)
Аналогты цифрлық сағат: Бұл сағатты жасаудың себебі IKEA -ның түпнұсқалық сағаты енді жұмыс істемеді және маған бұл сағаттың корпусы қатты ұнады. Мен сағатты лақтыруды ысырап деп таптым және оны аналогтық / цифрлық сағат үшін қайта қолдануды шештім
Raspberry Pi GPIO схемалары: ADC жоқ LDR аналогты сенсорды қолдану (аналогты сандық түрлендіргіш): 4 қадам
Raspberry Pi GPIO схемалары: ADC жоқ LDR аналогты сенсорды қолдану (аналогты сандық түрлендіргіш): алдыңғы нұсқаулықтарда біз сізге Raspberry Pi GPIO түйреуіштерін светодиодтар мен қосқыштарға қалай байланыстыруға болатынын және GPIO түйреуіштері қалай жоғары болатынын көрсеттік. немесе төмен. Егер сіз Raspberry Pi -ді аналогты сенсормен қолданғыңыз келсе ше? Егер біз