Innehållsförteckning:

Neopixel Night Light: 14 steg (med bilder)
Neopixel Night Light: 14 steg (med bilder)

Video: Neopixel Night Light: 14 steg (med bilder)

Video: Neopixel Night Light: 14 steg (med bilder)
Video: Я работаю в Страшном музее для Богатых и Знаменитых. Страшные истории. Ужасы. 2024, November
Anonim
Neopixel nattlampa
Neopixel nattlampa

Av joshua.brooksFölj mer av författaren:

Pogo pin programmeringskontakt
Pogo pin programmeringskontakt
Pogo pin programmeringskontakt
Pogo pin programmeringskontakt
Handhållen Zoetrope-skulptur
Handhållen Zoetrope-skulptur
Handhållen Zoetrope-skulptur
Handhållen Zoetrope-skulptur
Desktop NeoPixel -klocka
Desktop NeoPixel -klocka
Desktop NeoPixel -klocka
Desktop NeoPixel -klocka

Jag ger några workshops inom elektronik om några veckor, centrerat kring ett billigt men användbart verkligt projekt. När jag försökte hitta på en sak att göra, ville jag att den skulle involvera en mikrokontroller, NeoPixel -lysdioder (för att de är fantastiska), vara fjärrstyrbar och möjliggöra olika byggalternativ. Det måste också vara fullt simulerbart i Tinkercad. Detta är projektet som utvecklats.

Den packar några riktigt coola funktioner i en liten enhet, är anpassningsbar och är ganska enkel att bygga.

Reservdelar:

  • Tryckt kretskort (OSHPARK)
  • NeoPixel ring 12 (Adafruit)
  • ATtiny85 mikrokontroller (DigiKey)
  • 22 gauge solid-core wire (DigiKey, Amazon, Radio Shack, etc.)
  • (tillval) Infraröd mottagare (DigiKey)
  • (valfritt, men rekommenderas starkt) 1μF elektrolytkondensator (DigiKey)
  • (tillval) Tryckknapp (Jameco)
  • (valfritt) 2 x 3-stifts huvud (DigiKey)
  • (tillval) 2 x shuntbygel (DigiKey)
  • (tillval) 8-stifts DIP-uttag (DigiKey)
  • (valfritt) 4-stifts rätvinkligt sidhuvud (DigiKey)
  • (tillval) IR -fjärrkontroll (Amazon)
  • Gorilla Tape (Amazon)
  • USB -väggströmförsörjning (Amazon)

Verktygslista:

  • Lödkolv och löd
  • Avbitartång
  • Wire stripper
  • Tång
  • Sax

Steg 1: Design och simulering

Som jag nämnde tidigare ville jag använda gratis Tinkercad för detta projekt. Jag bestämde mig för att helt designa och testa det där innan jag någonsin rörde någon riktig elektronik. Detta tillät mig att se till att allt (inklusive ATtiny85 -firmware) skulle fungera. Här är den virtuella kretsen. Du kan trycka på "Start Simulation" nedan för att prova det.

Steg 2: De nödvändiga delarna

De nödvändiga delarna
De nödvändiga delarna

Detta projekt är utformat för att möjliggöra flexibilitet i hur det byggs. Så beroende på vad du vill göra med det kanske du inte behöver alla delar. Det finns tre delar (och tråd) som är absolut nödvändiga. Det är möjligt att bygga något funktionellt med just dessa.

Neopixel Ring 12 - ringen har tolv NeoPixels som kan styras individuellt till nästan vilken färg som helst.

ATtiny85 - det här är mikrokontrollern (liten dator) som får NeoPixels att dansa och gränssnitt till flera av de valfria komponenterna (infraröd mottagare, tryckknapp, etc.).

Tryckt kretskort - kretskortet (PCB) tillhandahåller alla elektriska anslutningar mellan de använda delarna och är enhetens stela ryggrad. Den zippade gerber -filen som skickas till en kretskortstillverkare finns på den här sidan. Det finns många brädtillverkare där ute. Här är länken för att beställa tavlan från OSHPARK.

22 gauge solid -core wire - tråden används för att ansluta NeoPixel -ringen till kretskortet.

Steg 3: Valfria delar

De valfria delarna
De valfria delarna

Det finns ett antal valfria delar som du kanske vill överväga att inkludera. Här är varför du kanske vill ha dem.

Infraröd mottagare - den infraröda mottagaren är en enda komponent som gör att enheten kan styras av en vanlig handhållen IR -fjärrkontroll (tänk TV -fjärrkontroll). Fjärrkontroller från olika tillverkare avger olika signaler, så firmware kan behöva ändras för att känna igen din fjärrkontroll, om det inte är en av dem som jag använde.

1μF elektrolytkondensator - kondensatorn fungerar som ett slags tillfälligt batteri som kan ge ytterligare ström när den nödvändiga elektriska strömmen i enheten ändras plötsligt (NeoPixels går till exempel från full till). Det kan också jämna ut spänningen till enheten när du använder en billig USB -strömförsörjning. Om du använder en anständig USB -strömkälla kan detta utelämnas.

Tryckknapp - tryckknappen låter dig styra enheten genom att (gissa vad?) Trycka på knappen.

3 -stifts huvud (er) och shuntbygel (ar) - dessa kan sättas på plats istället för tryckknappen så att enheten kan konfigureras, baserat på hur shunthopparna är placerade. Den manliga 3-poliga huvudet blir permanent ansluten (lödad) till brädet, och shuntbygeln är presspassad på huvudet och kan enkelt tas bort och flyttas. Om en rubrik används kan bygeln välja mellan två olika lägen. Om båda rubrikerna används är fyra lägen möjliga.

8 -stifts DIP -uttag - uttaget gör att mikrokontrollern (ATtiny85) kan tas bort och bytas ut så att den kan omprogrammeras senare om du vill ändra hur enheten fungerar. Om du vet att du aldrig kommer att behöva programmera om mikrokontrollen så behövs det inte.

4-stifts rätvinkligt sidhuvud-högervinkelhuvudet används om du vill att USB-kontakten ska sticka rakt ut från enhetens baksida, istället för från sidan.

Steg 4: Programmera mikrokontrollern

Jag tänker inte gå in för mycket på att programmera mikrokontrollen, eftersom instruktioner lätt kan hittas någon annanstans (jag inkluderar en länk nedan). Jag använde ett Arduino UNO -kort för att fungera som en programmeringsenhet för styrenheten med den metod som beskrivs i denna instruktionsbok. I den visar den följande kartläggning från Arduino -stift till ATtiny -stift för 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

Källkoden för nattljuset hittar du här (https://github.com/cacklestein/led-night-light).

Steg 5: Montera brädet (valfritt första steg)

Montera styrelsen (valfritt första steg)
Montera styrelsen (valfritt första steg)
Montera brädan (valfritt första steg)
Montera brädan (valfritt första steg)
Montera brädan (valfritt första steg)
Montera brädan (valfritt första steg)

Delar bör läggas till brädet i en viss ordning för att göra det enkelt. Om du har det bra med USB -kontaktens position på kortet kan du hoppa över resten av det här steget och gå vidare till nästa del av enheten. Men om du vill att kontakten ska sticka ut på baksidan av kortet, är det nu dags att lägga till den rätvinkliga rubriken.

Börja med att försiktigt ta bort USB-kontakten från resten av kretskortet. Håll den större delen av brädet med en hand och använd en tång med en kant direkt intill perforeringslinjen med små hål för att försiktigt ta bort fliken. Ställ fliken åt sidan. du kommer att behöva detta i ett senare steg.

Placera den rätvinkliga rubriken på baksidan av brädet som visas på bilden. Baksidan av brädet är sidan med "123D CIRCUITS" silkscreened på den (eller kanske borde jag säga "123D CIRC", för du har precis brutit av "UITS").

Löd huvudet på plats och applicera lödet på brädans ovansida.

Använd bra trådskärare för att klippa av ledningarna på huvudet som sticker ut från brädans ovansida så nära brädet som möjligt. Detta är viktigt eftersom dessa ledningar sjuka ut någonstans i mitten där ATtiny85 så småningom kommer att gå.

Steg 6: Lägg till mikrokontrolleruttaget

Lägg till mikrokontrolleruttaget
Lägg till mikrokontrolleruttaget
Lägg till mikrokontrolleruttaget
Lägg till mikrokontrolleruttaget
Lägg till mikrokontrolleruttaget
Lägg till mikrokontrolleruttaget

Nu är det dags att löda antingen det 8-poliga DIP-uttaget -ELLER- ATtiny85 på plats. Jag rekommenderar starkt att du använder uttaget, eftersom det gör att ATtiny85 enkelt kan tas bort och fästas igen om du vill göra ändringar i programmet senare. på brädans ovansida. Den övre sidan är den utan "123D Circuits" tryckt på den. Vänd brädan och lägg den platt på bordet eller annan arbetsyta för att hålla uttaget på plats. Löd stiften på brädet. Om du lade till den 4-stifts rätvinkliga rubriken i föregående steg, kommer dessa stift att vara något i vägen. Vinkla järnet för att löda under dem.

Steg 7: Lägg till fler saker

Lägg till fler saker!
Lägg till fler saker!
Lägg till fler saker!
Lägg till fler saker!
Lägg till fler saker!
Lägg till fler saker!

Nu är det dags att lägga till knappen eller bygelhuvudet, IR -mottagaren och kondensatorn.

Om du vill ha tryckknappen, montera de 4 stiften genom hålen under mikrokontrolleruttaget på ovansidan av brädet. Du kommer att märka att det finns 6 hål. Oroa dig inte för det här. De två hålen i mitten kommer inte att användas. Vänd brädan och löd tryckknappen på plats.

Om du vill använda shunthopparna istället sätter du in de två 3-stiftshuvudena (kortare stift nedåt) i dessa hål på ovansidan. Vänd igen brädet och löd tapparna på plats.

Montera därefter den infraröda mottagaren genom de 3 hålen på ovansidan av kortet. Matcha orienteringen av den till konturen på silkscreen. sätt in det så långt det går och böj det tillbaka så att den lilla bubbelsidan vetter uppåt från brädet. Vänd brädan och löd den på plats. Använd trådskärare för att ta bort överskottslängden på stiften från undersidan efter lödning.

Slutligen lägger du till kondensatorn. Dess stift passar genom de återstående två hålen ovanför den infraröda mottagaren. Den vita randen på kondensatorns sida ('-' negativa sidan) vetter bort från ATtiny85-uttaget. Vänd igen brädet, löd ledningarna på plats och klipp av överskottet med trådskärare.

Steg 8: Lägg till NeoPixel -ringen

Lägg till NeoPixel -ringen
Lägg till NeoPixel -ringen
Lägg till NeoPixel -ringen
Lägg till NeoPixel -ringen
Lägg till NeoPixel -ringen
Lägg till NeoPixel -ringen

NeoPixel-ringen fästs med 4 bitar av 22 gauge solid-core tråd, med isoleringen borttagen. Börja med att klippa en trådsektion som är minst 4 tum lång. Använd trådavlägsnare för att ta bort ALL isolering.

Skär denna tråd i 4 lika långa längder. Böj varje tråd till en "L" -form cirka 1/4 tum från ena änden.

Med brädans undersida uppåt, sätt in dessa trådar i hålen i brädans 4 hörn. Den böjda delen hindrar dem från att glida hela vägen. Löd dem på plats och klipp av det böjda överskottet från undersidan med trådskärare.

Vänd på kortet och mata försiktigt igenom ledningarna genom de fyra hålen på NeoPixel -ringen med NeoPixels vänd bort från kretskortet. Var noga med att matcha hålen på NeoPixel -ringen med de på kretskortet. Namnen på hålen är tryckta på varje. Matcha PWR, GND, IN och OUT.

Tryck ner ringen så nära kretskortet som möjligt. Det kan vara lite trångt, särskilt kring kondensatorn och IR -sensorn. Om ringen inte kommer att gå hela vägen ner, svett inte den.

Håll ringen så nära den kommer att gå till kretskortet, böj ut ledningarna för att hålla saker på plats.

Löd ringen på trådarna och klipp av den överflödiga tråden med trådskärare.

Steg 9: Lägg till USB -anslutningsfliken (valfritt steg)

Lägg till fliken USB -kontakt (valfritt steg)
Lägg till fliken USB -kontakt (valfritt steg)
Lägg till fliken USB -kontakt (valfritt steg)
Lägg till fliken USB -kontakt (valfritt steg)

Om du valde att få USB-kontakten att sticka rakt ut ur baksidan är det dags att fästa den på den 4-stifts rätvinkliga rubriken som du lagt till tidigare.

Montera hålen på fliken som du tog bort tidigare på den rätvinkliga rubriken så att de fyra koppar-USB-kontakterna är vända mot "CIRC" -sidan av kortet, och "UITS" -sidan på fliken är vänd mot "123D" -sidan.

Löd detta på plats.

Steg 10: Lägg till ATtiny85

Lägg till ATtiny85
Lägg till ATtiny85

Om du lödde det 8-poliga DIP-uttaget på plats är det dags att sätta ATtiny85 i det.

Rikta in ATtiny85 så att hörnet med pricken är närmast den vita pricken på kretskortet. Tryck försiktigt på ATtiny85 på plats och se till att alla stift går där de ska.

Steg 11: Tjockna USB -kontakten

Tjockna USB -kontakten
Tjockna USB -kontakten

Normalt blir kretskorten som du får lite tunnare än vad som förväntas av en USB -kontakt. En enkel lösning på detta är att klippa en liten kvadrat Gorilla Tape och lägga till den på baksidan av USB -kontakten (sidan utan USB kopparkontakter!). Gorilla Tape är ungefär dubbelt så tjockt som vanligt tejp och fungerade perfekt för mig.

Steg 12: Prova det

Testa
Testa
Testa
Testa
Testa
Testa
Testa
Testa

Anslut din nya nattlampa till en strömadapter för USB -vägg eller ett annat tillgängligt USB -uttag (på din dator etc.). Om allt gick bra borde det lysa upp! Om du har lagt till IR -mottagaren (tillval) och har en fjärrkontroll som fungerar med firmware (som Apple TV -fjärrkontrollen på bilderna) kan du ändra visningsläget.

Alternativt, om du installerade knappen kan du trycka på den för att ändra läge.

Om du istället installerade shuntbygelhuvuden kan shunthopparna placeras för att ändra startvisningsläget.

Steg 13: Shunt Jumper -inställningar

Shunt bygelinställningar
Shunt bygelinställningar

Om du valde att installera shuntbygelhuvuden kan du ställa in startläget baserat på var shunthopparna är placerade:

Vänster position A + Höger position A: Roterande regnbågsläge

Vänster position B + Höger position A: Färgbytesläge

Vänster position A + Höger position B: Slumpmässigt sparkley -läge

Vänster position B + Höger position B Oförändrat enfärgsläge

Steg 14: Använda en fjärrkontroll

Använda en fjärrkontroll
Använda en fjärrkontroll
Använda en fjärrkontroll
Använda en fjärrkontroll

Jag hittade en billig fjärrkontroll på EBay som är utformad för att fungera med färg -LED -belysning. Det verkade vara en naturlig passform. Jag spelade in koder som genererades av varje knapp och ställde in firmware för att fungera därefter. Bilden ovan visar vad de olika knapparna gör.

Om du inte har den här fjärrkontrollen kan du hitta koder som är associerade med de flesta andra fjärrkontroller genom att använda exakt samma Arduino -källkod, men på en verklig Arduino, istället för ATtiny85. Programmet matar ut en kod som är associerad med valfri knapptryckning på de flesta fjärrkontroller på seriekonsolen. För att göra detta, anslut IR -mottagarmodulen i de digitala stifthuvudplatserna 2, 3 och 4, med linsen vänd mot resten av kortet.

På bilden ovan motsvarar koden 0xFD00FF DFRobot IR -fjärrknappen. Här är koden som körs i Tinkercad. För att prova det, klicka på "Kod", följt av "Seriell bildskärm", följt av "Starta simulering". Då kan du börja trycka på knapparna på den virtuella fjärrkontrollen för att se den seriella konsolens textutmatning:

Spela in dessa för varje knapp på din fjärrkontroll. Du kan sedan ändra källkoden för att lägga till knappkoder för fjärrkontrollen.

Rekommenderad: