Indholdsfortegnelse:

Neopixel natlys: 14 trin (med billeder)
Neopixel natlys: 14 trin (med billeder)

Video: Neopixel natlys: 14 trin (med billeder)

Video: Neopixel natlys: 14 trin (med billeder)
Video: Wifi ile Cep Telefonundan Kontrol Edilen LED #led #wifi #cep #telefon 2024, November
Anonim
Neopixel natlys
Neopixel natlys

Af joshua.brooksFølg mere af forfatteren:

Pogo pin programmeringsstik
Pogo pin programmeringsstik
Pogo pin programmeringsstik
Pogo pin programmeringsstik
Håndholdt Zoetrope-skulptur
Håndholdt Zoetrope-skulptur
Håndholdt Zoetrope-skulptur
Håndholdt Zoetrope-skulptur
Desktop NeoPixel ur
Desktop NeoPixel ur
Desktop NeoPixel ur
Desktop NeoPixel ur

Jeg giver nogle workshops inden for elektronik om et par uger, centreret omkring et billigt, men nyttigt virkeligt projekt. Da jeg forsøgte at finde på noget at lave, ville jeg have det til at involvere en mikrokontroller, NeoPixel LED'er (fordi de er fantastiske), være fjernstyret og give mulighed for forskellige byggemuligheder. Det skulle også være fuldt simulerbart i Tinkercad. Dette er det projekt, der udviklede sig.

Det pakker nogle virkelig fede funktioner ind i en lille enhed, kan tilpasses og er ret enkel at bygge.

Liste over dele:

  • Printkort (OSHPARK)
  • NeoPixel ring 12 (Adafruit)
  • ATtiny85 mikrokontroller (DigiKey)
  • 22 gauge solid-core wire (DigiKey, Amazon, Radio Shack osv.)
  • (valgfri) Infrarød modtager (DigiKey)
  • (valgfri, men stærkt anbefalet) 1μF elektrolytkondensator (DigiKey)
  • (valgfri) Trykknap (Jameco)
  • (valgfri) 2 x 3-benet header (DigiKey)
  • (valgfri) 2 x Shunt -jumper (DigiKey)
  • (valgfri) 8-benet DIP-stik (DigiKey)
  • (valgfrit) 4-benet retvinklet header (DigiKey)
  • (valgfri) IR fjernbetjening (Amazon)
  • Gorilla Tape (Amazon)
  • USB -vægforsyning (Amazon)

Værktøjsliste:

  • Loddejern & lodning
  • Trådskærer
  • Wire stripper
  • Tang
  • Saks

Trin 1: Design og simulering

Som jeg nævnte tidligere, ville jeg bruge den gratis Tinkercad til dette projekt. Jeg besluttede mig for fuldt ud at designe og teste det der, før jeg nogensinde rørte ved ægte elektronik. Dette tillod mig at sikre, at alt (inklusive ATtiny85 -firmwaren) ville fungere. Her er det virtuelle kredsløb. Du kan trykke på "Start simulering" herunder for at prøve det.

Trin 2: De nødvendige dele

De nødvendige dele
De nødvendige dele

Dette projekt er designet til at give fleksibilitet i, hvordan det er bygget. Så afhængigt af hvad du vil gøre med det, har du muligvis ikke brug for alle delene. Der er tre dele (og wire), der er absolut nødvendige. Det er muligt at bygge noget funktionelt med netop disse.

Neopixel Ring 12 - ringen har tolv NeoPixels, der kan styres individuelt til næsten enhver farve.

ATtiny85 - dette er mikrokontrolleren (lille computer), der får NeoPixels til at danse og har grænseflader med flere af de valgfrie komponenter (infrarød modtager, trykknap osv.).

Printkort - printkortet (PCB) giver alle de elektriske forbindelser mellem de anvendte dele og er enhedens stive rygrad. Den zip -gerber -fil, der sendes til en PCB -producent, er på denne side. Der er mange tavleproducenter derude. Her er linket til bestilling af tavlen fra OSHPARK.

22 gauge solid -core wire - tråden bruges til at forbinde NeoPixel -ringen til printkortet.

Trin 3: Valgfri dele

Valgfrie dele
Valgfrie dele

Der er en række valgfrie dele, som du måske vil overveje at inkludere. Her er hvorfor du måske vil have dem.

Infrarød modtager - den infrarøde modtager er en enkelt komponent, der gør det muligt at styre enheden med en standard håndholdt IR fjernbetjening (tænk fjernsyn). Fjernbetjeninger fra forskellige producenter udsender forskellige signaler, så firmwaren skal muligvis ændres for at genkende din fjernbetjening, hvis den ikke er en af dem, jeg brugte.

1μF elektrolytkondensator - kondensatoren fungerer som en slags midlertidigt batteri, der kan levere ekstra strøm, når den nødvendige elektriske strøm i enheden pludselig ændres (NeoPixels går f.eks. Fra off til full -on). Det kan også udligne spændingen til enheden, når du bruger en billig USB -strømforsyning. Hvis du bruger en anstændig USB -strømkilde, kan dette udelades.

Trykknap - trykknappen giver dig mulighed for at styre enheden ved (gæt hvad?) At trykke på knappen.

3 -benede header (r) og shunt -jumper (r) - disse kan sættes på plads i stedet for trykknappen, så enheden kan konfigureres, baseret på hvordan shunt -jumpere er placeret. Den 3-polede hanhoved bliver permanent forbundet (loddet) til brættet, og shunt-jumperen er tryktilpasset på hovedet og kan let fjernes og flyttes. Hvis der bruges en header, kan jumperen vælge mellem to forskellige tilstande. Hvis begge overskrifter bruges, er fire tilstande mulige.

8 -benet DIP -stik - stikket gør det muligt at fjerne mikrokontrolleren (ATtiny85) og udskifte den, så den kan omprogrammeres senere, hvis du vil ændre, hvordan enheden fungerer. Hvis du ved, at du aldrig behøver at omprogrammere mikrokontrolleren, er dette ikke nødvendigt.

4-benet retvinklet header-den retvinklede header bruges, hvis du ønsker, at USB-stikket skal stikke lige ud af bagsiden af enheden, i stedet for fra siden.

Trin 4: Programmer mikrokontrolleren

Jeg vil ikke gå for meget i detaljer om programmering af mikrokontrolleren, fordi instruktioner let findes andre steder (jeg inkluderer et link herunder). Jeg brugte et Arduino UNO -kort til at fungere som en programmeringsenhed for controlleren ved hjælp af metoden beskrevet i denne Instructable. I den viser den følgende kortlægning fra Arduino -pins til ATtiny -pins til programmering:

  • Arduino +5V → ATtiny Pin 8
  • Arduino Ground → ATtiny Pin 4
  • Arduino Pin 10 → ATtiny Pin 1
  • Arduino Pin 11 → ATtiny Pin 5
  • Arduino Pin 12 → ATtiny Pin 6
  • Arduino Pin 13 → ATtiny Pin 7

Kildekoden til natlyset kan findes her (https://github.com/cacklestein/led-night-light).

Trin 5: Saml brættet (valgfrit indledende trin)

Saml brættet (valgfrit indledende trin)
Saml brættet (valgfrit indledende trin)
Saml brættet (valgfrit indledende trin)
Saml brættet (valgfrit indledende trin)
Saml brættet (valgfrit indledende trin)
Saml brættet (valgfrit indledende trin)

Dele skal tilføjes brættet i en bestemt rækkefølge for at gøre tingene lette. Hvis du har det godt med placeringen af USB -stikket på kortet, kan du springe resten af dette trin over og gå videre til den næste del af samlingen. Men hvis du ønsker, at stikket skal stikke ud på bagsiden af brættet, er det nu på tide at tilføje den retvinklede overskrift.

Start med omhyggeligt at fjerne USB-stikket fra resten af printkortet. Hold den større del af brættet med en hånd, og brug en tang med en kant direkte ved siden af perforeringslinjen med små huller til forsigtigt at fjerne tappen. Sæt fanen til side. du får brug for dette i et senere trin.

Placer den retvinklede overskrift på bagsiden af brættet som vist på billedet. Bagsiden af brættet er siden med "123D CIRCUITS" silketryk på det (eller måske skal jeg sige "123D CIRC", fordi du lige har brudt "UITS").

Lodde hovedet på plads og anvende loddetæt på oversiden af brættet.

Brug gode trådskærere til at klippe lederne af overskriften, der stikker ud fra oversiden af brættet så tæt på brættet som muligt. Dette er vigtigt, fordi disse kundeemner syger et sted i midten af, hvor ATtiny85 i sidste ende vil gå.

Trin 6: Tilføj mikrokontrollerstikket

Tilføj mikrokontrollerstikket
Tilføj mikrokontrollerstikket
Tilføj mikrokontrollerstikket
Tilføj mikrokontrollerstikket
Tilføj mikrokontrollerstikket
Tilføj mikrokontrollerstikket

Nu er det tid til at lodde enten det 8-benede DIP-stik-ELLER-ATtiny85 på plads. Jeg anbefaler stærkt at bruge stikket, fordi det gør det muligt at fjerne ATtiny85 let og sætte det på igen, hvis du senere vil foretage ændringer i programmet. på oversiden af brættet. Den øverste side er den uden "123D -kredsløb" trykt på den. Vend brættet om, og læg det fladt på bordet eller et andet arbejdsområde for at holde fatningen på plads. Lod lodstiftene til brættet. Hvis du tilføjede 4-benet retvinklet overskrift i det foregående trin, vil disse ben være noget i vejen. Vinkl jernet til lodning under dem.

Trin 7: Tilføj flere ting

Tilføj flere ting!
Tilføj flere ting!
Tilføj flere ting!
Tilføj flere ting!
Tilføj flere ting!
Tilføj flere ting!

Nu er det tid til at tilføje knappen eller jumperoverskrifterne, IR -modtageren og kondensatoren.

Hvis du vil have trykknappen, skal du passe de 4 ben gennem hullerne under mikrokontrollerstikket på oversiden af brættet. Du vil bemærke, at der er 6 huller. Bare rolig om dette. De to huller i midten bruges ikke. Vend brættet om og lod trykknappen på plads.

Hvis du vil bruge shunt-jumpere i stedet, skal du indsætte de to 3-bens headers (kortere side af benene ned) i disse huller på oversiden. Vend igen brættet, og lod stifterne på plads.

Monter derefter den infrarøde modtager gennem de 3 huller på oversiden af brættet. Match orienteringen af den til omridset på silketryk. indsæt den så langt, som den går, og bøj den tilbage, så den lille bobleside vender op væk fra brættet. Vend brættet om og lod det på plads. Brug trådskærere til at fjerne stifternes overskydende længde fra undersiden efter lodning.

Til sidst tilføjes kondensatoren. Dens stifter passer gennem de resterende to huller over den infrarøde modtager. Den hvide stribe på siden af kondensatoren ('-' negative side) vender væk fra ATtiny85-stikket. Vend igen brættet, lod lodningerne på plads, og klip overskydende af med trådskærere.

Trin 8: Tilføj NeoPixel -ringen

Tilføj NeoPixel -ringen
Tilføj NeoPixel -ringen
Tilføj NeoPixel -ringen
Tilføj NeoPixel -ringen
Tilføj NeoPixel -ringen
Tilføj NeoPixel -ringen

NeoPixel-ringen er fastgjort ved hjælp af 4 stykker 22 gauge solid-core wire, med isoleringen fjernet. Start med at skære et ledningssnit på mindst 4 tommer i længden. Brug wire strippere til at fjerne ALLE isoleringen.

Skær denne ledning i 4 lige lange længder. Bøj hver ledning i en "L" -form omkring 1/4 tommer fra den ene ende.

Med brættets underside opad, skal du indsætte disse ledninger i hullerne i brættets 4 hjørner. Den bøjede sektion forhindrer dem i at glide hele vejen igennem. Lod dem på plads, og klip det bøjede overskud af fra undersiden med trådskærere.

Vend kortet om, og før forsigtigt ledningerne gennem de 4 huller på NeoPixel -ringen med NeoPixels vendt væk fra printkortet. Vær omhyggelig med at matche hullerne i NeoPixel -ringen med hullerne på printkortet. Navnene på hullerne er trykt på hver. Match PWR, GND, IN og OUT.

Skub ringen ned så tæt på printkortet som muligt. Tingene kan være lidt stramme, især omkring kondensatoren og IR -sensoren. Hvis ringen ikke vil gå helt ned, skal du ikke svede den.

Hold ringen så tæt på kredsløbskortet, og bøj ledningerne ud for at holde tingene på plads.

Lod ringen til ledningerne, og klip den overskydende ledning af med trådskærere.

Trin 9: Tilføj fanen USB -stik (valgfrit trin)

Tilføj fanen USB -stik (valgfrit trin)
Tilføj fanen USB -stik (valgfrit trin)
Tilføj fanen USB -stik (valgfrit trin)
Tilføj fanen USB -stik (valgfrit trin)

Hvis du vælger at få USB-stikket til at stikke lige ud af bagsiden, er det nu tid til at vedhæfte det til den 4-benede retvinklede header, som du tilføjede tidligere.

Monter hullerne på fanen, som du fjernede tidligere, på den retvinklede overskrift, så de 4 kobber-USB-kontakter vender mod "CIRC" -siden af brættet, og "UITS" -siden af fanen vender mod "123D" -siden.

Lod dette på plads.

Trin 10: Tilføj ATtiny85

Tilføj ATtiny85
Tilføj ATtiny85

Hvis du loddet 8-benet DIP-stikket på plads, er det nu tid til at sætte ATtiny85 i det.

Juster ATtiny85, så hjørnet med prikken er tættest på den hvide prik på printkortet. Tryk forsigtigt på ATtiny85 på plads, og sørg for, at alle stifter går, hvor de skal.

Trin 11: Tykk USB -stikket

Tyk USB -stikket
Tyk USB -stikket

Typisk vil de printkort, du får, være lidt tyndere end det, der forventes af et USB -stik. En enkel løsning på dette er at skære en lille firkant Gorilla Tape og tilføje den på bagsiden af USB -stikket (siden uden USB -kobberkontakter!). Gorilla Tape er cirka dobbelt så tykt som normalt gaffatape og fungerede perfekt for mig.

Trin 12: Prøv det

Prøve det
Prøve det
Prøve det
Prøve det
Prøve det
Prøve det
Prøve det
Prøve det

Slut dit nye natlys til en strømforsynet USB -vægadapter eller en anden tilgængelig USB -stikkontakt (på din computer osv.). Hvis alt gik godt, skulle det lyse! Hvis du tilføjede den valgfri IR -modtager og har en fjernbetjening, der fungerer med firmwaren (som Apple TV -fjernbetjeningen på billederne), kan du ændre visningstilstanden.

Alternativt, hvis du har installeret knappen, kan du trykke på den for at ændre tilstande.

Hvis du i stedet har installeret shunt -jumperhovederne, kan shunt -jumperne placeres for at ændre startvisningstilstanden.

Trin 13: Shunt Jumper -indstillinger

Shunt Jumper -indstillinger
Shunt Jumper -indstillinger

Hvis du valgte at installere shunt -jumperhovederne, kan du indstille opstartstilstanden baseret på, hvor shunt -jumperne er placeret:

Venstre position A + Højre position A: Roterende regnbue -tilstand

Venstre position B + Højre position A: Farveændrende tilstand

Venstre position A + Højre position B: Tilfældig sparkley -tilstand

Venstre position B + Højre position B Ændring af ensfarvet tilstand

Trin 14: Brug af en fjernbetjening

Brug af en fjernbetjening
Brug af en fjernbetjening
Brug af en fjernbetjening
Brug af en fjernbetjening

Jeg fandt en billig fjernbetjening på EBay, der er designet til at fungere med farve LED -belysning. Det virkede som et naturligt match. Jeg registrerede koderne genereret af hver knap og indstillede firmwaren til at handle i overensstemmelse hermed. Billedet ovenfor angiver, hvad de forskellige knapper gør.

Hvis du ikke har denne fjernbetjening, kan du finde de koder, der er forbundet med de fleste andre fjernbetjeninger, ved at bruge nøjagtig den samme Arduino -kildekode, men på en egentlig Arduino, i stedet for ATtiny85. Programmet udsender en kode, der er knyttet til et vilkårligt knaptryk på de fleste fjernbetjeninger på den serielle konsol. For at gøre dette skal du tilslutte IR -modtagermodulet i de digitale pin header slots 2, 3 og 4, med linsen vendt mod resten af kortet.

På billedet ovenfor svarer koden 0xFD00FF til DFRobot IR fjernbetjeningsknappen. Her er koden, der kører i Tinkercad. For at prøve det skal du klikke på "Code", efterfulgt af "Serial Monitor", efterfulgt af "Start Simulation". På det tidspunkt kan du begynde at trykke på knapper på den virtuelle fjernbetjening for at se den serielle konsoltekstoutput:

Optag disse for hver knap på din fjernbetjening. Du kan derefter ændre kildekoden for at tilføje knapkoderne til din fjernbetjening.

Anbefalede: