Mundarija:
- Cheksiz soat nima?
- Endi boshlaylik…
- 1 -qadam: Sizga nima kerak?
- Komponentlaringizni tayyorlang
- Siz ham…
- 2 -qadam: soatni yig'ing
- Ishni tayyorlang
- Keyin elektron qism
- Hamma narsani ikki marta tekshiring
- 3 -qadam: Kodni yuklang
- Dastur qilaylik
- Eslab qoling…
- 4 -qadam: Xursand bo'ling
- Oxirgi sozlama…
- Animatsiyalar…
- Yana nima?
- 5 -qadam: Vaqtni aniq saqlash uchun yangi versiya
Video: Smartfon tomonidan boshqariladigan cheksiz soat: 5 qadam (rasmlar bilan)
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:23
Men "Infinity Mirrors" va "Infinite Clock of Instructables" da ko'plab loyihalarni ko'rdim, shuning uchun men o'zimniki bo'lishga qaror qildim. Bu boshqalardan unchalik farq qilmasligi mumkin … lekin men buni o'zim qildim, shunday!
Agar siz buni bilmasangiz:
Cheksiz soat nima?
Cheksiz soatlar oyna va yarim aks ettirish oynasi orasidagi bir nechta akslarni ishlatib, chuqurlik illyuziyasini beradi, u atigi bir santimetr chuqurlikda!
Vaqt bu interfeyslar orasida ko'p marta aks etadigan va chuqurlik taassurotini beruvchi LEDlar bilan ko'rsatiladi.
Ko'p reflekslar chuqurlik taassurotini beradi
LEDlar manzilli va rang -barang, shuning uchun ulardan yorug'lik animatsiyasini yaratish oson.
Men uni interaktiv va o'zgaruvchan qilishni xohlardim, shuning uchun Bluetooth aloqasi yordamida Smartfon boshqaruvini qo'shdim. Soat va smartfon o'rtasida haqiqiy ikki xil aloqa mavjud. Foydalanuvchi HMI (Human Machine Interface) dan foydalanib, animatsiya, ranglar kabi turli parametrlarni o'zgartirishi mumkin. Ammo u, masalan, vaqtni o'zgartirish uchun to'g'ridan -to'g'ri buyruqlar yuborishi mumkin, va soat javob beradi: buyruq qabul qilingan yoki qabul qilinmagan.
HMI dasturlashtiriladigan Android ilovasi yordamida amalga oshirildi, shuning uchun men uni loyihalashim va Arduino tomonidagi aloqani kodlashim kerak edi.
Endi boshlaylik…
1 -qadam: Sizga nima kerak?
Bu cheksiz soatni yaratish uchun sizga kerak bo'lgan narsa (narxlar ko'rsatma):
- Arduino nano (2 AQSh dollari)
- WS2812 yoritgichlari, har bir metr uchun 60 led (6 AQSh dollari) kabi manzilli LED tasmasi
- Bluetooth moduli, masalan, HC-05 (3 AQSh dollari)
- Non paneli (1,5 AQSh dollari)
- 5V kuchlanishli, 4A yoki undan ko'p quvvatni etkazib bera oladi
- Bir nechta elektr simlari
- Android bilan ishlaydigan smartfon va Bluetooth Electronics ilovasi KeuwlSoft -dan
- O'rta zichlikdagi tolali taxtaning ba'zi qismlari (MDF, qalinligi 3 mm va qalinligi 10 mm)
- Shaffof pleksiglas yoki perspeksli plastinka (taxminan 15-20 AQSh dollari)
- Ko'zgu va yarim ko'zgu oynali yopishtiruvchi plyonkalar (4 dan 15 dollargacha)
- Ulagichlar, rezistorlar va bitta 1000 mF sig'im
- Bir oz yopishqoq va yopishqoq lenta.
Soat geometriyasi printsipi diagrammasi
Pleksi plastinka qalinligi 2 dan 3 mm gacha bo'lishi kerak, shuning uchun u ishlatilganda mahkam o'rnida qoladi.
Yuqoridagi diagrammada soat geometriyasi tushuntirilgan. Led tasmasi ikkita oyna orasiga joylashtirilgan. Albatta, sizga chiziqdagi 60 ta LED kerak. Siz har bir metr uchun 60 ta LEDli chiziqlarni topishingiz mumkin, shuning uchun ulardan biri yaxshi. Keyin, aylananing perimetri 1 m, diametri 100/PI = 31,8 sm (taxminan 12,53 dyuym).
Komponentlaringizni tayyorlang
3 mm MDF taxtasida bu diametrli aylanani kesib oling. Buni amalga oshirish uchun men mahalliy fabrikaga bordim va lazerli kesgichdan foydalanishni so'radim. Agar ular mehribonlik bilan so'rashsa va siz taxta bilan kelsangiz, ular buni siz uchun ham qila oladilar: bunga atigi bir necha soniya kifoya qiladi. U erda bo'lganingizda, xuddi shu diskni pleksiglas plastinkangizga kesib oling.
MDF plitasidan endi sizda disk va dumaloq teshikli plastinka bor. Ikkalasini ham keyinroq saqlang.
LEDlarni joyida ushlab turish uchun qalinligi 1 sm bo'lgan MDFdan bir xil diametrli ingichka tsilindrni kesib oling. Qalinligi muhim emas, chunki u juda mo'rt emas. LED tasmasi bu silindrning ichiga joylashtiriladi, shuning uchun ichki perimetri chiziq uzunligi bilan bir xil bo'lishi muhim. Juda uzun yoki juda qisqa, va ba'zi LEDlar tartibsiz joylashishi mumkin, shuning uchun bu erda juda aniq bo'ling.
Bunday qalin plastinani kesish yupqa plastinkani kesishdan ko'ra biroz ko'proq vaqt talab qilishi mumkin. Fablab egasidan ularning qalinligi kesish uchun lazer kesgichi etarlimi, deb so'rang. Men uchun lazer bu qism uchun o'n martadan ko'proq o'tishi kerak edi, boshqa plastinka uchun atigi ikki marta.
Siz ham…
Bu erda MDF o'rniga shaffof yoki rangli pleksiglas taxtalarni ishlatish mumkin. Pleksiglas qora, sariqdan yashil va binafsha ranggacha bo'lgan turli xil ranglarda mavjud, shuning uchun ularni sinashdan tortinmang.
Fablab ularni qanday kesishni biladi va pleksiglasni kesish yog'ochga qaraganda "toza", bu lazer yo'lida "yonishi" mumkin (men lazer energiyasi tufayli rangini o'zgartiraman). Ko'zgu pleksiglas ham mavjud, bu sizni oynali plyonka sotib olishdan qutqaradi. Shuni esda tutingki, uni kesayotganda, oynani orqa tomoniga lazer yuborish kerak.
Quyida lazerni kesish uchun geometriya fayllari keltirilgan.
2 -qadam: soatni yig'ing
Soatni yasash uchun siz sxemaga muvofiq qismlarni yig'ishingiz kerak.
Ishni tayyorlang
Birinchidan, oyna plyonkasini MDF diskiga yopishtiring. Bu soatning pastki qismi bo'ladi.
Ikkinchidan, yarim shaffof plyonkani pleksiglas diskiga yopishtiring. Bu soatning old oynasini hosil qiladi. Ushbu disk MDF plastinkasiga, aylana teshigiga joylashtiriladi: agar kerak bo'lsa, uni yog'och elim yordamida yopishtiring yoki silikon kauchukdan foydalaning.
Oxir -oqibat, LEDlarni tayyorlang. WS2812 LED -lari 3 ta biriktiruvchi prokladkadan foydalanadi: kuchlanish manbai, er va buyruq. Agar allaqachon 3 ta elektr simlari ulangan bo'lsa, ularni ishlating. Aks holda, ulanish joylariga 3 ta simni lehimlang. Esda tutingki, LEDlar qutblangan qurilmalar: bu oqim faqat bitta yo'nalishda oqishini bildiradi. Bu yo'nalish strelkada o'q bilan ko'rsatilgan. Keyin, chiziqlar uchida o'qlar keladigan joydan simlar lehimlanishi kerak (o'qlar ko'rsatiladigan uchi emas).
LEDlarni qalin MDF silindriga joylashtiring va 3 qismni elim va / yoki lenta bilan yig'ing.
Keyin elektron qism
Arduino -ni non paneliga qo'ying va yuqorida ko'rsatilgan sxemani yarating. Barcha asoslar (GND) ulanganligiga ishonch hosil qiling (Arduino-dan GND, HC-05 moduli, LED tasmasi va ta'minoti).
- HC-05 Bluetooth modulining RX va TX pinlari Arduino D3 va D2 pinlariga ulangan.
- LED chizig'ining ma'lumot liniyasi D12 piniga ulangan, agar sizda bo'lsa, orasiga 300 Ohmli rezistorni qo'yishingiz mumkin.
Agar siz pimlarni o'zgartirmoqchi bo'lsangiz, ularning ta'riflarini kodga mos ravishda o'zgartiring (ino faylining 7 va 13 -qatorlari).
E'tibor bering, HC-05 moduli quyida ko'rsatilgandek, RX pimi uchun kuchlanish taqsimlagichni talab qiladi. Shunday qilib, sizga bitta 1000 Ohm va bitta 2000 Ohmli rezistorlar kerak bo'ladi.
Ta'minot Arduino uchun ham, LED tasmasi uchun ham ishlatiladi. Avval 1000 mF kondansatörü vintli terminalga ulang (domino). Agar sizda bo'lsa, tez ulagichdan foydalanishingiz mumkin. Batafsil ma'lumot uchun bu erga qarang.
Bu kondansatör ham qutblangan bo'lishi mumkin: + va - oyoqlari + va - manbaiga ulanganligiga ishonch hosil qiling. Kondansatör tasvirida ko'rinib turibdiki, oyoq katta minus belgisi bilan belgilanadi.
Keyin ulagichdan LED chizig'ini va Arduino kartasini ulash uchun elektr simlarini ulang. Yuqorida aytib o'tilganidek, barcha GND bir -biriga ulangan bo'lishi kerak. Ta'minotning ijobiy potentsialidan, chiziqning 5V simini ulang va Arduino -ning 5V piniga simni torting: uni hozircha uzilmagan holda qoldiring, siz uni oxirigacha ulaysiz.
Hamma narsani ikki marta tekshiring
Barcha ulanishlarni ikki marta tekshiring … Agar sizda elektr uzluksizligini tekshirish uchun multimetrdan foydalaning.
Agar hamma narsa to'g'ri bo'lsa, sizning soatingiz deyarli tayyor. Hozircha etkazib bermang.
3 -qadam: Kodni yuklang
Dastur qilaylik
Kodni Arduino nano -ga yuklash uchun Arduino IDE -dan foydalaning. Barcha fayllarni Arduino papkasidagi "Horloge_LED3_nano_BTOK" nomli papkaga joylashtiring. IDE -ni oching, kerakli parametrlarni tanlang (taxta turi, COM porti va boshqalar) va yuklash tugmasini bosing.
Android smartfoningizga Bluetooth Electronics ilovasini o'rnating, uni Google Play -da osongina topishingiz mumkin. Ushbu ko'rsatmali "BluetoothElectronicsCode.txt" faylini yuklab oling va kengaytmani zip -ga o'zgartiring: siz Bluetooth Electronics -da ishlaydigan smartfon interfeysi uchun kodli ZIP arxivini olasiz.
Tayyor bo'lgach, quvvat manbaiga ulang. LEDlar yonadi, HC-05 moduli ham ulanishni qidirish uchun yonadi. Android ilovasini ishga tushiring va Bluetooth modulini smartfon bilan ulash uchun ko'rsatmalarga amal qiling. Tayyor bo'lgach, HMI -ni ishga tushiring: siz o'ynashga tayyormiz!
Eslab qoling…
Ipning birinchi LEDini soatning yuqori qismiga qo'yish kerak. Agar siz u erga joylashtirmagan bo'lsangiz, siz koddagi ofset parametr qiymatini o'zgartirishingiz mumkin (ino faylining 65 -satri). Bunga g'amxo'rlik qiladi.
LED chizig'ini sayoz tsilindrga yopishtirganingizda, ikkita variant bor edi: tasma soat yo'nalishi bo'yicha yoki teskari yo'nalishda. Agar siz buni noto'g'ri qilgan bo'lsangiz, soat qo'llari noto'g'ri tomonga buriladi! Hech qisi yo'q; tashvishga o'rin yo'q. Sens_horaire mantiqiy o'zgaruvchining qiymatini rostga o'zgartiring (ino faylining 77 -qatori)
4 -qadam: Xursand bo'ling
Oxirgi sozlama…
Endi vaqtni belgilang. Buni HMI ning chap pastki qismidagi kichik konsolda yozadigan oddiy buyruqlar yordamida amalga oshirish mumkin.
- Hxx: soatni xx ga o'rnating (masalan: H4)
- Myy: daqiqalarni belgilang (masalan: M15)
- Szz: soniyalarni o'rnating (masalan: S30)
Buyruqlar orasiga yulduzcha qo'yish orqali zanjirband qilinishi mumkin, masalan: H4*M15*S35
Soatlar va / yoki daqiqalarni sozlash sekundlarni nolga qaytaradi.
Siz soatni KIRMIZI LED, daqiqalarni Yashil LED kuzatib borishini ko'rasiz:
Soat 9:52:00!
HMI -dagi slayder yordamida soniyalar rangini o'zgartirish mumkin
Slayderni siljitganda, o'ngdagi kichik doira joriy rangni ko'rsatadi. Slayder to'xtaganda, u rangni soatga yuboradi va shunga mos ravishda soniyalarning LEDi o'zgaradi.
ANIMATION va PALETTE slayderlari yordamida soat animatsiyasini tanlash va sozlash mumkin. Ularni sinab ko'ring va ba'zi misollar uchun videoni ko'ring. HMI -ning ba'zi sozlamalarini o'zgartirganda, kichik konsol Arduino -dan javobni ko'rsatadi.
Animatsiyalar…
- 0: Vaqtni ko'rsatadi, slayder yordamida soniyalar rangini o'zgartirishingiz mumkin.
- 1: o'zgaruvchan amplitudali rangli fon (siz rangni o'zgartirishingiz mumkin).
- 2: aylanadigan kamalak
- 3: soniyada bir burilish yasaydigan rangli tasma (uni o'zgartirish mumkin).
- 4: ikkinchi qo'ldan sakraydigan rangli chiziq.
- 5: tasodifiy amplitudali rangli fon (siz palitrani o'zgartirishingiz mumkin).
- 6: Vaqtni ko'rsatadi, soniya qo'li yorug'lik amplitudasini o'zgartiradi.
- 7: aylanadigan bayroqlar (4 ta mumkin bo'lgan bayroqni o'zgartirish uchun palitrani o'zgartiring)
Frantsiya bayrog'i - soat 7:11:51
Yaqinda tasodifiy tanlangan animatsiya uchun har 15 soniyada o'zgarib turadigan yana bir animatsiya qo'shildi.
MINUTES tugmasi har 5 daqiqada oq LEDlarni yoqadi va o'chiradi.
Soat 7:11:25
E'tibor bering, video va fotosuratlar smartfon yordamida yaratilgan va shuning uchun sifatsiz. Ranglar videodagi ko'rinishga qaraganda soat bo'yicha ancha yorqinroq va aniqroq …
Yana nima?
Umid qilamanki, siz bu cheksiz soatni yoqtirasiz. Qilish uchun juda ko'p narsa bor: siz MDF old plastinkasini chiroyli qilib bo'yashingiz mumkin, silindrning tashqi tomoniga boshqa chiziqli lentani qo'shishingiz mumkin, shunda devorga yorug'lik tushadi va hokazo.
5 -qadam: Vaqtni aniq saqlash uchun yangi versiya
Arduino nanosining soati o'z vaqtida siljiydi, chunki uning aniq soati yo'q. Men aniq vaqtni saqlash uchun Real Time Clock (RTC) yordamida boshqa versiyani yaratdim.
RTC har xil modellarda mavjud, men DS3231 modulidan foydalanishni tavsiya qilaman, bu juda aniq (DS1307 bilan solishtirganda). Dasturning bu yangi versiyasida MD-DS3231 kutubxonasi ishlatiladi, bu erda. Arduino papkasida Horloge_LED3_nano_BT_RTC nomli yangi papka yarating va barcha fayllarni yuklang.
DS3231 -ni I2C qurilmasi sifatida, ya'ni SDA -ni A4 -ga va SCL -ni A5 -ga ulang.
Birinchidan, siz RTC vaqtini belgilashingiz kerak. Masalan, bu ko'rsatmalarni yoki ushbu qo'llanmani ko'ring.
Horloge_LED3_nano_BT_RTC.ino faylini Arduino nanosiga yuklang va ishga tushiring. Vaqt har 30 daqiqada yangilanadi, shuning uchun soat har doim aniq bo'lib qoladi.
Albatta, siz batareyani RTC moduliga ega bo'lishingiz kerak, chunki u Arduino tomonidan ta'minlanmagan bo'lsa ham, RTC tirik qoladi va u aniq vaqtni saqlay oladi.
Tavsiya:
Bluetooth Smartfon tomonidan boshqariladigan Smart LED chiroq: 7 qadam
Bluetooth Smartfon tomonidan boshqariladigan Smart LED chiroq: Men har doim o'zimning yoritish asboblarimni boshqarishni orzu qilaman. Keyin kimdir aql bovar qilmaydigan rangli LED chiroqni yasadi. Men yaqinda Youtube -da Jozef Kashaning LED lampasini uchratdim. Bundan ilhomlanib, men konfiditsiyani saqlashda bir nechta funktsiyalarni qo'shishga qaror qildim
3D bosilgan cheksiz soat: 3 qadam (rasmlar bilan)
3D bosilgan cheksiz soatlar: Shunday qilib, bu soatni g'oyasi cheksizlik ramzi shaklida qilishdan iborat bo'lib, uning bir tomoni soat qo'lini, ikkinchisi esa daqiqani ko'rsatadi. Agar sizda biron bir taklif yoki savol bo'lsa. dizayn yoki kod uchun
Smartfon tomonidan boshqariladigan Bluetooth LEDlari (jonli musiqani sinxronlashtirish bilan): 7 qadam
Smartfon bilan boshqariladigan Bluetooth LEDlari (Live Music Sync bilan): Men har doim qurilish ishlarini yaxshi ko'raman, chunki men kollejdagi yangi yotoqxonada dahshatli yorug'lik borligini bilganimdan so'ng, uni biroz zo'rlashga qaror qildim. *** OGOHLANTIRISH *** bu loyiha mening sozlamalarim bilan bir xil darajada, siz munosib miqdordagi elementlar bilan ishlaysiz
Arduino bilan ishlaydigan, sensorlar tomonidan boshqariladigan o'chadigan LED yorug'lik chiziqlari: 6 qadam (rasmlar bilan)
Arduino bilan ishlaydigan, yorug'lik sensori boshqariladigan yorug'lik chiroqlari: Men yaqinda oshxonamni yangiladim va yorug'lik shkaflarning ko'rinishini "ko'tarishini" bilardim. Men "Haqiqiy qo'lsizlar" ga bordim, shuning uchun menda ish joyining tagida bo'sh joy bor, shkaf tagida, shkaf tagida va mavjud shkaflarning tepasida
ARDUINO YUN tomonidan boshqariladigan ROOMBA STEFANO DALL'OLIO tomonidan Wifi ilovasi orqali: 4 qadam (rasmlar bilan)
AROMINO YUN tomonidan boshqariladigan ROOMBA Wifi ilovasi orqali STEFANO DALL'OLIO: Ushbu qo'llanmada men ARDUINO YUN -ni Roomba -ga Wi -Fi orqali ulash uchun kodni ulashaman. Kod va ilovani to'liq Stefano Dall yaratgan va ishlab chiqqan. Olio.Mening Roomba - bu Roomba 620, lekin siz xuddi shu kodni boshqa Roomb uchun ishlatishingiz mumkin