Inhoudsopgave:

Neopixel-nachtlampje: 14 stappen (met afbeeldingen)
Neopixel-nachtlampje: 14 stappen (met afbeeldingen)

Video: Neopixel-nachtlampje: 14 stappen (met afbeeldingen)

Video: Neopixel-nachtlampje: 14 stappen (met afbeeldingen)
Video: ✅RGB лента и НОЧНИК с Banggood. BlitzWolf LT10 и LT11 2024, Juli-
Anonim
Neopixel-nachtlampje
Neopixel-nachtlampje

Door joshua.brooksVolg meer van de auteur:

Pogo pin programmeer connector
Pogo pin programmeer connector
Pogo pin programmeer connector
Pogo pin programmeer connector
Hand-held zoötrope sculptuur
Hand-held zoötrope sculptuur
Hand-held zoötrope sculptuur
Hand-held zoötrope sculptuur
Desktop NeoPixel-klok
Desktop NeoPixel-klok
Desktop NeoPixel-klok
Desktop NeoPixel-klok

Ik geef over een paar weken een aantal workshops in elektronica, gecentreerd rond een goedkoop, maar nuttig project uit de echte wereld. Toen ik probeerde iets te bedenken om te maken, wilde ik dat het een microcontroller, NeoPixel-LED's (omdat ze geweldig zijn), op afstand bestuurbaar zou zijn en verschillende bouwopties mogelijk zou maken. Het moest ook volledig simuleerbaar zijn in Tinkercad. Dit is het project dat zich heeft ontwikkeld.

Het bevat een aantal echt coole functies in een klein apparaat, is aanpasbaar en is vrij eenvoudig te bouwen.

Onderdelen lijst:

  • Printplaat (OSHPARK)
  • NeoPixel-ring 12 (Adafruit)
  • ATtiny85-microcontroller (DigiKey)
  • 22 gauge solid-core draad (DigiKey, Amazon, Radio Shack, etc.)
  • (optioneel) Infraroodontvanger (DigiKey)
  • (optioneel, maar sterk aanbevolen) 1μF elektrolytische condensator (DigiKey)
  • (optioneel) Drukknop (Jameco)
  • (optioneel) 2 x mannelijke 3-pins header (DigiKey)
  • (optioneel) 2 x Shuntjumper (DigiKey)
  • (optioneel) 8-pins DIP-aansluiting (DigiKey)
  • (optioneel) 4-pins haakse header (DigiKey)
  • (optioneel) IR-afstandsbediening (Amazon)
  • Gorillatape (Amazone)
  • USB-wandvoeding (Amazon)

Gereedschap lijst:

  • Soldeerbout & soldeer
  • Draadknipper
  • Draadstripper
  • Tang
  • Schaar

Stap 1: Ontwerp en simulatie

Zoals ik eerder al zei, wilde ik de gratis Tinkercad gebruiken voor dit project. Ik besloot om het volledig te ontwerpen en het daar te testen voordat ik ooit echte elektronica aanraakte. Hierdoor kon ik ervoor zorgen dat alles (inclusief de ATtiny85-firmware) zou werken. Hier is dat virtuele circuit. U kunt hieronder op "Start Simulatie" drukken om het uit te proberen.

Stap 2: De benodigde onderdelen

De benodigde onderdelen
De benodigde onderdelen

Dit project is ontworpen om flexibiliteit mogelijk te maken in de manier waarop het is gebouwd. Dus, afhankelijk van wat je ermee wilt doen, heb je misschien niet alle onderdelen nodig. Er zijn drie delen (en draad) die absoluut noodzakelijk zijn. Het is mogelijk om iets functioneels te bouwen met alleen deze.

Neopixel Ring 12 - de ring heeft twaalf NeoPixels die individueel kunnen worden bediend om zo ongeveer elke kleur te krijgen.

ATtiny85 - dit is de microcontroller (kleine computer) die de NeoPixels laat dansen en die communiceert met verschillende optionele componenten (infraroodontvanger, drukknop, enz.).

Printplaat - de printplaat (PCB) zorgt voor alle elektrische verbindingen tussen de gebruikte onderdelen en is de stijve ruggengraat van het apparaat. Het gezipte gerber-bestand dat naar een PCB-fabrikant wordt gestuurd, staat op deze pagina. Er zijn veel bordfabrikanten. Hier is de link om het bord bij OSHPARK te bestellen.

22 gauge solid-core draad - de draad wordt gebruikt om de NeoPixel-ring aan te sluiten op de PCB.

Stap 3: De optionele onderdelen

De optionele onderdelen
De optionele onderdelen

Er zijn een aantal optionele onderdelen die u misschien wilt overwegen. Dit is waarom je ze misschien wilt hebben.

Infraroodontvanger - de infraroodontvanger is een enkel onderdeel waarmee het apparaat kan worden bediend met een standaard handbediende IR-afstandsbediening (denk aan de afstandsbediening van een tv). Afstandsbedieningen van verschillende fabrikanten zenden verschillende signalen uit, dus de firmware moet mogelijk worden aangepast om uw afstandsbediening te herkennen, als dit niet een van de apparaten is die ik heb gebruikt.

1μF elektrolytische condensator - de condensator fungeert als een soort tijdelijke batterij die extra stroom kan leveren wanneer de benodigde elektrische stroom in het apparaat abrupt verandert (NeoPixels gaan bijvoorbeeld van uit naar volledig aan). Het kan ook de spanning naar het apparaat gelijk maken bij gebruik van een goedkope USB-voeding. Als u een degelijke USB-stroombron gebruikt, kunt u deze achterwege laten.

Drukknop - met de drukknop kunt u het apparaat bedienen door (raad eens?) op de knop te drukken.

Mannelijke 3-pins header(s) en shuntjumper(s) - deze kunnen worden geplaatst in plaats van de drukknop om het apparaat te configureren op basis van hoe de shuntjumpers zijn geplaatst. De mannelijke 3-pins header wordt permanent verbonden (gesoldeerd) met het bord, en de shuntjumper is met een perspassing op de header en kan gemakkelijk worden verwijderd en verplaatst. Als er één header wordt gebruikt, kan de jumper kiezen tussen twee verschillende modi. Als beide koppen worden gebruikt, zijn er vier modi mogelijk.

8-pins DIP-aansluiting - met de aansluiting kan de microcontroller (ATtiny85) worden verwijderd en vervangen, zodat deze later opnieuw kan worden geprogrammeerd als u de werking van het apparaat wilt wijzigen. Als je weet dat je de microcontroller nooit hoeft te herprogrammeren, dan is dit niet nodig.

4-pins haakse header - de haakse header wordt gebruikt als u wilt dat de USB-connector recht uit de achterkant van het apparaat steekt, in plaats van vanaf de zijkant.

Stap 4: Programmeer de microcontroller

Ik ga niet te veel in detail treden over het programmeren van de microcontroller, omdat instructies gemakkelijk elders te vinden zijn (ik voeg hieronder een link toe). Ik gebruikte een Arduino UNO-bord om op te treden als een programmeerapparaat voor de controller met behulp van de methode die in deze Instructable wordt beschreven. Daarin toont het de volgende toewijzing van Arduino-pinnen naar ATtiny-pinnen voor programmeren:

  • Arduino +5V → ATtiny Pin 8
  • Arduino Grond → 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

De broncode voor het nachtlampje is hier te vinden (https://github.com/cacklestein/led-night-light).

Stap 5: Monteer het bord (optionele eerste stap)

Monteer het bord (optionele eerste stap)
Monteer het bord (optionele eerste stap)
Monteer het bord (optionele eerste stap)
Monteer het bord (optionele eerste stap)
Monteer het bord (optionele eerste stap)
Monteer het bord (optionele eerste stap)

Onderdelen moeten in een bepaalde volgorde aan het bord worden toegevoegd om dingen gemakkelijk te maken. Als je tevreden bent met de positie van de USB-connector op het bord, kun je de rest van deze stap overslaan en doorgaan naar het volgende deel van de montage. Als u echter wilt dat de connector uit de achterkant van het bord steekt, is dit het moment om de haakse header toe te voegen.

Begin met het voorzichtig losmaken van de USB-connector van de rest van de printplaat. Houd het grootste deel van het bord met één hand vast en gebruik een tang met een rand direct naast de perforatielijn van kleine gaatjes om het lipje voorzichtig te verwijderen. Leg het tabblad opzij. je hebt dit in een latere stap nodig.

Plaats de rechthoekige kop op de achterkant van het bord zoals weergegeven in de afbeelding. De achterkant van het bord is de zijkant met "123D CIRCUITS" erop gezeefdrukt (of misschien moet ik zeggen "123D CIRC", want je hebt net de "UITS" afgebroken).

Soldeer de header op zijn plaats en breng soldeer aan op de bovenzijde van het bord.

Knip met behulp van goede draadknippers de draden van de kop die uit de bovenzijde van het bord steken, zo dicht mogelijk bij het bord. Dit is belangrijk omdat die leads ergens in het midden van de plaats waar de ATtiny85 uiteindelijk zal gaan uitsijpelen.

Stap 6: Voeg de Microcontroller Socket toe

Voeg de Microcontroller Socket toe
Voeg de Microcontroller Socket toe
Voeg de Microcontroller Socket toe
Voeg de Microcontroller Socket toe
Voeg de Microcontroller Socket toe
Voeg de Microcontroller Socket toe

Dit is het moment om ofwel de 8-pins DIP-socket -OF- de ATtiny85 op zijn plaats te solderen. Ik raad ten zeerste aan om de socket te gebruiken, omdat de ATtiny85 gemakkelijk kan worden verwijderd en opnieuw kan worden bevestigd voor het geval u later wijzigingen in het programma wilt aanbrengen. Plaats de socket (of de ATtiny85 met pin 1 het dichtst bij de rand van het bord) door de bijpassende 8 gaten aan de bovenzijde van het bord. De bovenzijde is die zonder "123D Circuits" erop gedrukt. Draai het bord om en plaats het plat op de tafel of een andere werkruimte om de socket op zijn plaats te houden. Soldeer de pinnen op het bord. Als je in de vorige stap de 4-pins haakse header hebt toegevoegd, dan zullen die pinnen enigszins in de weg zitten. Hoek het strijkijzer om eronder te solderen.

Stap 7: voeg meer dingen toe

Voeg meer dingen toe!
Voeg meer dingen toe!
Voeg meer dingen toe!
Voeg meer dingen toe!
Voeg meer dingen toe!
Voeg meer dingen toe!

Dit is het moment om de knop of jumperheader(s), de IR-ontvanger en de condensator toe te voegen.

Als je de drukknop wilt hebben, steek dan de 4 pinnen door de gaten onder de microcontroller-aansluiting aan de bovenzijde van het bord. Je zult zien dat er 6 holes zijn. Maak je hier geen zorgen over. De twee gaten in het midden worden niet gebruikt. Draai het bord om en soldeer de drukknop op zijn plaats.

Als u in plaats daarvan de shuntjumpers wilt gebruiken, steekt u de twee 3-pins headers (korte kant van de pinnen naar beneden) in deze gaten aan de bovenzijde. Draai het bord opnieuw om en soldeer de pinnen op hun plaats.

Steek vervolgens de infraroodontvanger door de 3 gaten aan de bovenzijde van het bord. Pas de oriëntatie ervan aan op de omtrek op de zeefdruk. steek het zo ver mogelijk naar binnen en buig het naar achteren zodat de kleine bolle kant naar boven wijst, weg van het bord. Draai het bord om en soldeer dit op zijn plaats. Gebruik draadknippers om na het solderen de overtollige lengte van de pinnen van de onderkant te verwijderen.

Voeg ten slotte de condensator toe. De pinnen passen door de resterende twee gaten boven de infraroodontvanger. De witte streep aan de zijkant van de condensator ('-' negatieve kant) wijst weg van de ATtiny85-aansluiting. Draai het bord opnieuw om, soldeer de draden op hun plaats en knip het overtollige materiaal af met draadmessen.

Stap 8: Voeg de NeoPixel Ring toe

Voeg de NeoPixel-ring toe
Voeg de NeoPixel-ring toe
Voeg de NeoPixel Ring toe
Voeg de NeoPixel Ring toe
Voeg de NeoPixel Ring toe
Voeg de NeoPixel Ring toe

De NeoPixel-ring wordt bevestigd met 4 stukken 22 gauge massieve draad, waarbij de isolatie is verwijderd. Begin met het afsnijden van een stuk draad van minimaal 4 inch lang. Gebruik draadstrippers om ALLE isolatie te verwijderen.

Knip deze draad in 4 gelijke lengtes. Buig elke draad in een "L" -vorm ongeveer 1/4 inch vanaf het ene uiteinde.

Met de onderkant van het bord naar boven gericht, steek je deze draden in de gaten op de 4 hoeken van het bord. Het gebogen gedeelte zorgt ervoor dat ze niet helemaal doorschuiven. Soldeer ze op hun plaats en knip het gebogen overtollige materiaal vanaf de onderkant af met draadmessen.

Draai het bord om en voer de draden voorzichtig door de 4 gaten van de NeoPixel-ring met de NeoPixels van de print af gericht. Zorg ervoor dat de gaten van de NeoPixel-ring overeenkomen met die op de printplaat. De namen van de gaten zijn op elk gedrukt. Match PWR, GND, IN en OUT.

Duw de ring zo dicht mogelijk bij de printplaat naar beneden. Het kan een beetje krap zijn, vooral rond de condensator en de IR-sensor. Als de ring niet helemaal naar beneden gaat, maak je er dan niet druk om.

Houd de ring zo dicht mogelijk bij de printplaat en buig de draden naar buiten om de dingen op hun plaats te houden.

Soldeer de ring aan de draden en knip de overtollige draad af met draadknippers.

Stap 9: Voeg het tabblad USB-connector toe (optionele stap)

Voeg het tabblad USB-connector toe (optionele stap)
Voeg het tabblad USB-connector toe (optionele stap)
Voeg het tabblad USB-connector toe (optionele stap)
Voeg het tabblad USB-connector toe (optionele stap)

Als je ervoor hebt gekozen om de USB-connector recht uit de achterkant te steken, is dit het moment om hem te bevestigen aan de 4-pins haakse header die je eerder hebt toegevoegd.

Plaats de gaten van het lipje dat u eerder hebt verwijderd op de rechthoekige kop zodat de 4 koperen USB-contacten naar de "CIRC"-kant van het bord wijzen en de "UITS"-kant van het lipje naar de "123D"-kant.

Soldeer dit op zijn plaats.

Stap 10: Voeg de ATtiny85. toe

Voeg de ATtiny85. toe
Voeg de ATtiny85. toe

Als je de 8-pins DIP-socket op zijn plaats hebt gesoldeerd, is dit het moment om de ATtiny85 erin te plaatsen.

Lijn de ATtiny85 zo uit dat de hoek met de stip het dichtst bij de witte stip op de printplaat ligt. Druk de ATtiny85 voorzichtig op zijn plaats en zorg ervoor dat alle pinnen gaan waar ze horen.

Stap 11: Maak de USB-connector dikker

De USB-connector dikker maken
De USB-connector dikker maken

Doorgaans zijn de printplaten die u krijgt iets dunner dan wat van een USB-connector wordt verwacht. Een eenvoudige oplossing hiervoor is om een klein vierkantje Gorilla Tape af te knippen en aan de achterkant van de USB-connector toe te voegen (de kant zonder de koperen USB-contacten!). Gorilla Tape is ongeveer twee keer zo dik als normale ducttape en werkte perfect voor mij.

Stap 12: Probeer het uit

Probeer het
Probeer het
Probeer het
Probeer het
Probeer het
Probeer het
Probeer het
Probeer het

Sluit uw nieuwe nachtlampje aan op een gevoede USB-muuradapter of een ander beschikbaar USB-stopcontact (op uw computer, enz.). Als alles goed is gegaan, moet het gaan branden! Als je de optionele IR-ontvanger hebt toegevoegd en een afstandsbediening hebt die werkt met de firmware (zoals de Apple TV-afstandsbediening op de afbeeldingen), kun je de weergavemodus wijzigen.

Als u de knop hebt geïnstalleerd, kunt u er ook op drukken om van modus te veranderen.

Als u in plaats daarvan de shunt-jumper-headers hebt geïnstalleerd, kunnen de shunt-jumpers worden gepositioneerd om de opstartweergavemodus te wijzigen.

Stap 13: Instellingen shuntjumper

Instellingen shuntjumper
Instellingen shuntjumper

Als u ervoor hebt gekozen om de shunt-jumpers te installeren, kunt u de opstartmodus instellen op basis van waar de shunt-jumpers zijn geplaatst:

Linkerpositie A + Rechterpositie A: Roterende regenboogmodus

Linker positie B + Rechter positie A: Kleur veranderende modus

Linkerpositie A + Rechterpositie B: Willekeurige sprankelende modus

Linkerpositie B + Rechterpositie B Onveranderlijke effen kleurmodus

Stap 14: Een afstandsbediening gebruiken

Een afstandsbediening gebruiken
Een afstandsbediening gebruiken
Een afstandsbediening gebruiken
Een afstandsbediening gebruiken

Ik vond een goedkope afstandsbediening op eBay die is ontworpen om te werken met LED-kleurenverlichting. Het leek een natuurlijke fit. Ik nam de codes op die door elke knop werden gegenereerd en stelde de firmware in om dienovereenkomstig te handelen. De afbeelding hierboven geeft aan wat de verschillende knoppen doen.

Als je deze afstandsbediening niet hebt, kun je de codes die bij de meeste andere afstandsbedieningen horen, vinden door exact dezelfde Arduino-broncode te gebruiken, maar op een echte Arduino, in plaats van op de ATtiny85. Het programma voert een code uit die is gekoppeld aan elke druk op de knop van de meeste afstandsbedieningen op de seriële console. Om dit te doen, sluit u de IR-ontvangermodule aan op de digitale pin-headersleuven 2, 3 en 4, met de lens naar de rest van het bord gericht.

In de bovenstaande afbeelding komt de code 0xFD00FF overeen met de DFRobot IR-afstandsbedieningsknop. Hier is de code die in Tinkercad wordt uitgevoerd. Om het uit te proberen, klikt u op "Code", gevolgd door "Serial Monitor", gevolgd door "Start Simulation". Op dat moment kunt u beginnen met het indrukken van knoppen op de virtuele afstandsbediening om de tekstuitvoer van de seriële console te zien:

Noteer deze voor elke knop van uw afstandsbediening. U kunt vervolgens de broncode wijzigen om de knopcodes voor uw afstandsbediening toe te voegen.

Aanbevolen: