Cuprins:

Roată curcubeu Digispark și WS2812 într-o cutie: 4 pași (cu imagini)
Roată curcubeu Digispark și WS2812 într-o cutie: 4 pași (cu imagini)

Video: Roată curcubeu Digispark și WS2812 într-o cutie: 4 pași (cu imagini)

Video: Roată curcubeu Digispark și WS2812 într-o cutie: 4 pași (cu imagini)
Video: Meșterici - Flori curcubeu 2024, Noiembrie
Anonim
Image
Image
Digispark & WS2812 Rainbow Wheel in a Box
Digispark & WS2812 Rainbow Wheel in a Box
Digispark & WS2812 Rainbow Wheel in a Box
Digispark & WS2812 Rainbow Wheel in a Box

Acest proiect minuscul a fost realizat în jurul unei cutii de lemn frumos sculptate de 10x6x5cm pe care am găsit-o într-un magazin.

Cea mai bună caracteristică a sa, care de fapt nu a fost surprinsă în mod corespunzător pe cameră, este să se aprindă cu culori strălucitoare, saturate, cu laturile capacului cutiei sculptate în copaci.

Pe de altă parte, rețineți că utilizarea unui efect curcubeu pe o bandă de LED-uri înguste RGB 5050 va duce întotdeauna la o iluminare albicioasă la câțiva centimetri de LED-uri, deoarece culoarea fiecărui pixel se amestecă în curând cu vecinii săi. Dacă doriți să evitați acest efect, puteți încerca să utilizați un obiectiv de focalizare

Luminozitatea lămpii este menținută proporțional cu lumina ambientală datorită unui LDR: lampa va străluci în condiții de zi și nu va fi prea strălucitoare atunci când este utilizată ca lumină de noapte, în întuneric.

Provizii

Proiect de lege de materiale:

  • o placă Attiny85 Digispark (clonă), cu încărcătorul de încărcare Micronucleus
  • o bară 8x WS2812
  • un LDR, folosit pentru a regla luminozitatea lămpii în funcție de mediul înconjurător
  • un rezistor de tracțiune de 10KΩ pentru LDR
  • un cablu micro USB pentru a programa Digispark și pentru a alimenta lampa după ce ați terminat
  • o cutie goală din lemn
  • o sursă de alimentare de 5V⎓ (capabilă să furnizeze nu mai puțin de 500mA)

Abilități și instrumente:

  • PlatformIO (care rulează pe Visual Studio Code) ca IDE - orice IDE Arduino va face treaba, totuși
  • un fier de lipit, unele fire de lipit și abilități de bază de lipit
  • niște cabluri, foarfece
  • ceva lipici, pensete
  • ceva vopsea opacă (pentru a acoperi LED-ul Digispark și pentru a proteja LDR de influența luminii lămpii)

Pasul 1: Digispark și PlatformIO

Digispark (și fiecare clonă care implică același microcontroler pe 8 biți) este o placă de breakout construită în jurul unui AVR Attiny85, capabilă de comunicare USB simplă datorită unui bootloader Micronucleus. Vă rugăm să găsiți orice informații suplimentare pe wiki-ul său:

PlatformIO este ecosistemul pe care l-am folosit pentru a programa Digispark. Pentru a lucra cu acesta, trebuie să instalați Visual Studio Code

Pasul 2: Schemă și cablare

Schemă și cablare
Schemă și cablare
Schemă și cablare
Schemă și cablare
Schemă și cablare
Schemă și cablare

Lipire

  1. conectați trei fire la bara WS2812 (masă, intrare de putere și intrare de date)
  2. împământare sârmă și Vcc la 5V și pinul GND al Digispark
  3. lipiți firul rămas la pinul P0 al Digispark
  4. lipiți un rezistor de 10KΩ la pinii GND și P2 ai plăcii
  5. folosiți două fire pentru a conecta pinii LDR la 5V și P2 (am folosit fire emailate abia vizibile din motive estetice)

Pasul 3: Firmware

Găsiți codul pentru acest proiect pe GitHub:

Bine de știut:

  • #include trebuie utilizat în timp ce lucrați cu PlatformIO
  • parametrii, cum ar fi atribuirea pinilor, numărul de LED-uri WS2812, viteza roții curcubeu și pragurile întunecate / luminoase pentru ambele LED-uri și LDR sunt la începutul codului
  • Adafruit Neopixel este biblioteca utilizată pentru controlul LED-urilor WS2812
  • Biblioteca RunningMedian este utilizată pentru a face citirile LDR mai stabile; datorită limitelor setate, mapării limitelor luminozității LED-urilor, acest lucru este deosebit de plăcut în condiții de luminozitate scăzută, unde o fluctuație mică poate duce la o pâlpâire enervantă
  • Nu veți găsi nicio încercare de a bloca Attiny85, astfel încât proiectul va rămâne editabil

Câteva indicii (care apar și în fișierul README.md de pe GitHub):

  • Pentru a încărca codul, asigurați-vă că aveți un cablu USB cu fiecare pin conectat: cablurile de încărcare ieftine au adesea doar + 5V și conectate la pământ
  • Încărcarea de pe PlatformIO pe DigiSpark are nevoie de dvs. pentru a conecta DigiSpark după compilare, chiar dacă consola nu avertizează „acum este timpul să vă conectați DigiSpark”, așa cum face Arduino IDE.
  • Remediere rapidă pentru problema la încărcarea pe DigiSpark de la PlatformIO pe MacOS: problema 111 PIO
  • Încărcătoarele USB ieftine pot oferi ieșiri murdare / zgomotoase, ceea ce ar putea face ca LED-urile să pâlpâie ciudat mai ales la luminozitate scăzută: asigurați-vă că aveți o sursă curată de 5VDC sau că filtrați adăugând un condensator (sau un circuit mai adecvat)

Pasul 4: Carcasă și finisare

Carcasă și finisare Touch
Carcasă și finisare Touch
Carcasă și finisare Touch
Carcasă și finisare Touch
Carcasă și finisare Touch
Carcasă și finisare Touch
  • Faceți o gaură în cutia la alegere pentru găzduirea proiectului, pentru a vă conecta cablul USB. Rețineți că cu cât este mai mare gaura din jurul conectorului micro USB, cu atât mai multă scurgere de lumină de pe bara LED, cu excepția cazului în care nu veți oferi o sigilare opacă.
  • Sculptați o gaură pentru LDR; asigurați-vă că ați îndreptat nu spre zona care va fi iluminată de LED-uri, altfel autoreglarea va cădea într-o buclă
  • Gravați suprafața interioară pentru a face loc pentru bara LED, deoarece nu ar trebui să doriți să vedeți direct LED-urile în timp ce vă uitați la lampă
  • Sigilați cu un mediu opac partea inferioară a LDR, pentru a evita orice interferență în detectarea luminozității mediului cauzată de bara WS2812.
  • Folosiți o picătură de vopsea opacă pentru a masca ledul de putere Digispark, evitând astfel să strălucească în interiorul cutiei
  • Lipiți placa Digispark, bara LED, LDR și fiecare cablu pentru a evita ca interiorul cutiei goale să pară dezordonat
  • Prevedeți un cablu USB cu întrerupător, pentru a porni și opri cu ușurință lampa

Recomandat: