Mundarija:

Digispark va WS2812 qutidagi kamalak g'ildiragi: 4 qadam (rasmlar bilan)
Digispark va WS2812 qutidagi kamalak g'ildiragi: 4 qadam (rasmlar bilan)

Video: Digispark va WS2812 qutidagi kamalak g'ildiragi: 4 qadam (rasmlar bilan)

Video: Digispark va WS2812 qutidagi kamalak g'ildiragi: 4 qadam (rasmlar bilan)
Video: 🛠️ Бегущие огни на Digispark ATtiny85 и WS2812B 2024, Noyabr
Anonim
Image
Image
Digispark & WS2812 qutidagi kamalak g'ildiragi
Digispark & WS2812 qutidagi kamalak g'ildiragi
Digispark & WS2812 qutidagi kamalak g'ildiragi
Digispark & WS2812 qutidagi kamalak g'ildiragi

Bu kichkina loyiha men do'konda topilgan 10x6x5 sm o'lchamdagi yog'och o'yinchoq atrofida yasalgan.

Uning kameraga to'g'ri tushmagan eng yaxshi xususiyati-qutining daraxt bilan o'yilgan qopqog'ining yon tomonlarini to'yingan ranglar bilan yoritish.

Boshqa tomondan, bilingki, RGB 5050 diodli tor chiziqli kamalak effektidan foydalanish har doim LED -lardan bir necha santimetr ichida oq rangda yoritilishiga olib keladi, chunki har bir pikselning rangi tez orada qo'shnilari bilan aralashadi. Agar siz bunday ta'sirdan qochmoqchi bo'lsangiz, siz fokusli linzalardan foydalanishga harakat qilishingiz mumkin

Chiroqning yorqinligi LDR yordamida atrof -muhit nuriga mutanosib ravishda saqlanadi: chiroq kunduzgi vaqtda porlaydi va tunda, qorong'uda ishlatilganda juda yorug 'bo'lmaydi.

Ta'minotlar

Hisobot materiallari:

  • bitta Attiny85 Digispark (klon) platasi, uning Micronucleus yuklagichi
  • bitta 8x WS2812 bar
  • atrof -muhitga qarab chiroqning yorqinligini sozlash uchun ishlatiladigan bitta LDR
  • LDR uchun bitta 10KΩ tortish qarshiligi
  • USB mikro kabeli Digispark -ni dasturlash va chiroqni tugatgandan so'ng uni yoqish uchun
  • ichi bo'sh yog'och quti
  • 5V⎓ quvvat manbai (kamida 500mA)

Ko'nikmalar va vositalar:

  • PlatformIO (Visual Studio Code -da ishlaydigan) IDE sifatida - har qanday Arduino IDE bu ishni bajaradi
  • lehimlantiruvchi temir, ba'zi lehim simlari va asosiy lehim qobiliyatlari
  • ba'zi simlar, qaychi
  • bir oz elim, cımbız
  • bir oz shaffof bo'yoq (Digispark LEDini yopish va LDRni chiroq nuri ta'siridan himoya qilish uchun)

1 -qadam: Digispark va PlatformIO

Digispark (va bir xil 8-bitli mikrokontrolder ishtirokidagi har bir klon)-bu AVR Attiny85 atrofida qurilgan, Micronucleus yuklash vositasi yordamida USB orqali oddiy aloqa qilish imkoniyatiga ega bo'lgan uzilishlar paneli. Iltimos, o'z vikisida boshqa ma'lumotlarni toping:

PlatformIO - bu men Digisparkni dasturlash uchun ishlatgan ekotizim. U bilan ishlash uchun siz Visual Studio kodini o'rnatishingiz kerak

2 -qadam: sxemalar va simlar

Sxemalar va simlar
Sxemalar va simlar
Sxemalar va simlar
Sxemalar va simlar
Sxemalar va simlar
Sxemalar va simlar

Lehimlash

  1. WS2812 satriga uchta simni ulang (er, quvvat manbai va ma'lumot kiritish)
  2. simli tuproq va Vcc Digisparkning 5V va GND piniga
  3. qolgan simni Digisparkning P0 piniga lehimlang
  4. taxtaning GND va P2 pinlariga 10KΩ qarshilikni lehimlang
  5. LDRni 5V va P2 pinlariga ulash uchun ikkita simni ishlating (men estetik sabablarga ko'ra deyarli ko'rinmaydigan emallangan simlardan foydalanardim)

3 -qadam: dasturiy ta'minot

GitHub -dan ushbu loyihaning kodini toping:

Bilish yoqimli:

  • #include PlatformIO bilan ishlashda ishlatilishi kerak
  • PIN kodi, WS2812 LEDlar soni, kamalak g'ildiragi tezligi va LED va LDR uchun qorong'i/yorqin chegaralar kabi parametrlar kodning boshida joylashgan.
  • Adafruit Neopixel - bu WS2812 LEDlarini boshqarish uchun ishlatiladigan kutubxona
  • LDR o'qilishini barqaror qilish uchun RunningMedian kutubxonasi ishlatiladi; Belgilangan chegaralar tufayli, LED yorug'lik chegaralarini xaritalash, bu, ayniqsa, past nashrida yaxshi bo'ladi, bu erda mayda tebranish zerikarli miltillashga olib kelishi mumkin.
  • Siz Attiny85 -ni qulflashga urinishni topa olmaysiz, shuning uchun loyiha tahrir qilinadigan bo'lib qoladi

Ba'zi maslahatlar (GitHub -dagi README.md faylida ham paydo bo'ladi):

  • Kodni yuklash uchun har bir pinli USB kabeli borligiga ishonch hosil qiling: arzon zaryadlovchi kabellar ko'pincha faqat +5V va erga ulangan.
  • PlatformIO -dan DigiSpark -ga yuklash, kompilyatsiya qilinganidan so'ng, DigiSpark -ni ulashingiz kerak, garchi konsol "DigiSpark -ni ulash vaqti keldi", Arduino IDE kabi ogohlantirmasa ham.
  • MacOS -dagi PlatformIO -dan DigiSpark -ga yuklashda muammoni tezda hal qilish: 111 -sonli PIO -son
  • Arzon USB zaryadlovchi qurilmalari iflos/shovqinli chiqishni ta'minlay oladi, bu esa LEDlarni g'alati tarzda miltillashiga olib kelishi mumkin, ayniqsa, past yorqinlikda.

4 -qadam: Koson va tugatish tugmasi

Qoplama va tugatish tugmasi
Qoplama va tugatish tugmasi
Qoplama va tugatish tugmasi
Qoplama va tugatish tugmasi
Qoplama va tugatish tugmasi
Qoplama va tugatish tugmasi
  • USB kabelini ulash uchun loyihani joylashtirish uchun siz tanlagan qutiga teshik oching. Shuni yodda tutingki, mikro USB ulagichi atrofidagi teshik qanchalik katta bo'lsa, shaffof muhr bermasangiz, LED chizig'idan yorug'lik oqadi.
  • LDR uchun teshik oching; svetodiodlar bilan yoritiladigan maydonni ko'rsatmasligiga ishonch hosil qiling, aks holda avtomatik tartibga solish halqaga tushadi.
  • LED paneli uchun joy ajratish uchun ichki yuzani o'yib yozing, chunki siz chiroqni ko'rib turganingizda LEDlarni to'g'ridan -to'g'ri ko'rishni xohlamaysiz.
  • WS2812 chizig'i atrof -muhitning yorqinligini sezishga xalaqit bermaslik uchun, LDR pastki qismini shaffof bo'lmagan muhit bilan muhrlang.
  • Digispark quvvat manbaini niqoblash uchun bir tomchi shaffof bo'yoqdan foydalaning, shunda u qutining ichida porlab ketmasin
  • Bo'shliq qutining ichki qismi tartibsiz ko'rinmasligi uchun Digispark taxtasi, LED paneli, LDR va har bir kabelni yopishtiring.
  • Chiroqni osongina yoqish va o'chirish uchun kalitli USB kabelini oldindan ko'rib chiqing

Tavsiya: