Talaan ng mga Nilalaman:

Digispark & WS2812 Rainbow Wheel sa isang Kahon: 4 na Hakbang (na may Mga Larawan)
Digispark & WS2812 Rainbow Wheel sa isang Kahon: 4 na Hakbang (na may Mga Larawan)

Video: Digispark & WS2812 Rainbow Wheel sa isang Kahon: 4 na Hakbang (na may Mga Larawan)

Video: Digispark & WS2812 Rainbow Wheel sa isang Kahon: 4 na Hakbang (na may Mga Larawan)
Video: Arduino: NeoPixel Gradient sweep function 2024, Nobyembre
Anonim
Image
Image
Digispark & WS2812 Rainbow Wheel sa isang Kahon
Digispark & WS2812 Rainbow Wheel sa isang Kahon
Digispark & WS2812 Rainbow Wheel sa isang Kahon
Digispark & WS2812 Rainbow Wheel sa isang Kahon

Ang maliliit na proyekto na ito ay ginawa sa paligid ng maayos na larawang inukit na 10x6x5cm na kahon na gawa sa kahoy na nakita ko sa isang tindahan.

Ang pinakamahusay na tampok na ito, na kung saan ay hindi talaga naabutan ng maayos sa camera, ay ang mag-ilaw ng maliliwanag, puspos na mga kulay, sa mga gilid ng takip na nakaukit na puno ng kahon.

Sa kabilang panig, magkaroon ng kamalayan na ang paggamit ng isang bahaghari epekto sa isang strip ng makitid na RGB 5050 LEDs ay palaging magreresulta sa isang puting ilaw sa loob ng ilang sentimo mula sa mga LED, dahil ang kulay ng bawat pixel ay malapit nang ihalo sa mga kapitbahay nito. Kung nais mong iwasan ang epektong ito, maaari mong subukang gumamit ng ilang nakatuon na lens

Ang ningning ng lampara ay pinapanatili proporsyonal sa nakapaligid na ilaw salamat sa isang LDR: ang lampara ay lumiwanag sa mga kundisyon ng liwanag ng araw at hindi magiging masyadong maliwanag kapag ginamit bilang isang nightlight, sa dilim.

Mga gamit

Bill ng mga materyales:

  • isang board ng Attiny85 Digispark (clone), kasama ang Micronucleus bootloader nito
  • isang 8x WS2812 bar
  • isang LDR, ginagamit upang ibagay ang ningning ng ilaw depende sa paligid
  • isang 10KΩ pull-up risistor para sa LDR
  • isang USB micro cable upang mai-program ang Digispark at upang mapagana ang lampara nang tapos na
  • isang guwang na kahon na gawa sa kahoy
  • isang mapagkukunang 5V⎓ power (may kakayahang magbigay ng hindi mas mababa sa 500mA)

Mga kasanayan at tool:

  • Ang PlatformIO (tumatakbo sa Visual Studio Code) bilang IDE - gayunpaman, ang anumang Arduino IDE ay gagawin ang trabaho
  • isang soldering iron, ilang solder wire at pangunahing mga kasanayan sa paghihinang
  • ilang mga kable, gunting
  • ilang pandikit, sipit
  • ilang pintura ng opaque (upang takpan ang Digispark LED at upang maprotektahan ang LDR mula sa maimpluwensyahan ng ilaw ng lampara)

Hakbang 1: Digispark at PlatformIO

Ang Digispark (at bawat pag-clone na kinasasangkutan ng parehong 8-bit microcontroller) ay isang breakout board na itinayo sa paligid ng isang AVR Attiny85, na may kakayahang prangka na komunikasyon sa USB salamat sa isang Micronucleus bootloader. Mangyaring maghanap ng anumang karagdagang impormasyon sa wiki nito:

Ang PlatformIO ay ang ecosystem na ginamit ko upang i-program ang Digispark. Upang magtrabaho kasama nito, kailangan mong i-install ang Visual Studio Code

Hakbang 2: Skematika at Mga Kable

Schematic at Kable
Schematic at Kable
Schematic at Kable
Schematic at Kable
Schematic at Kable
Schematic at Kable

Paghihinang

  1. ikonekta ang tatlong mga wire sa WS2812 bar (ground, power input at data input)
  2. wire ground at Vcc sa 5V at GND pin ng Digispark
  3. solder ang natitirang kawad sa Digispark's P0 pin
  4. maghinang ng isang 10KΩ risistor sa GND at P2 na mga pin ng board
  5. gumamit ng dalawang wires upang ikonekta ang LDR sa 5V at P2 na mga pin (Gumamit ako ng halos hindi nakikita na mga enamel na wires para sa mga kadahilanang pang-estetika)

Hakbang 3: Firmware

Hanapin ang code para sa proyektong ito sa aking GitHub:

Masarap malaman:

  • #include ay dapat gamitin habang nagtatrabaho sa PlatformIO
  • ang mga parameter, tulad ng pagtatalaga ng mga pin, bilang ng mga WS2812 LEDs, bilis ng rainbow wheel at madilim / maliwanag na mga threshold para sa parehong LEDs at LDR ay nasa simula ng code
  • Ang Adafruit Neopixel ay ang silid-aklatan na ginamit upang makontrol ang WS2812 LEDs
  • Ginagamit ang library ng RunningMedian upang gawing mas matatag ang mga pagbasa ng LDR; dahil sa mga itinakdang hangganan, pagmamapa ng mga hangganan ng ilaw ng LED, ito ay lalong maganda sa mababang kalagayan ng ningning, kung saan ang isang maliit na pagbabago-bago ay maaaring magresulta sa isang nakakainis na pagkutitap
  • Hindi ka makakahanap ng anumang pagtatangka ng pagla-lock ng Attiny85, kaya't mananatiling mai-e-edit ang proyekto

Ang ilang mga pahiwatig (lumilitaw din sa README.md file sa GitHub):

  • Upang mai-upload ang code, siguraduhing magkaroon ng isang USB cable na may bawat pin na wired: ang mga murang mga singilin na cable ay madalas na may + 5V at ground wired lamang.
  • Ang pag-upload mula sa PlatformIO patungong DigiSpark ay kailangan mong i-plug ang DigiSpark pagkatapos ng pag-iipon, kahit na hindi binalaan ng console na "oras na upang i-plug ang iyong DigiSpark", tulad ng ginagawa ng Arduino IDE.
  • Mabilis na pag-aayos para sa isyu sa pag-upload sa DigiSpark mula sa PlatformIO sa MacOS: isyu ng PIO 111
  • Ang mga murang USB charger ay maaaring magbigay ng marumi / maingay na output, na maaaring gawing kakatwa ang mga LEDs lalo na sa mababang ningning: siguraduhing magkaroon ng isang malinis na mapagkukunan ng 5VDC, o upang mag-filter ng pagdaragdag ng isang kapasitor (o isang mas tamang circuit)

Hakbang 4: Pag-Casing at Pagtatapos ng Touch

Casing at Pagtatapos ng Touch
Casing at Pagtatapos ng Touch
Casing at Pagtatapos ng Touch
Casing at Pagtatapos ng Touch
Casing at Pagtatapos ng Touch
Casing at Pagtatapos ng Touch
  • Mag-ukit ng isang butas sa kahon na iyong pinili para sa pagho-host ng proyekto, upang mai-plug ang iyong USB cable. Magkaroon ng kamalayan na ang mas malaki ang butas sa paligid ng micro USB konektor, mas maraming pagtulo ng ilaw mula sa iyong LED bar, maliban kung hindi ka magbibigay ng ilang opaque seal.
  • Mag-ukit ng isang butas para sa LDR; tiyakin na ituro hindi patungo sa lugar na ililiawan ng mga LED, kung hindi man ang auto-regulasyon ay mahuhulog sa isang loop
  • Ukitin ang panloob na ibabaw upang makagawa ng puwang para sa LED bar, dahil hindi mo nais na direktang makita ang mga LED habang tinitingnan ang iyong lampara
  • Seal na may isang opaque medium sa ilalim ng LDR, upang maiwasan ang anumang pagkagambala sa pagiging maliwanag ng kapaligiran sa pag-unawa sanhi ng WS2812 bar
  • Gumamit ng isang patak ng opaque na pintura upang takpan ang lakas na humantong sa Digispark, sa gayon maiiwasan ang pagniningning sa loob ng kahon
  • Pandikit Digispark board, LED bar, LDR at bawat cable upang maiwasan ang loob ng iyong guwang na kahon na mukhang hindi maayos
  • Hulaan ang isang USB cable na may switch, upang madaling i-on at i-off ang lampara

Inirerekumendang: