Mündəricat:

Digispark & WS2812 Gökkuşağı Təkər Bir Qutuda: 4 Addım (Şəkillərlə birlikdə)
Digispark & WS2812 Gökkuşağı Təkər Bir Qutuda: 4 Addım (Şəkillərlə birlikdə)

Video: Digispark & WS2812 Gökkuşağı Təkər Bir Qutuda: 4 Addım (Şəkillərlə birlikdə)

Video: Digispark & WS2812 Gökkuşağı Təkər Bir Qutuda: 4 Addım (Şəkillərlə birlikdə)
Video: DIY xmas tree WS2812 RGB LED Digispark 🎄 2024, Iyul
Anonim
Image
Image
Digispark & WS2812 Gökkuşağı Təkər Bir Qutuda
Digispark & WS2812 Gökkuşağı Təkər Bir Qutuda
Digispark & WS2812 Gökkuşağı Təkər Bir Qutuda
Digispark & WS2812 Gökkuşağı Təkər Bir Qutuda

Bu kiçik layihə, bir mağazada tapdığım 10x6x5 sm ölçülü gözəl bir taxta qutunun ətrafında hazırlanmışdır.

Kameraya düzgün şəkildə çəkilməyən ən yaxşı xüsusiyyəti, qutunun ağacdan oyulmuş qapağının tərəflərini parlaq, doymuş rənglərlə işıqlandırmaqdır.

Digər tərəfdən, dar bir RGB 5050 LED şeridində bir göy qurşağı effektinin istifadə edilməsinin hər zaman LED -lərdən bir neçə santimetr aralığında ağ rəngli bir işıqla nəticələnəcəyini unutmayın, çünki hər bir pikselin rəngi tezliklə qonşuları ilə qarışır. Bu təsirdən qaçmaq istəyirsinizsə, bir az fokus lens istifadə edə bilərsiniz

LDR sayəsində lampanın parlaqlığı ətrafdakı işığa mütənasib olaraq saxlanılır: lampa gündüz işığında parlayacaq və qaranlıqda gecə işığı kimi istifadə edildikdə çox parlaq olmayacaq.

Təchizat

Sənəd materialı:

  • Micronucleus yükləyicisi olan bir Attiny85 Digispark (klon) lövhəsi
  • bir 8x WS2812 çubuğu
  • bir LDR, ətrafdan asılı olaraq lampanın parlaqlığını tənzimləmək üçün istifadə olunur
  • LDR üçün bir 10KΩ çəkmə müqaviməti
  • Digispark -ı proqramlaşdırmaq və bitirdikdən sonra lampanı gücləndirmək üçün USB mikro kabel
  • boş bir taxta qutu
  • 5V⎓ güc mənbəyi (500mA -dan az olmamalıdır)

Bacarıqlar və vasitələr:

  • PlatformIO (Visual Studio Kodunda işləyən) IDE olaraq - hər hansı bir Arduino IDE bu işi görəcək
  • bir lehimləmə dəmiri, bəzi lehim teli və əsas lehimləmə bacarıqları
  • bəzi naqillər, qayçı
  • bir az yapışqan, cımbız
  • bəzi qeyri -şəffaf boya (Digispark LEDini örtmək və LDR -ni lampa işığının təsirindən qorumaq üçün)

Addım 1: Digispark və PlatformIO

Digispark (və eyni 8 bitlik mikrokontrolörün daxil olduğu hər bir klon), Micronucleus yükləyicisi sayəsində sadə USB ilə əlaqə qura bilən bir AVR Attiny85 ətrafında qurulmuş bir qırılma lövhəsidir. Zəhmət olmasa, vikisində başqa məlumat tapa bilərsiniz:

PlatformIO, Digisparkı proqramlaşdırmaq üçün istifadə etdiyim ekosistemdir. Bununla işləmək üçün Visual Studio Kodunu qurmalısınız

Addım 2: Şematik və Kablolama

Sxem və naqillər
Sxem və naqillər
Sxem və naqillər
Sxem və naqillər
Sxem və naqillər
Sxem və naqillər

Lehimləmə

  1. WS2812 çubuğuna üç tel bağlayın (torpaq, güc girişi və məlumat girişi)
  2. Digisparkın 5V və GND pininə tel topraklama və Vcc
  3. qalan teli Digispark P0 pininə lehimləyin
  4. lövhənin GND və P2 sancaqlarına 10KΩ müqavimət lehimləyin
  5. LDR -ni 5V və P2 sancaqlarına bağlamaq üçün iki teldən istifadə edin (estetik səbəblərdən çox az görünən emaye tellərdən istifadə etdim)

Addım 3: Firmware

GitHub -da bu layihənin kodunu tapın:

Bilmək xoşdur:

  • PlatformIO ilə işləyərkən #include istifadə edilməlidir
  • sancaqlar təyinatı, WS2812 LED sayı, göy qurşağı təkər sürəti və həm LED, həm də LDR üçün qaranlıq/parlaq eşiklər kimi parametrlər kodun əvvəlindədir.
  • Adafruit Neopixel, WS2812 LED -lərini idarə etmək üçün istifadə olunan kitabxanadır
  • RunningMedian kitabxanası LDR oxumalarını daha sabit etmək üçün istifadə olunur; müəyyən edilmiş sərhədlər səbəbindən, LED parlaqlıq sərhədlərinin xəritələndirilməsi, kiçik bir dalğalanmanın əsəbi titrəməyə səbəb ola biləcəyi aşağı parlaqlıq şəraitində xüsusilə gözəldir.
  • Attiny85 -i kilidləmək üçün heç bir cəhd tapa bilməyəcəksiniz, buna görə də layihə redaktə olaraq qalacaq

Bəzi göstərişlər (GitHub -da README.md faylında da görünür):

  • Kodu yükləmək üçün hər bir pinli bir USB kabeli olduğundan əmin olun: ucuz şarj kabellərində çox vaxt yalnız +5V və topraklama naqilləri var.
  • PlatformIO -dan DigiSpark -a yükləyərkən, konsol Arduino IDE -nin etdiyi kimi "indi DigiSpark -ı bağlamağın vaxtıdır" xəbərdarlığını etməsə də, tərtib etdikdən sonra DigiSpark -ı bağlamanız lazımdır.
  • MacOS -da PlatformIO -dan DigiSparka yüklənmə problemi üçün sürətli həll: PIO məsələ 111
  • Ucuz USB şarj cihazları çirkli/səs -küylü çıxış təmin edə bilər ki, bu da LED -lərin qəribə bir şəkildə titrəməsinə səbəb ola bilər: təmiz 5VDC mənbəyinə və ya bir kondansatör (və ya daha uyğun bir dövrə) əlavə etdiyinizə əmin olun.

Addım 4: Korpus və son toxunuş

Korpus və son toxunuş
Korpus və son toxunuş
Korpus və son toxunuş
Korpus və son toxunuş
Korpus və son toxunuş
Korpus və son toxunuş
  • USB kabelinizi bağlamaq üçün layihəni yerləşdirmək üçün seçdiyiniz qutuda bir deşik açın. Unutmayın ki, mikro USB konnektorunun ətrafındakı delik nə qədər böyükdürsə, bir qədər qeyri -şəffaf bir möhür verməsəniz LED çubuğunuzdan işığın sızması daha çox olur.
  • LDR üçün bir çuxur kəsin; LED-lərlə işıqlandırılacaq sahəni göstərmədiyinizə əmin olun, əks halda avtomatik tənzimləmə bir döngəyə düşəcək
  • LED çubuğuna yer açmaq üçün daxili səthi oyun, çünki lampanıza baxarkən birbaşa LEDləri görmək istəmirsiniz.
  • WS2812 çubuğunun ətraf mühitin parlaqlığını hiss etməsinə mane olmamaq üçün LDR -nin alt hissəsini qeyri -şəffaf bir mühitlə bağlayın.
  • Digispark güc ledini maskalamaq üçün bir damla qeyri -şəffaf boya istifadə edin, beləliklə qutunun içərisində parıldamasın
  • İçinizdəki boş qutunun içinin səliqəsiz görünməməsi üçün Digispark lövhəsi, LED çubuğu, LDR və hər kabeli yapışdırın.
  • Lampanı asanlıqla yandırıb söndürmək üçün açarı olan bir USB kabelini gözdən keçirin

Tövsiyə: