Indholdsfortegnelse:

Digispark & WS2812 Rainbow Wheel in a Box: 4 trin (med billeder)
Digispark & WS2812 Rainbow Wheel in a Box: 4 trin (med billeder)

Video: Digispark & WS2812 Rainbow Wheel in a Box: 4 trin (med billeder)

Video: Digispark & WS2812 Rainbow Wheel in a Box: 4 trin (med billeder)
Video: Почтовый пакет AliExpress #24 Часть 2 из 2 Почтовый пакет / Почтовый пакет для электроники с AliExpress 2024, November
Anonim
Image
Image
Digispark & WS2812 Rainbow Wheel i en æske
Digispark & WS2812 Rainbow Wheel i en æske
Digispark & WS2812 Rainbow Wheel in a Box
Digispark & WS2812 Rainbow Wheel in a Box

Dette lille projekt er lavet omkring en pænt udskåret 10x6x5cm trækasse, jeg fandt i en butik.

Dens bedste funktion, som faktisk ikke er blevet fanget ordentligt på kameraet, er at lyse op med lyse, mættede farver, siderne af boksen med træskårne låg.

På den anden side skal du være opmærksom på, at brug af en regnbueeffekt på en stribe smalle RGB 5050 LED'er altid vil resultere i en hvidlig belysning inden for nogle centimeter fra LED'erne, da hver pixels farve snart blandes med naboernes. Hvis du vil undgå denne effekt, kan du prøve at bruge et fokuseringsobjektiv

Lampens lysstyrke holdes proportional med det omgivende lys takket være en LDR: lampen vil lyse under dagslysforhold og vil ikke være for lys, når den bruges som natlys i mørket.

Forbrugsvarer

Stykliste:

  • ét Attiny85 Digispark (klon) bord med sin Micronucleus bootloader
  • en 8x WS2812 bar
  • en LDR, bruges til at justere lampens lysstyrke afhængigt af omgivelserne
  • en 10KΩ pull-up modstand til LDR
  • et USB -mikrokabel til at programmere Digispark og til at tænde lampen, når den er færdig
  • en hul trækasse
  • en 5V⎓ strømkilde (i stand til at levere ikke mindre end 500mA)

Færdigheder og værktøjer:

  • PlatformIO (kører på Visual Studio Code) som IDE - enhver Arduino IDE vil dog gøre jobbet
  • et loddejern, noget loddetråd og grundlæggende loddeevner
  • nogle ledninger, saks
  • lidt lim, pincet
  • lidt uigennemsigtig maling (til at dække Digispark LED og for at beskytte LDR mod at blive påvirket af lampelyset)

Trin 1: Digispark og PlatformIO

Digispark (og hver klon, der involverer den samme 8-bit mikrokontroller) er et breakout-kort bygget op omkring en AVR Attiny85, der er i stand til direkte USB-kommunikation takket være en Micronucleus bootloader. Find yderligere oplysninger om dens wiki:

PlatformIO er det økosystem, jeg plejede at programmere Digispark. For at arbejde med det skal du installere Visual Studio Code

Trin 2: Skematisk og ledningsføring

Skematisk og ledningsføring
Skematisk og ledningsføring
Skematisk og ledningsføring
Skematisk og ledningsføring
Skematisk og ledningsføring
Skematisk og ledningsføring

Lodning

  1. tilslut tre ledninger til WS2812 bar (jord, strømindgang og dataindgang)
  2. jordforbindelse og Vcc til 5V og GND -pin på Digispark
  3. lod den resterende ledning til Digisparks P0 pin
  4. lod en 10KΩ modstand til GND- og P2 -benene på brættet
  5. brug to ledninger til at forbinde LDR til 5V og P2 ben (jeg brugte næsten ikke synlige emaljerede ledninger af æstetiske årsager)

Trin 3: Firmware

Find koden til dette projekt på min GitHub:

Godt at vide:

  • #include skal bruges, mens du arbejder med PlatformIO
  • parametrene, som stifternes tildeling, antal WS2812 lysdioder, regnbuehastighed og mørke/lyse tærskler for både lysdioder og LDR er i begyndelsen af koden
  • Adafruit Neopixel er det bibliotek, der bruges til at styre WS2812 -lysdioderne
  • RunningMedian bibliotek bruges til at gøre LDR -aflæsninger mere stabile; på grund af de fastsatte grænser, kortlægning af LED -lysstyrkegrænser, er dette især rart i tilstand med lav lysstyrke, hvor en lille svingning kan resultere i et irriterende flimmer
  • Du finder ikke noget forsøg på at låse Attiny85, så projektet forbliver redigerbart

Nogle tip (vises også i filen README.md på GitHub):

  • For at uploade koden skal du sørge for at have et USB -kabel med hver pin tilsluttet: billige ladekabler har ofte bare +5V og jordforbundet
  • Når du uploader fra PlatformIO til DigiSpark, skal du tilslutte DigiSpark efter kompilering, selvom konsollen ikke advarer "nu er det tid til at tilslutte din DigiSpark", som Arduino IDE gør.
  • Hurtig løsning til problem ved upload til DigiSpark fra PlatformIO på MacOS: PIO problem 111
  • Billige USB -opladere kan give beskidt/støjende output, hvilket kan få lysdioder til at flimre mærkeligt især ved lav lysstyrke: sørg for at have en ren 5VDC -kilde eller filtrer tilføjelse af en kondensator (eller et mere korrekt kredsløb)

Trin 4: Casing & Finishing Touch

Casing & Finishing Touch
Casing & Finishing Touch
Casing & Finishing Touch
Casing & Finishing Touch
Casing & Finishing Touch
Casing & Finishing Touch
  • Skær et hul i boksen efter eget valg for at være vært for projektet, for at tilslutte dit USB -kabel. Vær opmærksom på, at jo større hullet omkring mikro -USB -stikket er, desto mere lækker lys fra din LED -bar, medmindre du ikke giver en uigennemsigtig forsegling.
  • Skær et hul til LDR; Sørg for, at den ikke peger mod det område, der vil blive belyst af lysdioderne, ellers falder auto-reguleringen i en loop
  • Graver den indvendige overflade for at give plads til LED -stangen, da du ikke direkte vil se LED'erne, mens du ser på din lampe
  • Forsegl med et uigennemsigtigt medium bunden af LDR, for at undgå forstyrrelser i registreringen af miljøets lysstyrke forårsaget af WS2812 bar
  • Brug en dråbe uigennemsigtig maling til at maskere Digispark -strømledningen, så du undgår at den lyser inde i kassen
  • Lim Digispark -bord, LED -stang, LDR og hvert kabel for at undgå, at det indre af din hule kasse ser urørt ud
  • Forvent et USB -kabel med en switch, så du let kan tænde og slukke lampen

Anbefalede: