Inhaltsverzeichnis:

HALO: Handliche Arduino Lampe Rev1.0 W / NeoPixels - Gunook
HALO: Handliche Arduino Lampe Rev1.0 W / NeoPixels - Gunook

Video: HALO: Handliche Arduino Lampe Rev1.0 W / NeoPixels - Gunook

Video: HALO: Handliche Arduino Lampe Rev1.0 W / NeoPixels - Gunook
Video: Покрыл золотом и никелем батарейку с помощью универсального вращателя. 2024, November
Anonim
Image
Image
HALO: Handliche Arduino Lampe Rev1.0 W/NeoPixels
HALO: Handliche Arduino Lampe Rev1.0 W/NeoPixels
HALO: Handliche Arduino Lampe Rev1.0 W/NeoPixels
HALO: Handliche Arduino Lampe Rev1.0 W/NeoPixels

In diesem anweisbaren zeige ich Ihnen, wie man HALO oder Handy Arduino Lamp Rev1.0 baut.

HALO ist eine einfache Lampe, die von Arduino Nano angetrieben wird. Es hat eine Gesamtfläche von etwa 2 "x 3" und eine gewichtete Holzbasis für extreme Stabilität. Der flexible Hals und 12 superhelle NeoPixel ermöglichen es, jedes Detail auf jeder Oberfläche problemlos auszuleuchten. HALO verfügt über zwei Drucktasten, um durch verschiedene Lichtmodi zu schalten, von denen 15 vorprogrammiert sind. Durch die Verwendung des Arduino Nano als Prozessor besteht die Möglichkeit, ihn mit zusätzlichen Funktionen umzuprogrammieren. Das einzelne Potentiometer wird verwendet, um Helligkeit und/oder Geschwindigkeit einzustellen, mit der ein Modus angezeigt wird. Eine einfache Metallkonstruktion macht HALO zu einer sehr langlebigen Lampe, die für den Einsatz in jeder Werkstatt geeignet ist. Die Benutzerfreundlichkeit wird durch den integrierten Stromregler des Nano noch verstärkt, sodass HALO entweder über USB oder die standardmäßige 5-mm-Buchse auf der Rückseite mit Strom versorgt werden kann.

Ich hoffe, in naher Zukunft viele Leute zu sehen, die diese Lampen verwenden, denn es gibt so viele Möglichkeiten, die sich mit diesem Design eröffnen. Bitte hinterlassen Sie eine Stimme im Microcontroller Contest, wenn Sie dies mögen oder in irgendeiner Weise nützlich finden, ich würde mich sehr darüber freuen.

Bevor wir in dieses Instructable einsteigen, möchte ich allen meinen Followern und jedem, der jemals eines meiner Projekte kommentiert, favorisiert oder abgestimmt hat, ein kurzes Dankeschön sagen. Dank euch wurde mein Cardboard instructable zu einem großen Erfolg, und ich bin jetzt, wenn ich dies eintippe, das fast 100 Follower erreicht, meiner Meinung nach ein großer Meilenstein. Ich bin wirklich dankbar für all die Unterstützung, die ich von euch bekomme, wenn ich meine Ibles aufmache, und wenn es darauf ankommt, wäre ich ohne euch nicht da, wo ich heute bin. In diesem Sinne danke an alle!

HINWEIS: In diesem Instructable sind Sätze in Fettdruck. Dies sind die wichtigen Teile jedes Schrittes und sollten nicht ignoriert werden. Ich schreie nicht oder bin absichtlich unhöflich, ich versuche einfach eine neue Schreibtechnik, um besser hervorzuheben, was getan werden muss. Wenn es dir nicht gefällt und du es vorziehst, wie ich früher meine Schritte geschrieben habe, lass es mich in den Kommentaren wissen und ich werde zu meinem alten Stil zurückkehren.

Schritt 1: Materialien sammeln

Materialien sammeln
Materialien sammeln
Materialien sammeln
Materialien sammeln
Materialien sammeln
Materialien sammeln
Materialien sammeln
Materialien sammeln

Wie oft muss ich es sagen? Haben Sie immer, was Sie brauchen, und können Sie garantiert bis zum Ende bauen.

Hinweis: Einige davon sind Affiliate-Links (gekennzeichnet mit "al"). Ich erhalte einen kleinen Kickback, wenn Sie über sie kaufen, ohne dass Ihnen zusätzliche Kosten entstehen. Vielen Dank, wenn Sie über die Links kaufen

Teile:

1x Arduino Nano Nano - al

1x 10k Drehpotentiometer 5er Pack 10k Potentiometer - al

1x 5mm Barrel Jack (meine wird aus einem frittierten Arduino Uno recycelt) Female Barrel Jack (5er Pack) - al

2x 2-polige Taster 10er Pack SPST Pushbutton Switch - al

12x NeoPixels aus einem 60 LED/Meter Strang (jedes Äquivalent, z. B. WS2812B, funktioniert) Adafruit NeoPixels

Eine Platte aus 0,5 mm Aluminium

Der flexible Hals aus einem alten Flexfeuerzeug

Der obere Abdeckring einer "Stick and Click" LED-Schrankleuchte LED-Schrankleuchte - al

Ein kleines Blatt 1/4 Zoll Sperrholz

Ein schweres, flaches Metallgewicht mit den Abmessungen (ungefähr) 1,5" x 2,5" x 0,25"

Elektrischer Draht mit verseiltem Kern

Werkzeuge:

Heißklebepistole und Kleber

Lötkolben und Lot

Akku-Bohrschrauber und verschiedene kleine Spiralbohrer

X-acto-Messer (oder ein Universalmesser)

Abisolierzangen

Zange

Drahtschneider/Scheren

Schwere Schere

Wenn Sie das flache Metallgewicht nicht haben, benötigen Sie außerdem:

1 Rolle billiges Lot (nicht das Material, das Sie zum Löten verwenden werden) Günstiges bleifreies Lot

Alkoholkerze (oder ein Bunsenbrenner)

Eine kleine Schüssel aus gehärtetem Stahl, die Sie gerne ruinieren (oder einen kleinen Tiegel, wenn Sie einen haben)

Ein Stativ für die Schüssel / den Tiegel (ich habe meins aus 12-Gauge-Stahldraht gemacht)

Eine Tonpflanzenschale (eines dieser Dinger, die unter den Topf gehen)

Etwas Alufolie

HINWEIS: Wenn Sie über ein Schweißgerät oder einen 3D-Drucker verfügen, benötigen Sie möglicherweise nicht alle hier aufgeführten Werkzeuge.

Schritt 2: Gewicht herstellen

Gewicht machen
Gewicht machen
Gewicht machen
Gewicht machen
Gewicht machen
Gewicht machen

Dies ist ein ziemlich schwieriger Schritt, und Sie müssen dabei äußerste Vorsicht walten lassen. Wenn Sie ein schweres Metallgewicht oder einen flachen Neodym-Magneten von etwa 2,75" x 1,75" x 0,25" haben, würde ich stattdessen empfehlen (und der Magnet würde es Ihnen sogar ermöglichen, die Lampe seitlich auf Metalloberflächen zu positionieren!).

Haftungsausschluss: Ich bin nicht verantwortlich für Verletzungen Ihrerseits, verwenden Sie also bitte den gesunden Menschenverstand

Tun Sie dies auch draußen auf einer Betonoberfläche, die Ihnen nichts ausmacht, wenn sie etwas versengt (dies ist nur eine Vorsichtsmaßnahme). Ich habe keine Bilder für diesen Prozess, weil eine Kamera eine zusätzliche Ablenkung gewesen wäre, die ich nicht brauchte oder wollte.

Machen Sie zuerst eine kleine Form aus Aluminiumfolie oder nassem Ton, etwa 2 3/4 Zoll x 1 3/4 Zoll x 1/4 Zoll Innenmaß. Es kann eine eiförmige Form wie meine oder ein Rechteck sein. Verwenden Sie mehrere Schichten Folie oder dicke Tonschichten.

Stellen Sie die Form in die Keramik-Pflanzenschale und füllen Sie sowohl die Form als auch das Blech mit kaltem Wasser.

Nehmen Sie Ihre unbeleuchtete Alkoholkerze / Ihren Bunsenbrenner und stellen Sie die Stahlschale / den Tiegel auf das Stativ, damit die Flamme die Mitte der Schale erhitzt (wenn sie angezündet ist). Stellen Sie vor dem Anzünden des Brenners sicher, dass Sie mindestens 1 Zange oder Metallbearbeitungszange zur Hand haben, wenn nicht 2.

Es ist eine gute Idee, bei den nächsten Schritten Lederhandschuhe, lange Ärmel, lange Hosen, geschlossene Schuhe und Augenschutz zu tragen

Wickeln Sie ein Bündel des billigen Lots auf und brechen Sie es von der Spule ab, legen Sie es in die Stahlschale und zünden Sie dann den Brenner an. Warten Sie, bis die Spule vollständig geschmolzen ist, und führen Sie dann den Rest des Lots in mäßigem Tempo in die Schüssel ein. Wenn das Lot Kolophonium enthält, kann es sich in der Hitze spontan entzünden und eine blassgelbe Flamme und schwarzen Rauch erzeugen. Keine Sorge, das ist mir schon mehrfach passiert und ist völlig normal.

Füttern Sie das Lot weiter in die Schüssel, bis das letzte Stück geschmolzen ist.

Lassen Sie alle Flammen des verbrennenden Kolophoniums vollständig erlöschen und verwenden Sie die Zange / Zange, um die Schüssel zu greifen und das geschmolzene Metall vorsichtig darin zu wirbeln, während Sie es vorsichtig in der Flamme halten.

Nachdem Sie sicher sind, dass das gesamte Lot vollständig verflüssigt ist und eine gute heiße Temperatur hat, nehmen Sie es schnell und vorsichtig von der Flamme und gießen Sie es in die Form. Es wird ein lautes Zischen und Dampf geben, während ein Teil des Wassers verdampft und der Rest aus der Form gedrückt wird, um durch geschmolzenes Lot ersetzt zu werden.

Lassen Sie das Lot abkühlen, schalten Sie Ihren Brenner aus / blasen Sie Ihre Kerze aus und stellen Sie die Stahlschale an einen sicheren Ort zum Abkühlen. Vielleicht möchten Sie kaltes Wasser über das Kühllot gießen, um das Abkühlen zu beschleunigen und es weiter zu härten. (Das kalte Wasser kühlt die Außenseite schneller ab als die Innenseite, wodurch eine innere Spannung entsteht, die das Metall härter und steifer macht, ähnlich wie bei einem Prince Rupert's Drop.) Sie können auch Wasser über Ihre Metallschüssel laufen lassen, dies führt jedoch dazu, dass sie spröde wird, besonders wenn es mehrmals gemacht wird.

Nachdem das Lot vollständig abgekühlt ist (ca. 20 Minuten zur Sicherheit), nehmen Sie es aus der Folienform.

Meins war auf einer Seite dicker als auf der anderen, also habe ich einen Hammer verwendet, um es auszugleichen und die Kanten abzuflachen (was zu der Form führt, die Sie auf den Bildern sehen). Ich habe es dann leicht unter fließendem Wasser geschliffen, um es zu polieren, und es für später beiseite gelegt.

Schritt 3: Aufbau des Elektronikgehäuses, Schritt 1

Aufbau des Elektronikgehäuses, Schritt 1
Aufbau des Elektronikgehäuses, Schritt 1
Aufbau des Elektronikgehäuses, Schritt 1
Aufbau des Elektronikgehäuses, Schritt 1
Aufbau des Elektronikgehäuses, Schritt 1
Aufbau des Elektronikgehäuses, Schritt 1
Aufbau des Elektronikgehäuses, Schritt 1
Aufbau des Elektronikgehäuses, Schritt 1

Dies sind die Teile für die Schale, die den Nano beherbergen, die Schnittstelle montieren und im Wesentlichen die HALO-Lampe zusammenhalten. Ich habe meine mit meinem 0,5 mm Aluminium und Heißkleber gemacht, aber wenn Sie einen 3D-Drucker haben (etwas, das ich seit einiger Zeit für meinen Laden versuche), habe ich eine. STL-Version in Tinkercad erstellt, die ich hier für Sie angehängt habe herunterladen. Da ich selbst keinen Drucker habe, konnte ich das Modell nicht testen, um zu sehen, ob alles richtig gedruckt wird, aber ich denke, es sollte in Ordnung sein, wenn Sie Ihrem Slicer die richtigen Stützstrukturen hinzufügen. Sie können die Quelldatei auch hier kopieren und bearbeiten, wenn Sie ein etwas anderes Design oder eine etwas andere Ästhetik benötigen oder wünschen.

Die Abmessungen wurden eigentlich von dem Metallgewicht abgeleitet, das ich selbst aus Lötzinn gegossen habe, nicht von der Größe der Elektronik, aber es ist trotzdem ganz gut geworden und die Abmessungen sind ziemlich optimal.

Die Bilder zeigen eine etwas andere Operationsreihenfolge als ich hier schreibe, weil ich eine verbesserte Methode basierend auf den Ergebnissen meiner ursprünglichen Methode entwickelt habe.

Wenn Sie wie ich aus Blech zusammenbauen, müssen Sie Folgendes tun:

Schritt 1: Frontplatten

Schneiden Sie zwei identische halbkreisförmige Formen von etwa 1,5" hoch und 3" breit aus. (Ich habe meine freihändig gemacht, also sehen sie ein bisschen aus wie die Vorderseite einer Jukebox).

Bohren Sie in eine der beiden Platten die drei Löcher für die Tasten und das Potentiometer. Meine waren jeweils 1/4 Zoll im Durchmesser. Diese können in jedem Layout sein, aber ich bevorzuge es, dass mein Potentiometer in der Mitte leicht erhöht ist, wobei die Tasten auf beiden Seiten ein gleichschenkliges Dreieck bilden. Beim Bohren mache ich immer ein kleines Pilotloch, bevor ich zum Bit der erforderlichen Größe gehe. Dies hilft, die Löcher zu zentrieren und sie etwas sauberer zu machen.

Schritt 2: Gewölbte Abdeckung

Biegen Sie ein Stück Aluminium so, dass es um die Rundung einer der Frontplatten passt, und markieren Sie die richtige Kantenlänge.

Schneiden Sie einen Streifen dieser Länge und etwa 2 Zoll Breite aus und formen Sie ihn zu einem Bogen, der der Form der Krümmung der Frontplatten auf beiden Seiten entspricht.

Suchen Sie den Mittelpunkt oben in der Kurve und bohren Sie ein Loch, das in den Flex-Hals des Feuerzeugs passt. Ich habe das Loch in meinem nach hinten versetzt, weil der Hals meiner Lampe während des Gebrauchs meistens nach vorne geneigt ist, also wollte ich ein bisschen ein Gegengewicht dazu hinzufügen. Mein flexibler Hals hatte einen Durchmesser von etwas mehr als 1/4 Zoll, also habe ich ein 1/4 Zoll-Bit verwendet (das größte Twist-Bit, das ich besitze, das weniger als 3/4 Zoll beträgt) und das nur vorsichtig abgewinkelt und verdreht Bohren Sie, um das Loch zu "bohren", bis der Hals passt.

Nachdem wir nun die Teile für die Schale haben, besteht der nächste Schritt darin, Elektronik hinzuzufügen und zusammenzubauen!

Schritt 4: Aufbau des Elektronikgehäuses, Schritt 2

Aufbau des Elektronikgehäuses, Schritt 2
Aufbau des Elektronikgehäuses, Schritt 2
Aufbau des Elektronikgehäuses, Schritt 2
Aufbau des Elektronikgehäuses, Schritt 2
Aufbau des Elektronikgehäuses, Schritt 2
Aufbau des Elektronikgehäuses, Schritt 2
Aufbau des Elektronikgehäuses, Schritt 2
Aufbau des Elektronikgehäuses, Schritt 2

Jetzt fügen wir die Tasten und das Potentiometer hinzu und fügen alles zusammen.

Schritt 1: Knöpfe und Schrauben

Schrauben Sie die Sechskantmuttern von Ihren Knöpfen und Potentiometer ab. Unter der Mutter sollte sich eine Greifringvorrichtung befinden, lassen Sie diese an Ort und Stelle.

Stecken Sie jede der Komponenten durch ihr jeweiliges Loch und schrauben Sie dann die Muttern wieder fest, um sie zu befestigen. Ziehen Sie die Muttern bis zu dem Punkt an, an dem Sie sicher sind, dass jede Komponente vollständig sicher ist.

Schritt 2. Flex Neck

Stecken Sie den Flex-Hals durch das Loch in der Oberseite des gebogenen Stücks. Heißkleben oder schweißen (wenn Sie die Ausrüstung haben) den Hals sicher an Ort und Stelle.

Wenn ich Heißkleber verwende, ist es eine gute Idee, ihn mit viel Kleber auf beiden Seiten großflächig zu verkleben, um zu verhindern, dass sich der Kleber später löst.

Schritt 3: Schalenmontage (Gilt nicht für 3D-gedruckte Schalen)

Befestigen Sie die vordere und hintere Frontplatte entweder mit Schweißdraht oder Heißkleber an den entsprechenden Stellen auf der gewölbten Abdeckung. Ich brauchte ein paar Versuche, bis mein Kleber klebte, und wie zuvor besteht der Trick darin, viel Kleber auf beiden Seiten des Gelenks zu verwenden, genau wie am Hals. Je größer die vom Kleber bedeckte Fläche, desto besser haftet er.

Nachdem wir nun die Shell haben, können wir alle Schaltungsbits hinzufügen.

Schritt 5: Elektronik hinzufügen

Elektronik hinzufügen
Elektronik hinzufügen
Elektronik hinzufügen
Elektronik hinzufügen
Elektronik hinzufügen
Elektronik hinzufügen

Und hier ist der lustige Teil: Löten! In den letzten Wochen bin ich ehrlich gesagt ein bisschen müde vom Löten geworden, weil ich es in letzter Zeit so oft getan habe, um ein weiteres Projekt abzuschließen, das ich bald aufsetzen sollte (halte nach einer radikalisierten neuen Version meines Roboterdisplays Ausschau Plattformen), was dazu führte, dass ich ein Eisen ruinierte und ein anderes bekam… Jedenfalls gibt es hier nicht viel zu löten, also sollte dies ziemlich einfach sein.

Hinweis: Wenn Ihr Nano bereits Stiftleisten hat, würde ich empfehlen, sie für dieses Projekt zu entlöten, da sie nur im Weg sind.

Es gibt ein Diagramm in den Bildern oben, Sie können diesem folgen, wenn Sie möchten.

Schritt 1: Schnittstelle

Löten Sie von jedem der Schalter einen Draht von einem einzelnen Stift an einen Seitenstift des Potentiometers. Löten Sie einen Draht von diesem gleichen Seitenstift auf einen Erdungsstift auf dem Nano.

Löten Sie einen Draht vom Mittelstift des Potentiometers auf A0 auf dem Nano.

Löten Sie einen Draht vom nicht angeschlossenen Pin eines der beiden Schalter an A1 auf dem Nano.

Löten Sie einen Draht vom nicht angeschlossenen Pin des anderen Schalters an A2 am Nano.

Hinweis: Es spielt keine Rolle, welcher Schalter welcher ist, Sie können sie sehr einfach im Code ändern, abgesehen davon, dass ein Schalter einfach das Gegenteil des anderen macht.

Schneiden Sie ein Stück Draht 4 Zoll länger als der Flexhals und streifen Sie beide Seiten ab. Markieren Sie mit einem Sharpie eine Seite mit einer einzigen Linie.

Löten Sie einen Draht an den letzten nicht angeschlossenen Seitenstift des Potentiometers, verdrillen Sie das nicht verbundene Ende dieses Drahtes zusammen mit dem nicht markierten Ende des Drahtes aus dem letzten Teilschritt.

Löten Sie dieses verbundene Ende auf 5V auf dem Nano.

Schritt 2: Display- und Stromkabel

Schneiden Sie 2 Längen Draht 4 Zoll länger als der Flexhals und streifen Sie beide Enden ab.

Markieren Sie mit einem Sharpie die Enden jedes Drahtes, einen Draht mit 2 Linien und einen mit 3.

Löten Sie den Draht mit 2 Leitungen an den digitalen Pin 9 des Nano.

Löten Sie an Ihrer 5-mm-Fassbuchse einen Draht vom Mittelstift (positiv) an Vin auf dem Nano.

Löten Sie einen weiteren Draht an einen Seitenstift (Masse / Minus) der Zylinderbuchse.

Verdrillen Sie den langen Draht mit 3 Leinen zusammen mit dem Draht vom seitlichen Stift der Zylinderbuchse.

Löten Sie diese Drähte an den offenen GND-Pin des Nano.

Isolieren Sie Verbindungen bei Bedarf mit Isolierband oder Heißkleber.

Schritt 3: Löcher schneiden (nur bei der Metallversion, wenn Sie die Abdeckung in 3D gedruckt haben, sollte es Ihnen gut gehen)

Bohren Sie mit einem Bohrer und einem X-acto oder einem Universalmesser vorsichtig ein Loch in die Seite der Abdeckung für den USB-Anschluss des Nano.

Bohren Sie auf der Rückseite der Abdeckung ein weiteres Loch in der Größe der Vorderseite der Buchsenbuchse, vorzugsweise näher an der Seite, die dem Loch für den USB-Anschluss gegenüberliegt.

Schritt 4: Komponenten montieren

Führen Sie die drei langen Drähte durch den Flexhals und auf der anderen Seite heraus.

Montieren Sie die Laufbuchse mit viel Heißkleber so, dass die Stifte zur Oberseite der Abdeckung zeigen.

Montieren Sie den Nano erneut mit viel Heißkleber, wobei der Reset-Knopf nach unten zeigt und der USB-Anschluss in seinem Steckplatz liegt. Ich habe eine "Heißkleberbrücke" zwischen der Laufbuchse und dem Nano gemacht, die den anderen fest an seinem Platz hält.

Jetzt können wir mit der gewichteten Basis fortfahren!

Schritt 6: Gewichtete Basis

Gewichtete Basis
Gewichtete Basis
Gewichtete Basis
Gewichtete Basis
Gewichtete Basis
Gewichtete Basis

Ich bin von meinen Lötfähigkeiten überzeugt und hatte dies gut geplant, also habe ich die Basis hinzugefügt, bevor ich den Code testete. Wenn Sie weniger Vertrauen in Ihre Fähigkeiten haben, würde ich vorschlagen, diesen Schritt zu überspringen und am Ende dorthin zurückzukehren, wenn Sie wissen, dass alles funktioniert.

Wenn Sie die 3D-gedruckte Version erstellt haben, können Sie den ersten Schritt überspringen und zum zweiten übergehen.

Schritt 1: Holz

Schneiden Sie aus einem Blatt 1/4 Zoll Sperrholz eine Basis von etwa 3 Zoll x 2 Zoll.

Schleifen Sie die Kanten, um sie zu glätten und Grate zu entfernen.

Schritt 2: Gewicht

Stellen Sie zunächst sicher, dass das Gewicht Ihrer Wahl, sei es ein Magnet, ein Metall oder ein kundenspezifisches Lötmittel, in die Kanten der von uns hergestellten Metallabdeckung passt. Meins war in eine Richtung etwas groß, also habe ich mich mit einem X-Acto-Messer etwas von der Seite rasiert. Wenn Sie dies nicht tun können, müssen Sie möglicherweise mit einem anderen Basisdesign herumfummeln.

Heißkleben Sie Ihr Gewicht in die Mitte des Sperrholzstücks oder im Falle des 3D-gedruckten Designs in den mittleren "Tablett" -Bereich, den ich für diesen Zweck entworfen habe.

Schritt 3: Basis

Bringen Sie die Metallabdeckung über dem Gewicht an und zentrieren Sie sie auf dem Holzsockel. (Im Falle des 3D-gedruckten Designs passen Sie es in die vorgefertigten Rillen ein.)

Stellen Sie sicher, dass das Gewicht die Elektronik nicht stört

Verwenden Sie Heißkleber, um die Basis zu befestigen. Verwenden Sie genug, um eine feste Verbindung zu gewährleisten.

Nun, da wir unsere Steuerbox vollständig erstellt haben, gehen wir zu den Lichtern über.

Schritt 7: NeoPixel Halo-Ring

NeoPixel Halo-Ring
NeoPixel Halo-Ring
NeoPixel Halo-Ring
NeoPixel Halo-Ring
NeoPixel Halo-Ring
NeoPixel Halo-Ring
NeoPixel Halo-Ring
NeoPixel Halo-Ring

Die Inspiration für den Namen dieser Lampe, dieses Teil, ist der NeoPixel-Halo-Ring, den wir als Lichtquelle verwenden werden. Dieses besondere Stück kann auf Wunsch mit jedem NeoPixel oder individuell adressierbaren LED-Ring modifiziert oder ersetzt werden.

Schritt 1: Löten

Schneiden Sie einen Streifen NeoPixels 12 LEDs in der Länge.

Löten Sie den GND-Pin an den Draht vom Flex-Hals, der 3 Leitungen hat.

Löten Sie den Din-Pin an den Draht, der 2 Leitungen hat.

Löten Sie den 5V-Pin an den Draht, der 1 Leitung hat.

Schritt 2: Testen Sie die Lichter

Laden Sie die Adafruit_NeoPixel-Bibliothek herunter, installieren Sie sie und öffnen Sie den "strandtest" -Code.

Ändern Sie die konstante PIN auf 9.

Ändern Sie die Zeile, in der der Streifen definiert ist, so, dass er für 12 LEDs konfiguriert ist.

Laden Sie den Code auf den Nano hoch und stellen Sie sicher, dass alle Ihre LEDs ordnungsgemäß funktionieren.

Ersetzen Sie alle fehlerhaften LEDs durch funktionierende, bis der gesamte Streifen funktioniert.

Schritt 3: Klingeln

Nehmen Sie den oberen Ring von einer "Stick and Click"-Leuchte und schneiden Sie alle Verschraubungen an der Innenfelge ab.

Schneiden Sie am Rand eine kleine Kerbe für die Drähte aus dem Streifen.

Ziehen Sie die Abdeckung für das Klebeband auf der Rückseite der NeoPixel (falls vorhanden) ab und kleben Sie sie in den Ring, wobei jedes Ende des Streifens genau an der von uns gemachten Kerbe liegt.

Verwenden Sie Heißkleber, um die Kanten des Streifens fest zu befestigen

Nachdem der Kleber vollständig abgekühlt ist, testen Sie die Pixel erneut. Dies soll sicherstellen, dass niemand in Bezug auf die Hitze und das Curling wählerisch ist (einige von mir waren).

Schritt 4: Montieren

Schneiden Sie zwei kleine Rechtecke aus 1/4 Zoll Holz aus, etwa in der Höhe des Rings und 1 2/3 mal so breit.

Kleben Sie diese parallel zueinander auf beiden Seiten der Drähte des Rings, füllen Sie die Lücke und bedecken Sie die Drähte dazwischen vollständig mit Klebstoff.

Schieben Sie die überschüssige Drahtlänge vorsichtig in den Flexhals zurück und kleben Sie dann die Holzstücke mit viel Leim auf das Ende des Halses und füllen Sie alle Lücken sorgfältig aus (ohne den Hals mit Leim zu füllen).

Schritt 6: Fertigstellung

Sie können den Ring bemalen und eine beliebige Farbe montieren, wenn Sie möchten, ich habe das silberne Finish bevorzugt, also habe ich nur einen Sharpie verwendet, um das Logo zu verdecken, das (nervig) auf den Ring gedruckt wurde. Das gleiche gilt für den Rest der Lampe.

Jetzt können wir mit dem endgültigen Code fortfahren!

Schritt 8: Codes und Tests

Codes und Tests
Codes und Tests
Codes und Tests
Codes und Tests

Jetzt müssen wir nur noch die Lampe programmieren und testen. Anbei die aktuelle Codeversion (rev1.0), ich habe diesen Code recht ausgiebig getestet und er funktioniert sehr gut. Ich arbeite an einer rev2.0, bei der die Schaltflächen als externe Interrupts konfiguriert sind, damit zwischen den Modi leichter gewechselt werden kann, aber diese Version ist fehlerhaft und noch nicht zur Veröffentlichung bereit. Bei der aktuellen Version muss man die Taste solange gedrückt halten, bis sie die Debounce-Schleife durchläuft und den Zustandswechsel erkennt, was bei den längeren "Dynamic"-Schleifen nervig sein kann. Unten ist der Code mit einigen darin geschriebenen Erklärungen (es gibt die gleichen Erklärungen in der herunterladbaren Version).

#include #ifdef _AVR_ #include #endif

#definiere PIN 9

#define TOPF A0 #define BUTTON1 A1 #define BUTTON2 A2

// Parameter 1 = Anzahl der Pixel im Streifen

// Parameter 2 = Arduino-Pinnummer (die meisten sind gültig) // Parameter 3 = Pixeltyp-Flags, addieren Sie nach Bedarf: // NEO_KHZ800 800 KHz Bitstream (die meisten NeoPixel-Produkte mit WS2812 LEDs) // NEO_KHZ400 400 KHz (klassisch ' v1' (nicht v2) FLORA-Pixel, WS2811-Treiber) // NEO_GRB Pixel sind für GRB-Bitstream verdrahtet (die meisten NeoPixel-Produkte) // NEO_RGB-Pixel sind für RGB-Bitstream verdrahtet (v1 FLORA-Pixel, nicht v2) // NEO_RGBW-Pixel sind verdrahtet für RGBW-Bitstream (NeoPixel RGBW-Produkte) Adafruit_NeoPixel Halo = Adafruit_NeoPixel (12, PIN, NEO_GRB + NEO_KHZ800);

// Und jetzt eine Sicherheitsnachricht von unseren Freunden von Adafruit:

// WICHTIG: Um das Risiko von NeoPixel-Burnouts zu reduzieren, fügen Sie einen 1000-uF-Kondensator hinzu

// Pixelstromkabel, 300 - 500 Ohm Widerstand am Dateneingang des ersten Pixels hinzufügen // und den Abstand zwischen Arduino und dem ersten Pixel minimieren. Vermeiden Sie das Anschließen von // an einen spannungsführenden Stromkreis … wenn Sie müssen, schließen Sie zuerst GND an.

// Variablen

int buttonState1; int buttonState2; // der aktuelle Messwert vom Eingangspin Int lastButtonState1 = LOW; // der vorherige Messwert vom Eingangspin Int lastButtonState2 = LOW; int-Modus; // Der Modus unserer Lichter kann eine von 16 Einstellungen (0 bis 15) sein Int brightVal = 0; // die Helligkeit / Geschwindigkeit, wie vom Potentiometer eingestellt

// Die folgenden Variablen sind lang, weil die Zeit, gemessen in Millisekunden, // wird schnell eine größere Zahl, als in einem int gespeichert werden kann. long lastDebounceTime = 0; // das letzte Mal, als der Ausgangspin umgeschaltet wurde long debounceDelay = 50; // die Entprellzeit; erhöhen, wenn die Ausgabe flimmert

Leere Entprellung (){

// den Zustand des Schalters in eine lokale Variable lesen: int reading1 = digitalRead (BUTTON1); int read2 = digitalRead (BUTTON2); // Wenn sich eine der Tasten aufgrund von Rauschen oder Drücken geändert hat: if (reading1 != lastButtonState1 || reading2 != lastButtonState2) { // Entprell-Timer zurücksetzen lastDebounceTime = millis(); } if ((millis() - lastDebounceTime) > debounceDelay) {// wenn sich der Button-Zustand durch Drücken/Loslassen definitiv geändert hat: if (reading1 != buttonState1) { buttonState1 = reading1; // Setze es als den Messwert, wenn es geändert wird if (buttonState1 == LOW) {//diese werden als aktiver Low-Schaltermodus ++ gesetzt; wenn (Modus == 16) {Modus = 0; } } } if (reading2 != buttonState2){ buttonState2 = reading2; if (buttonState2 == LOW) { Modus = Modus - 1; wenn (Modus == -1) {Modus = 15; } } } } // speichere den Messwert für das nächste Mal durch die Schleife lastButtonState1 = reading1; lastButtonState2 = lesen2; }

Void getBright () { // Unser Code zum Lesen des Potentiometers gibt einen Wert zwischen 0 und 255 aus. Wird verwendet, um in einigen Modi die Helligkeit und in anderen die Geschwindigkeit einzustellen.

int potVal = analogRead (POT); brightVal = map(potVal, 0, 1023, 0, 255); }

//Hier sind unsere Farbmodi. Einige davon stammen aus dem Strandtest-Beispiel, andere sind original.

// Füllen Sie die Punkte nacheinander mit einer Farbe (colorwipe, abgeleitet von strandtest)

void colorWipe(uint32_t c, uint8_t wait) { for(uint16_t i=0; i

// Regenbogenfunktionen (auch abgeleitet von strandtest)

void rainbow(uint8_t warte) {

uint16_t i, j;

for(j=0; j<256; j++) { for(i=0; i

// Etwas anders, dadurch ist der Regenbogen gleichmäßig verteilt

void rainbowCycle (uint8_t warte) { uint16_t i, j;

for(j=0; j<256*5; j++) {// 5 Zyklen aller Farben auf dem Rad for(i=0; i<halo.numPixels(); i++) {halo.setPixelColor(i, Wheel(((i * 256 / halo.numPixels()) + j) & 255); } Halo.show(); verzögern (warten); } }

// Geben Sie einen Wert von 0 bis 255 ein, um einen Farbwert zu erhalten.

// Die Farben sind ein Übergang r - g - b - zurück nach r. uint32_t Wheel(byte WheelPos) { WheelPos = 255 - WheelPos; if(WheelPos <85) { return halo. Color(255 - WheelPos * 3, 0, WheelPos * 3); } if (WheelPos <170) { WheelPos -= 85; Halo. Color (0, WheelPos * 3, 255 - WheelPos * 3); } WheelPos -= 170; Halo. Color zurückgeben (WheelPos * 3, 255 - WheelPos * 3, 0); }

Leere Einrichtung () {

// Dies ist für Trinket 5V 16MHz, Sie können diese drei Zeilen entfernen, wenn Sie kein Trinket verwenden #wenn definiert (_AVR_ATtiny85_) if (F_CPU == 16000000) clock_prescale_set(clock_div_1); #endif // Ende des Schmuckstück-Sondercodes pinMode(POT, INPUT); pinMode (BUTTON1, INPUT_PULLUP); pinMode (BUTTON2, INPUT_PULLUP); pinMode (PIN, AUSGANG); Serial.begin (9600); // Debugging-Zeug halo.begin (); Halo.show(); // Alle Pixel auf 'off' initialisieren }

Leere Schleife () {

entprellen();

//Seriell.println (Modus); //mehr Debugging //Serial.println (lastButtonState1); //Seriell.println (lastButtonState2);

wenn (Modus == 0){

getBright(); for (int i = 0; i <halo.numPixels(); i++) {halo.setPixelColor (i, halo. Color (brightVal, brightVal, brightVal)); // setze alle Pixel auf weiß} halo.show (); }; wenn (Modus == 1) { getBright(); for (int i = 0; i <halo.numPixels(); i++) {halo.setPixelColor (i, halo. Color (brightVal, 0, 0)); // setze alle Pixel auf rot} halo.show(); }; if (Modus == 2) { getBright(); for (int i = 0; i <halo.numPixels(); i++) {halo.setPixelColor (i, halo. Color (0, brightVal, 0)); // setze alle Pixel auf grün } halo.show(); }; wenn (Modus == 3) { getBright(); for (int i = 0; i <halo.numPixels(); i++) {halo.setPixelColor (i, halo. Color (0, 0, brightVal)); // setze alle Pixel auf blau } halo.show(); }; wenn (Modus == 4) { getBright(); for (int i = 0; i <halo.numPixels(); i++) {halo.setPixelColor (i, halo. Color (0, brightVal, brightVal)); // setze alle Pixel auf Cyan} halo.show(); }; wenn (Modus == 5) { getBright(); for (int i = 0; i <halo.numPixels(); i++) {halo.setPixelColor (i, halo. Color (brightVal, 0, brightVal)); // setze alle Pixel auf lila/magenta } halo.show(); }; wenn (Modus == 6) { getBright(); for (int i = 0; i <halo.numPixels(); i++) {halo.setPixelColor (i, halo. Color (brightVal, brightVal, 0)); // setze alle Pixel auf orange/gelb } halo.show(); }; if (mode == 7) {//jetzt die dynamischen Modi getBright(); colorWipe(halo. Color(brightVal, 0, 0), 50); // Rot }; wenn (Modus == 8) { getBright(); colorWipe (halo. Color (0, brightVal, 0), 50); // Grün }; wenn (Modus == 9) { getBright(); colorWipe(halo. Color(0, 0, brightVal), 50); // Blau }; wenn (Modus == 10) { getBright(); colorWipe(halo. Color(brightVal, brightVal, brightVal), 50); // Weiß }; wenn (Modus == 11) { getBright(); colorWipe(halo. Color(brightVal, brightVal, 0), 50); // Orange Gelb }; wenn (Modus == 12) { getBright(); colorWipe(halo. Color(0, brightVal, brightVal), 50); // Cyan}; wenn (Modus == 13) { getBright(); colorWipe(halo. Color(brightVal, 0, brightVal), 50); // lila/magenta}; if (mode == 14) {// die letzten beiden sind Geschwindigkeitsregelung, da die Helligkeit dynamisch ist getBright (); Regenbogen (helles Val); }; wenn (Modus == 15) { getBright (); RainbowCycle(hellesVal); }; Verzögerung(10); // dem Prozessor ein wenig Ruhe gönnen}

Schritt 9: Das große Finale

Das große Finale
Das große Finale

Und jetzt haben wir eine fantastische, superhelle kleine Lampe!

Sie können es von hier aus weiter ändern oder es so lassen, wie es ist. Sie können den Code ändern oder sogar einen ganz neuen schreiben. Sie können die Basis vergrößern und Batterien hinzufügen. Sie könnten einen Ventilator hinzufügen. Sie können weitere NeoPixel hinzufügen. Die Liste von allem, was Sie damit machen könnten, ist fast unendlich. Ich sage "fast", weil ich mir ziemlich sicher bin, dass wir immer noch nicht die Technik haben, dies in einen Miniportal-Generator umzuwandeln (leider), aber abgesehen von solchen Dingen ist die einzige Grenze Ihre Fantasie (und bis zu einem gewissen Grad wie ich vor kurzem festgestellt habe, die Werkzeuge in deiner Werkstatt). Aber wenn Sie nicht über die Werkzeuge verfügen, lassen Sie sich davon nicht aufhalten, wenn Sie wirklich etwas tun wollen, gibt es immer einen Weg.

Das ist der Sinn dieses Projekts, mir selbst (und in geringerem Maße auch der Welt) zu beweisen, dass ich nützliche Dinge herstellen kann, die andere Leute auch mögen würden, auch wenn ich nur einen regelrechten Schrotthaufen aus Alt und Schrott habe Komponenten und einen Behälter mit Arduino-Zubehör.

Ich lasse hier ab, weil ich denke, dass dieser ziemlich gut geworden ist. Wenn Sie einen Verbesserungsvorschlag oder eine Frage zu meinen Methoden haben, hinterlassen Sie bitte unten einen Kommentar. Wenn Sie das gemacht haben, machen Sie ein Foto, wir alle wollen es sehen!

Bitte vergessen Sie nicht abzustimmen, wenn Ihnen das gefällt!

Wie immer sind dies die Projekte von Dangerously Explosive, seiner lebenslangen Mission: "Kühn bauen, was du bauen willst, und mehr!"

Den Rest meiner Projekte findet ihr hier.

Danke fürs Lesen und viel Spaß beim Basteln!

Empfohlen: