Inhaltsverzeichnis:

Neopixel-Nachtlicht - Gunook
Neopixel-Nachtlicht - Gunook

Video: Neopixel-Nachtlicht - Gunook

Video: Neopixel-Nachtlicht - Gunook
Video: 3D printed lamp, + neopixel ring controlled by arduino pro mini 2024, November
Anonim
Neopixel-Nachtlicht
Neopixel-Nachtlicht

Von joshua.brooksFolgen Sie mehr vom Autor:

Pogo-Pin-Programmieranschluss
Pogo-Pin-Programmieranschluss
Pogo-Pin-Programmieranschluss
Pogo-Pin-Programmieranschluss
Handgehaltene Zoetrope-Skulptur
Handgehaltene Zoetrope-Skulptur
Handgehaltene Zoetrope-Skulptur
Handgehaltene Zoetrope-Skulptur
Desktop-NeoPixel-Uhr
Desktop-NeoPixel-Uhr
Desktop-NeoPixel-Uhr
Desktop-NeoPixel-Uhr

Ich gebe in ein paar Wochen einige Workshops in Elektronik, die sich um ein kostengünstiges, aber nützliches Projekt aus der realen Welt drehen. Als ich versuchte, mir etwas einfallen zu lassen, wollte ich, dass es einen Mikrocontroller, NeoPixel-LEDs (weil sie großartig sind), fernsteuerbar ist und verschiedene Build-Optionen ermöglicht. Es musste auch in Tinkercad vollständig simulierbar sein. Dies ist das Projekt, das sich entwickelt hat.

Es packt einige wirklich coole Funktionen in ein kleines Gerät, ist anpassbar und ziemlich einfach zu bauen.

Liste der Einzelteile:

  • Leiterplatte (OSHPARK)
  • NeoPixel-Ring 12 (Adafruit)
  • ATtiny85-Mikrocontroller (DigiKey)
  • 22-Gauge-Vollkerndraht (DigiKey, Amazon, Radio Shack usw.)
  • (optional) Infrarot-Empfänger (DigiKey)
  • (optional, aber dringend empfohlen) 1μF Elektrolytkondensator (DigiKey)
  • (optional) Taster (Jameco)
  • (optional) 2 x 3-poliger Stecker (DigiKey)
  • (optional) 2 x Shunt-Jumper (DigiKey)
  • (optional) 8-polige DIP-Buchse (DigiKey)
  • (optional) 4-poliger rechtwinkliger Stift (DigiKey)
  • (optional) IR-Fernbedienung (Amazon)
  • Gorilla-Tape (Amazon)
  • USB-Netzteil (Amazon)

Werkzeugliste:

  • Lötkolben & Lötzinn
  • Kabelschneider
  • Abisolierzange
  • Zange
  • Schere

Schritt 1: Design und Simulation

Wie bereits erwähnt, wollte ich für dieses Projekt das kostenlose Tinkercad verwenden. Ich beschloss, es vollständig zu entwerfen und dort zu testen, bevor ich jemals echte Elektronik berührte. Dadurch konnte ich sicherstellen, dass alles (einschließlich der ATtiny85-Firmware) funktioniert. Hier ist diese virtuelle Schaltung. Sie können unten auf "Simulation starten" klicken, um es auszuprobieren.

Schritt 2: Die notwendigen Teile

Die notwendigen Teile
Die notwendigen Teile

Dieses Projekt wurde entwickelt, um Flexibilität bei der Erstellung zu ermöglichen. Je nachdem, was Sie damit machen möchten, benötigen Sie also möglicherweise nicht alle Teile. Es gibt drei Teile (und Draht), die absolut notwendig sind. Es ist möglich, damit etwas Funktionelles zu bauen.

Neopixel Ring 12 - Der Ring hat zwölf NeoPixel, die individuell auf fast jede Farbe eingestellt werden können.

ATtiny85 - Dies ist der Mikrocontroller (kleiner Computer), der die NeoPixels zum Tanzen bringt und mit mehreren der optionalen Komponenten (Infrarotempfänger, Taster usw.) verbunden ist.

Leiterplatte - Die Leiterplatte (PCB) stellt alle elektrischen Verbindungen zwischen den verwendeten Teilen her und ist das starre Rückgrat des Geräts. Die gezippte Gerber-Datei, die an einen PCB-Hersteller gesendet wird, befindet sich auf dieser Seite. Es gibt viele Board-Hersteller. Hier ist der Link, um das Board bei OSHPARK zu bestellen.

22-Gauge-Vollkerndraht - der Draht wird verwendet, um den NeoPixel-Ring mit der Platine zu verbinden.

Schritt 3: Die optionalen Teile

Die optionalen Teile
Die optionalen Teile

Es gibt eine Reihe von optionalen Teilen, die Sie in Betracht ziehen sollten. Hier ist, warum Sie sie haben möchten.

Infrarotempfänger - Der Infrarotempfänger ist eine einzelne Komponente, die es ermöglicht, das Gerät mit einer Standard-IR-Handfernbedienung (denken Sie an eine TV-Fernbedienung) zu steuern. Fernbedienungen verschiedener Hersteller senden unterschiedliche Signale aus, daher muss die Firmware möglicherweise geändert werden, um Ihre Fernbedienung zu erkennen, wenn es sich nicht um eine von mir verwendete Fernbedienung handelt.

1μF Elektrolytkondensator – der Kondensator fungiert als eine Art temporärer Akku, der zusätzliche Leistung liefern kann, wenn sich der benötigte elektrische Strom im Gerät abrupt ändert (z. B. NeoPixel gehen von aus auf voll ein). Es kann auch die Spannung zum Gerät ausgleichen, wenn ein billiges USB-Netzteil verwendet wird. Wenn Sie eine anständige USB-Stromquelle verwenden, kann dies weggelassen werden.

Drucktaste - Mit der Drucktaste können Sie das Gerät durch (raten Sie mal?) Drücken der Taste steuern.

3-polige Stiftleiste(n) und Shunt-Jumper(e) – diese können anstelle des Tasters eingesetzt werden, um das Gerät entsprechend der Position der Shunt-Jumper zu konfigurieren. Der männliche 3-Pin-Header wird fest mit der Platine verbunden (gelötet), und der Shunt-Jumper ist auf dem Header eingepresst und kann leicht entfernt und neu positioniert werden. Wird ein Header verwendet, kann der Jumper zwischen zwei verschiedenen Modi wählen. Werden beide Header verwendet, sind vier Modi möglich.

8-polige DIP-Buchse - die Buchse ermöglicht das Entfernen und Austauschen des Mikrocontrollers (ATtiny85), um ihn später umprogrammieren zu können, wenn Sie die Funktionsweise des Geräts ändern möchten. Wenn Sie wissen, dass Sie den Mikrocontroller nie neu programmieren müssen, ist dies nicht erforderlich.

4-poliger rechtwinkliger Header - Der rechtwinklige Header wird verwendet, wenn Sie möchten, dass der USB-Anschluss gerade aus der Rückseite des Geräts herausragt, anstatt von der Seite.

Schritt 4: Programmieren Sie den Mikrocontroller

Ich werde nicht zu sehr auf die Programmierung des Mikrocontrollers eingehen, da Anweisungen an anderer Stelle leicht zu finden sind (ich füge unten einen Link ein). Ich habe ein Arduino UNO-Board verwendet, um als Programmiergerät für den Controller mit der in diesem Instructable beschriebenen Methode zu fungieren. Darin zeigt es die folgende Zuordnung von Arduino-Pins zu ATtiny-Pins für die Programmierung:

  • 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

Den Quellcode für das Nachtlicht finden Sie hier (https://github.com/cacklestein/led-night-light).

Schritt 5: Montieren Sie die Platine (optionaler erster Schritt)

Zusammenbau des Boards (optionaler erster Schritt)
Zusammenbau des Boards (optionaler erster Schritt)
Zusammenbau der Platine (optionaler erster Schritt)
Zusammenbau der Platine (optionaler erster Schritt)
Zusammenbau der Platine (optionaler erster Schritt)
Zusammenbau der Platine (optionaler erster Schritt)

Teile sollten dem Board in einer bestimmten Reihenfolge hinzugefügt werden, um die Dinge zu vereinfachen. Wenn Sie mit der Position des USB-Anschlusses auf der Platine einverstanden sind, können Sie den Rest dieses Schritts überspringen und mit dem nächsten Teil der Baugruppe fortfahren. Wenn Sie jedoch möchten, dass der Stecker über die Rückseite der Platine hinausragt, ist es jetzt an der Zeit, den rechtwinkligen Header hinzuzufügen.

Beginnen Sie, indem Sie den USB-Stecker vorsichtig vom Rest der Leiterplatte abtrennen. Halten Sie den größeren Teil der Platine mit einer Hand fest und entfernen Sie mit einer Zange mit einer Kante direkt neben der Perforationslinie der winzigen Löcher vorsichtig die Lasche. Legen Sie die Registerkarte beiseite. Sie werden dies in einem späteren Schritt benötigen.

Positionieren Sie den rechtwinkligen Header wie im Bild gezeigt auf der Rückseite der Platine. Die Rückseite der Platine ist die Seite mit der Siebdruck "123D CIRCUITS" (oder vielleicht sollte ich "123D CIRC" sagen, weil Sie gerade die "UITS" abgebrochen haben).

Löten Sie den Header an Ort und Stelle, indem Sie Lot auf die Oberseite der Platine auftragen.

Schneiden Sie mit einem guten Drahtschneider die Anschlüsse des Headers, die von der Oberseite der Platine herausragen, so nah wie möglich an der Platine ab. Dies ist wichtig, da diese Leads irgendwo in der Mitte des ATtiny85 auslaufen.

Schritt 6: Fügen Sie die Mikrocontroller-Buchse hinzu

Fügen Sie den Mikrocontroller-Sockel hinzu
Fügen Sie den Mikrocontroller-Sockel hinzu
Fügen Sie den Mikrocontroller-Sockel hinzu
Fügen Sie den Mikrocontroller-Sockel hinzu
Fügen Sie den Mikrocontroller-Sockel hinzu
Fügen Sie den Mikrocontroller-Sockel hinzu

Jetzt ist es an der Zeit, entweder die 8-polige DIP-Buchse -ODER- den ATtiny85 zu löten. Ich empfehle dringend die Verwendung des Sockels, da sich der ATtiny85 damit leicht entfernen und wieder anbringen lässt, falls Sie später am Programm Änderungen vornehmen möchten. Stecken Sie den Sockel (oder den ATtiny85 mit Pin 1 am nächsten zum Platinenrand) durch die passenden 8 Löcher auf der Oberseite der Platine. Die Oberseite ist die ohne aufgedruckte "123D Circuits". Drehen Sie die Platine um und legen Sie sie flach auf den Tisch oder eine andere Arbeitsfläche, um die Steckdose in Position zu halten. Löten Sie die Stifte an die Platine. Wenn Sie im vorherigen Schritt den 4-poligen rechtwinkligen Header hinzugefügt haben, sind diese Stifte etwas im Weg. Winkeln Sie das Bügeleisen an, um darunter zu löten.

Schritt 7: Fügen Sie mehr Dinge hinzu

Fügen Sie mehr hinzu!
Fügen Sie mehr hinzu!
Fügen Sie mehr hinzu!
Fügen Sie mehr hinzu!
Fügen Sie mehr hinzu!
Fügen Sie mehr hinzu!

Jetzt ist es an der Zeit, die Taster- oder Jumper-Header, den IR-Empfänger und den Kondensator hinzuzufügen.

Wenn Sie den Taster haben möchten, stecken Sie die 4 Stifte durch die Löcher unter dem Mikrocontroller-Sockel auf der Oberseite der Platine. Sie werden feststellen, dass es 6 Löcher gibt. Machen Sie sich darüber keine Sorgen. Die beiden Löcher in der Mitte werden nicht verwendet. Drehen Sie die Platine um und löten Sie den Druckknopf an.

Wenn Sie stattdessen die Shunt-Jumper verwenden möchten, stecken Sie die beiden 3-Pin-Header (kürzere Seite der Pins nach unten) in diese Löcher auf der Oberseite. Drehen Sie die Platine wieder um und löten Sie die Stifte an.

Als nächstes stecken Sie den Infrarotempfänger durch die 3 Löcher auf der Oberseite der Platine. Passen Sie die Ausrichtung an den Umriss auf dem Siebdruck an. Führen Sie es so weit wie möglich ein und biegen Sie es zurück, sodass die Seite mit der kleinen Blase nach oben vom Brett weg zeigt. Drehen Sie die Platine um und löten Sie diese an. Entfernen Sie nach dem Löten die überschüssige Länge der Stifte von der Unterseite mit einem Drahtschneider.

Schließlich fügen Sie den Kondensator hinzu. Seine Stifte passen durch die verbleibenden zwei Löcher über dem Infrarotempfänger. Der weiße Streifen an der Seite des Kondensators ('-' negative Seite) zeigt von der ATtiny85-Buchse weg. Drehen Sie die Platine wieder um, löten Sie die Leitungen an und schneiden Sie den Überschuss mit einem Drahtschneider ab.

Schritt 8: Fügen Sie den NeoPixel-Ring hinzu

Fügen Sie den NeoPixel-Ring hinzu
Fügen Sie den NeoPixel-Ring hinzu
Fügen Sie den NeoPixel-Ring hinzu
Fügen Sie den NeoPixel-Ring hinzu
Fügen Sie den NeoPixel-Ring hinzu
Fügen Sie den NeoPixel-Ring hinzu

Der NeoPixel-Ring wird mit 4 Stück 22-Gauge-Vollkerndraht befestigt, wobei die Isolierung entfernt wurde. Beginnen Sie mit dem Schneiden eines Drahtabschnitts von mindestens 4 Zoll Länge. Verwenden Sie Abisolierzangen, um die gesamte Isolierung zu entfernen.

Schneiden Sie diesen Draht in 4 gleiche Längen. Biegen Sie jeden Draht etwa 1/4 Zoll von einem Ende in eine "L" -Form.

Führen Sie diese Drähte mit der Unterseite der Platine nach oben in die Löcher an den 4 Ecken der Platine ein. Der gebogene Abschnitt verhindert, dass sie vollständig durchrutschen. Löten Sie sie fest und schneiden Sie den gebogenen Überstand von der Unterseite mit einem Drahtschneider ab.

Drehen Sie die Platine um und führen Sie die Drähte vorsichtig durch die 4 Löcher des NeoPixel-Rings, wobei die NeoPixel von der Platine weg zeigen. Achten Sie darauf, dass die Löcher des NeoPixel-Rings mit denen auf der Platine übereinstimmen. Die Namen der Löcher sind jeweils aufgedruckt. Passen Sie PWR, GND, IN und OUT an.

Drücken Sie den Ring so nah wie möglich an die Platine. Es kann etwas eng werden, insbesondere um den Kondensator und den IR-Sensor. Wenn der Ring nicht ganz nach unten geht, schwitzen Sie ihn nicht.

Halten Sie den Ring so nah wie möglich an die Platine und biegen Sie die Drähte heraus, um die Dinge an Ort und Stelle zu halten.

Löten Sie den Ring an die Drähte und schneiden Sie den überschüssigen Draht mit einem Drahtschneider ab.

Schritt 9: Fügen Sie die Registerkarte USB-Anschluss hinzu (optionaler Schritt)

Fügen Sie die Registerkarte USB-Anschluss hinzu (optionaler Schritt)
Fügen Sie die Registerkarte USB-Anschluss hinzu (optionaler Schritt)
Fügen Sie die Registerkarte USB-Anschluss hinzu (optionaler Schritt)
Fügen Sie die Registerkarte USB-Anschluss hinzu (optionaler Schritt)

Wenn Sie sich dafür entschieden haben, den USB-Anschlussstick direkt von der Rückseite zu haben, ist es jetzt an der Zeit, ihn an den zuvor hinzugefügten 4-poligen rechtwinkligen Header anzuschließen.

Passen Sie die Löcher der zuvor entfernten Lasche so auf den rechtwinkligen Header, dass die 4 Kupfer-USB-Kontakte zur "CIRC" -Seite der Platine und die "UITS" -Seite der Lasche zur "123D" -Seite zeigen.

Löten Sie diese an Ort und Stelle.

Schritt 10: Fügen Sie den ATtiny85 hinzu

Fügen Sie den ATtiny85 hinzu
Fügen Sie den ATtiny85 hinzu

Wenn Sie die 8-polige DIP-Buchse angelötet haben, ist es jetzt an der Zeit, den ATtiny85 darin zu platzieren.

Richten Sie den ATtiny85 so aus, dass die Ecke mit dem Punkt dem weißen Punkt auf der Platine am nächsten ist. Drücken Sie den ATtiny85 vorsichtig in Position und stellen Sie sicher, dass alle Stifte dort sind, wo sie sollen.

Schritt 11: Verdicken Sie den USB-Anschluss

Verdicken Sie den USB-Anschluss
Verdicken Sie den USB-Anschluss

Normalerweise sind die Leiterplatten, die Sie erhalten, etwas dünner als von einem USB-Anschluss erwartet. Eine einfache Lösung hierfür besteht darin, ein kleines Quadrat von Gorilla Tape zu schneiden und es auf der Rückseite des USB-Anschlusses (die Seite ohne die USB-Kupferkontakte!) hinzuzufügen. Gorilla Tape ist etwa doppelt so dick wie normales Klebeband und hat für mich perfekt funktioniert.

Schritt 12: Probieren Sie es aus

Versuch es
Versuch es
Versuch es
Versuch es
Versuch es
Versuch es
Versuch es
Versuch es

Schließen Sie Ihr neues Nachtlicht an einen mit Strom versorgten USB-Wandadapter oder eine andere verfügbare USB-Steckdose (an Ihrem Computer usw.) an. Wenn alles gut gegangen ist, sollte es leuchten! Wenn Sie den optionalen IR-Empfänger hinzugefügt haben und eine Fernbedienung haben, die mit der Firmware funktioniert (wie die Apple TV-Fernbedienung in den Bildern), können Sie den Anzeigemodus ändern.

Alternativ, wenn Sie die Schaltfläche installiert haben, können Sie sie drücken, um den Modus zu ändern.

Wenn Sie stattdessen die Shunt-Jumper-Header installiert haben, können die Shunt-Jumper positioniert werden, um den Startanzeigemodus zu ändern.

Schritt 13: Shunt-Jumper-Einstellungen

Shunt-Jumper-Einstellungen
Shunt-Jumper-Einstellungen

Wenn Sie sich für die Installation der Shunt-Jumper-Header entschieden haben, können Sie den Startmodus basierend auf der Position der Shunt-Jumper einstellen:

Linke Position A + Rechte Position A: Rotierender Regenbogenmodus

Linke Position B + Rechte Position A: Farbwechselmodus

Linke Position A + Rechte Position B: Zufälliger Sparkley-Modus

Linke Position B + Rechte Position B Unveränderlicher Volltonmodus

Schritt 14: Verwenden einer Fernbedienung

Verwenden einer Fernbedienung
Verwenden einer Fernbedienung
Verwenden einer Fernbedienung
Verwenden einer Fernbedienung

Ich habe bei EBay eine preiswerte Fernbedienung gefunden, die mit farbiger LED-Beleuchtung funktioniert. Es schien eine natürliche Passform. Ich habe die von jeder Taste generierten Codes aufgezeichnet und die Firmware so eingestellt, dass sie sich entsprechend verhält. Das Bild oben zeigt, was die verschiedenen Tasten tun.

Wenn Sie diese Fernbedienung nicht haben, können Sie die mit den meisten anderen Fernbedienungen verbundenen Codes finden, indem Sie genau den gleichen Arduino-Quellcode verwenden, jedoch auf einem tatsächlichen Arduino anstelle des ATtiny85. Das Programm gibt einen Code aus, der jedem Tastendruck der meisten Fernbedienungen auf der seriellen Konsole zugeordnet ist. Verbinden Sie dazu das IR-Empfängermodul in den digitalen Stiftleistensteckplätzen 2, 3 und 4 mit der Linse zum Rest der Platine.

Im obigen Bild entspricht der Code 0xFD00FF dem DFRobot IR Remote Power Button. Hier ist der Code, der in Tinkercad ausgeführt wird. Um es auszuprobieren, klicken Sie auf "Code", gefolgt von "Serial Monitor", gefolgt von "Start Simulation". An diesem Punkt können Sie mit dem Drücken von Tasten auf der virtuellen Fernbedienung beginnen, um die Textausgabe der seriellen Konsole anzuzeigen:

Notieren Sie diese für jede Taste Ihrer Fernbedienung. Sie können dann den Quellcode ändern, um die Tastencodes für Ihre Fernbedienung hinzuzufügen.

Empfohlen: