INHOUDSOPGAWE:

Digispark & WS2812 Rainbow Wheel in a Box: 4 stappe (met foto's)
Digispark & WS2812 Rainbow Wheel in a Box: 4 stappe (met foto's)

Video: Digispark & WS2812 Rainbow Wheel in a Box: 4 stappe (met foto's)

Video: Digispark & WS2812 Rainbow Wheel in a Box: 4 stappe (met foto's)
Video: Rainbow wheel, wooden box (8x WS2812, DigiSpark, NeoPixel) 2024, November
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

Hierdie klein projek is gemaak rondom 'n mooi gesnyde houtkas van 10x6x5cm wat ek in 'n winkel gevind het.

Die beste kenmerk, wat nie regtig op die kamera vasgevang is nie, is om aan te steek met helder, versadigde kleure, die kante van die boomgesnyde deksel van die boks.

Aan die ander kant, wees bewus daarvan dat die gebruik van 'n reënboog -effek op 'n strook smal RGB 5050 LED's altyd 'n witterige verligting van 'n paar sentimeter van die LED's tot gevolg het, aangesien die kleur van elke pixel spoedig met die bure meng. As u hierdie effek wil vermy, kan u 'n fokuslens gebruik

Die helderheid van die lamp word eweredig gehou aan die omringende lig danksy 'n LDR: die lamp skyn in daglig en is nie te helder as dit as 'n naglig in die donker gebruik word nie.

Voorrade

Materiaallêer:

  • een Attiny85 Digispark (kloon) bord, met sy Micronucleus selflaaiprogram
  • een 8x WS2812 staaf
  • een LDR, wat gebruik word om die helderheid van die lamp af te stem, afhangende van die omgewing
  • een 10KΩ optrekweerstand vir die LDR
  • 'n USB -mikrokabel om die Digispark te programmeer en die lamp aan te skakel sodra dit klaar is
  • 'n hol houtkas
  • 'n 5V⎓ kragbron (wat nie minder as 500mA kan lewer nie)

Vaardighede en gereedskap:

  • PlatformIO (loop op Visual Studio Code) as die IDE - maar enige Arduino IDE sal die werk doen
  • 'n soldeerbout, 'n paar soldeerdraad en basiese soldeervaardighede
  • 'n paar bedrading, 'n skêr
  • bietjie gom, pincet
  • 'n bietjie ondeursigtige verf (om Digispark LED te bedek en om die LDR te beskerm teen die lamplig)

Stap 1: Digispark en PlatformIO

Digispark (en elke kloon wat dieselfde 8-bis-mikrobeheerder insluit) is 'n uitbreekbord wat rondom 'n AVR Attiny85 gebou is, wat eenvoudige USB-kommunikasie moontlik maak danksy 'n Micronucleus-laaiprogram. Vind meer inligting op die wiki:

PlatformIO is die ekosisteem wat ek gebruik het om die Digispark te programmeer. Om daarmee te werk, moet u Visual Studio Code installeer

Stap 2: Skematiese en bedrading

Skematiese en bedrading
Skematiese en bedrading
Skematiese en bedrading
Skematiese en bedrading
Skematiese en bedrading
Skematiese en bedrading

Soldeer

  1. verbind drie drade met die WS2812 -staaf (grond, kraginvoer en data -invoer)
  2. draad gemaal en Vcc na 5V en GND -pen van die Digispark
  3. soldeer die oorblywende draad aan Digispark se P0 -pen
  4. soldeer 'n 10KΩ -weerstand aan die GND- en P2 -penne van die bord
  5. gebruik twee drade om die LDR aan 5V- en P2 -penne te koppel (ek het om estetiese redes skaars sigbare geëmailleerde drade gebruik)

Stap 3: Firmware

Vind die kode vir hierdie projek op my GitHub:

Goed om te weet:

  • #include moet gebruik word terwyl u met PlatformIO werk
  • die parameters, soos penne se toewysing, aantal WS2812 LED's, reënboogwiel spoed en donker/helder drempels vir beide LED's en LDR is aan die begin van die kode
  • Adafruit Neopixel is die biblioteek wat gebruik word om die WS2812 LED's te beheer
  • RunningMedian -biblioteek word gebruik om LDR -lesings stabieler te maak; As gevolg van die gestelde grense, die kartering van die LED -helderheidsgrense, is dit veral aangenaam in 'n lae helderheidstoestand, waar 'n klein skommeling 'n irriterende flikkering kan veroorsaak
  • U sal geen poging vind om die Attiny85 te sluit nie, dus die projek kan bewerkbaar bly

Enkele wenke (verskyn ook in die README.md -lêer op GitHub):

  • Om die kode op te laai, moet u 'n USB -kabel hê met elke draadpen: goedkoop laaikabels het dikwels net +5V en is bedraad
  • As u van PlatformIO na DigiSpark oplaai, moet u die DigiSpark aansluit nadat u dit opgestel het, alhoewel die konsole nie waarsku 'dit is nou tyd om u DigiSpark aan te sluit', soos Arduino IDE doen.
  • Vinnige oplossing vir probleem met die oplaai na DigiSpark vanaf PlatformIO op MacOS: PIO -uitgawe 111
  • Goedkoop USB -laaiers kan vuil/raserige uitset lewer, wat LED's vreemd kan laat flikker, veral by lae helderheid: maak seker dat u 'n skoon 5VDC -bron het, of filter deur 'n kondensator (of 'n meer behoorlike stroombaan) by te voeg.

Stap 4: Omhulsel en afwerking

Omhulsel en afwerking
Omhulsel en afwerking
Omhulsel en afwerking
Omhulsel en afwerking
Omhulsel en afwerking
Omhulsel en afwerking
  • Maak 'n gat in die boks van u keuse om die projek aan te bied, om u USB -kabel aan te sluit. Hou in gedagte dat hoe groter die gat rondom die mikro -USB -aansluiting is, hoe meer lig uit u LED -balk kom, tensy u 'n ondeursigtige seël gee.
  • Kerf 'n gat vir die LDR; maak seker dat dit nie na die gebied wys wat deur die LED's verlig sal word nie, anders val die outomatiese regulering in 'n lus
  • Graveer die binneste oppervlak om plek te maak vir die LED -balk, aangesien u nie die LED's direk wil sien terwyl u na u lamp kyk nie
  • Verseël die onderkant van die LDR met 'n ondeursigtige medium om te voorkom dat enige inmenging in die helderheid van die omgewing waarneem, die WS2812 -staaf
  • Gebruik 'n druppel ondeursigtige verf om die Digispark -kragleiding te masker, en voorkom dat dit in die boks skyn
  • Plak Digispark -bord, LED -staaf, LDR en elke kabel om te voorkom dat die binnekant van u hol boks onnet lyk
  • Voorsien 'n USB -kabel met 'n skakelaar om die lamp maklik aan en uit te skakel

Aanbeveel: