Mundarija:

Smartfon tomonidan boshqariladigan cheksiz soat: 5 qadam (rasmlar bilan)
Smartfon tomonidan boshqariladigan cheksiz soat: 5 qadam (rasmlar bilan)

Video: Smartfon tomonidan boshqariladigan cheksiz soat: 5 qadam (rasmlar bilan)

Video: Smartfon tomonidan boshqariladigan cheksiz soat: 5 qadam (rasmlar bilan)
Video: TELЕFON XOTIRASINI KUTARISH|| Телефон Хотирасини Кутариш. 2024, Noyabr
Anonim
Image
Image
Smartfon tomonidan boshqariladigan cheksiz soat
Smartfon tomonidan boshqariladigan cheksiz soat
Smartfon tomonidan boshqariladigan cheksiz soat
Smartfon tomonidan boshqariladigan cheksiz soat

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!

Rasm
Rasm

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.

Rasm
Rasm

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.

Rasm
Rasm

Endi boshlaylik…

1 -qadam: Sizga nima kerak?

Sizga nima kerak?
Sizga nima kerak?
Sizga nima kerak?
Sizga nima kerak?
Sizga nima kerak?
Sizga nima kerak?
Sizga nima kerak?
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.
Rasm
Rasm

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.

Rasm
Rasm

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 yig'ing
Soatni yig'ing
Soatni yig'ing
Soatni yig'ing
Soatni yig'ing
Soatni yig'ing
Soatni yig'ing
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.

Rasm
Rasm

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.

Rasm
Rasm

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.

Rasm
Rasm

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.

Rasm
Rasm

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

Kodni yuklang
Kodni yuklang
Kodni yuklang
Kodni yuklang
Kodni yuklang
Kodni yuklang
Kodni yuklang
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.

Rasm
Rasm

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)

Rasm
Rasm

4 -qadam: Xursand bo'ling

Xursand bo'ling!
Xursand bo'ling!
Xursand bo'ling!
Xursand bo'ling!
Xursand bo'ling!
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:

Rasm
Rasm

Soat 9:52:00!

HMI -dagi slayder yordamida soniyalar rangini o'zgartirish mumkin

Rasm
Rasm

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)
Rasm
Rasm

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.

Rasm
Rasm

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.

Rasm
Rasm

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: