Aktualisieren Sie Ihren Weihnachtskranz mit einer Motion Activated LED Matrix

Dieser DIY Weihnachtskranz verwendet eine Arduino- und LED-Matrix, um ein erstaunliches Leuchtdisplay zu erzeugen, das Ihre Freunde und Familie beeindrucken wird.

Dieser DIY Weihnachtskranz verwendet eine Arduino- und LED-Matrix, um ein erstaunliches Leuchtdisplay zu erzeugen, das Ihre Freunde und Familie beeindrucken wird.
Werbung

Weihnachten ist wieder da, und ob es Ihr Lieblingsurlaub des Jahres ist oder es Sie in kaltem Schweiß bringt, die Dekorationen beginnen zu steigen. Warum sollten Sie in diesem Jahr keine DIY-Technik in Ihre Dekorationen integrieren, um sie hervorzuheben?

In diesem Projekt werden wir eine wetterfeste, bewegungsaktivierte 8 x 8 LED-Matrix von Grund auf neu bauen ... für unter $ 20. Es ist entworfen, um in die Mitte eines Standardweihnachtstürkranzes zu passen, obwohl es überall im Haus benutzt werden könnte. Und da es batteriebetrieben ist, auch außerhalb des Hauses!

Liste der Einzelteile

Für dieses Projekt benötigen Sie:

  • Arduino.
    • Ich benutze den Nano für seine geringe Größe, aber Sie könnten fast jeden Arduino-kompatiblen Mikrocontroller Arduino Buying Guide: Welcher Ausschuss sollten Sie? Arduino Einkaufsführer: Welches Board sollten Sie bekommen? Es gibt so viele verschiedene Arten von Arduino Boards da draußen, es wäre dir vergeben, wenn du verwirrt bist. Was sollten Sie für Ihr Projekt kaufen? Lassen Sie uns helfen, mit diesem Arduino Einkaufsführer! Weiterlesen .
  • 64 x rote LEDs.
  • 8 x 220 Ohm Widerstände.
  • PIR Bewegungssensor.
    • Viele Arduino Starter Kits Was ist in einem Arduino Starter Kit enthalten? [MakeUseOf erklärt] Was ist in einem Arduino Starter Kit enthalten? [MakeUseOf Explains] Ich habe die Arduino-Open-Source-Hardware bereits hier auf MakeUseOf eingeführt, aber Sie werden mehr als nur das eigentliche Arduino benötigen, um etwas daraus zu bauen und tatsächlich anzufangen. Arduino "Starter Kits" sind ... Read More mit diesen kommen. Ich kaufte ein Multi-Pack von Amazon für 10 Dollar.
  • 1 Stück Prototyping Board.
    • Der hier verwendete war 9 x 7 cm, obwohl Sie jede gewünschte Größe verwenden können.
  • 7-12V Batterie.
    • Ein einfacher Akku wird hier aus Kostengründen verwendet, aber ein Handy-Ladegerät Die besten Pokemon Go Power Banks Die besten Pokemon Go Power Banks Pokemon Go schlägt die Hölle aus dem Akku eines Telefons. Um ein bisschen mehr Pokémon-Saft aus deinem Handy zu quetschen, brauchst du eine Powerbank. Aber was ist die beste Batterie da draußen? Read More kann noch länger dauern.
  • Sortierte kurze Drahtstücke.
  • Tupperbox oder ähnliches wetterfestes Gehäuse.
    • Stellen Sie sicher, dass es groß genug ist, um alle Ihre Komponenten darin zu platzieren!
  • Weihnachtskranz.
    • Jeder wird tun, nur sicherstellen, dass die Gehäuse-Box in sie passt.
  • Lötkolben und Lot.

Obwohl es nicht unbedingt notwendig ist, da die Komponenten direkt an den Nano gelötet werden können, habe ich beim Testen auch ein kleines Steckbrett gefunden. Eine Heißklebepistole hilft auch beim Zusammensetzen aller Teile.

Weihnachtskranz führte Matrixteile

Dieses Projekt erfordert ziemlich viel Löten und als Anfänger mag es entmutigend erscheinen. Ich persönlich bin immer noch ein Anfänger im Löten und fand es nicht so herausfordernd oder zeitraubend wie es scheint. Wenn Sie auch neu zu Löten sind hier einige gute Tipps, um zu lernen, wie man Löten, mit diesen einfachen Tipps und Projekten lernen, wie man Löten, mit diesen einfachen Tipps und Projekte Sind Sie ein wenig eingeschüchtert durch den Gedanken an ein heißes Eisen und geschmolzenes Metall? Wenn Sie mit Elektronik arbeiten wollen, müssen Sie lernen, zu löten. Lasst uns helfen. Weiterlesen .

Wenn Sie wirklich nicht an der Idee des Lötens interessiert sind, ist dieses Projekt auch mit LED Streifen möglich. Weekend Project: Erstellen Sie ein riesiges LED Pixel Display Wochenendprojekt: Erstellen Sie ein riesiges LED Pixel Display Ich liebe LED Pixel: hell, einfach zu steuern, billig und so vielseitig. Heute verwandeln wir sie in ein großes Pixel-Display, das an die Wand gehängt werden kann. Lesen Sie mehr, oder eine fertige LED-Matrix, die Sie in Ihrem Starter-Kit haben könnten. Einige Code-Anpassungen sind erforderlich, wenn Sie sich für diese Route entscheiden.

Einrichten des Arduino

Wir beginnen mit dem Schaltplan für den Arduino und die Drähte, die wir an unseren PIR-Sensor und die LED-Matrix anschließen werden.

Kranz fritzend

Innerhalb der Matrix

Jetzt machen wir unsere 8 x 8 LED Matrix. Es empfiehlt sich, zunächst eine Zeile und eine Spalte der Matrix zu erstellen, um sicherzustellen, dass sie genau dort ist, wo Sie sie auf dem Prototyping-Board haben möchten.

Testen, wo LEDs platziert werden

In dem obigen Foto sind alle LEDs so platziert, dass die Anoden (das längere, positive Bein) zur Spitze des Protoboards zeigen. Dies ist wichtig, da wir Spalten von gemeinsamen Anoden schaffen, indem wir sie zusammenfügen, und Reihen von gemeinsamen Kathoden (das kürzere, negative Bein). Wenn Sie dies jetzt tun, werden Sie später Kopfschmerzen haben!

Wir werden eine gemeinsame Zeilenkathodenmatrix aufbauen, dieses Diagramm zeigt, wie alles verbunden ist.

doppeltes Diag

Es mag zunächst etwas entmutigend aussehen, aber es ist eine ziemlich einfache Konfiguration. In jeder Zeile werden alle Kathoden von rechts nach links verbunden und dann an einem unserer Arduino-Pins befestigt. Danach machen wir dasselbe für jede Anodenspalte. Auf diese Weise können wir abhängig von der Spalte, auf die wir die Leistung anwenden, und von der Reihe, mit der wir uns verbinden, jede einzelne LED im Array einschalten.

Lass das Löten beginnen

Beginnen Sie mit der Platzierung Ihrer ersten LED-Reihe. Stellen Sie sicher, dass alle Anoden nach oben zeigen und drehen Sie sie um. Ich fand, dass das Hinzufügen einer anderen LED in jeder Ecke, und das Befestigen eines anderen Protoboards an der Spitze, die eine elastische Schnur verwendet, half, alles an der richtigen Stelle zu halten.

protoelastisch

Jetzt biegen Sie nacheinander den Kathoden (kurzen) Schenkel jeder LED nach links, so dass sie sich alle überlappen. Es ist am einfachsten von der linken Seite zu starten und nach rechts zu arbeiten. Wenn Sie ein größeres Protoboard verwenden, können Sie diese zuerst an die Platine anlöten und mit den Pads verbinden. Achten Sie darauf, keine der Kathoden mit anderen Leitungen auf der Platine oder einer der Anoden zu verbinden!

Kathodenfalzlot

Wiederholen Sie diesen Vorgang für alle acht Zeilen, und wenn Sie fertig sind, sollten Sie etwas haben, das ungefähr so ​​aussieht:

Bild der fertigen Reihen

Springende Anoden!

Die Anodenkolonnen sind etwas fummeliger. In dem obigen Diagramm krümmen sich die Anoden jedes Mal, wenn sie eine Reihe von Kathoden kreuzen. Dies liegt daran, dass sie die Zeilen überhaupt nicht berühren können. Wir müssen die Anoden über die Kathodenreihen biegen und sie aneinander befestigen. Sie können feststellen, dass die Verwendung eines Stiftes zum Biegen der Beine sehr hilfreich ist.

Tun Sie dies für jede Reihe von Anoden und befestigen Sie einen Widerstand an jeder oberen Anode. Sie werden es wahrscheinlich einfacher finden, den Widerstand in das nächste Loch im Protoboard zu legen und die Lötpads mit Lot zu verbinden. Du solltest jetzt so etwas haben:

Fertiglöten

Herzliche Glückwünsche! Die LED-Matrix ist vollständig. Überprüfen Sie Ihre Lötstelle gründlich, um sicherzustellen, dass keine Brüche vorhanden sind und keine der Säulen die Reihen berührt. Mach dir keine Sorgen, wenn es nicht schön aussieht, wir brauchen es nur um zu funktionieren! Sie können nun jede LED einzeln prüfen, indem Sie 5v an eines der Spaltenenden und an einem der Zeilenenden an Masse legen.

Testmatrix

Wenn alles in Ordnung ist, befestigen Sie die Kabel an jeder Spalte und jeder Reihe und befestigen Sie sie an Ihrem Arduino, wie in der Abbildung oben gezeigt.

Lass uns Codierung bekommen

Öffnen Sie die Arduino IDE und wählen Sie Ihr Board und Ihren Port aus. Wenn Sie Arduino noch nicht kennen, sehen Sie sich diese Kurzanleitung an. Erste Schritte mit Arduino: Ein Anfängerhandbuch Erste Schritte mit Arduino: Ein Anfängerhandbuch Arduino ist eine Open-Source-Prototyping-Plattform für Elektronik, die auf flexibler, einfach zu bedienender Hardware und Software basiert. Es richtet sich an Künstler, Designer, Bastler und alle, die interaktive Objekte oder Umgebungen erstellen möchten. Weiterlesen

Geben Sie diesen Code in den Editor ein. Es ist ziemlich dichter Code, wenn Sie nicht damit vertraut sind, aber es ist hier vollständig kommentiert, um zu verstehen, wie es funktioniert.

const int row[8] = { 2, 3, 4, 5, 6, 7, 8, 9 }; const int col[8] ={ 10, 11, 12, 14, 15, 16, 17, 18 }; int pirPin = 19; int pirState = LOW; int val = 0; bool pirTrigger = false; const int pirLockTime = 12000; int pirCountdown = pirLockTime; int pixels[8][8]; const int refreshSpeed = 500; int countDown = refreshSpeed; int currentCharIndex = 0; typedef bool CHAR_MAP_NAME[8][8]; const CHAR_MAP_NAME blank = { {0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0}, }; const CHAR_MAP_NAME threedownthreein = { {0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 1, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0}, }; const int noOfFrames = 5; const CHAR_MAP_NAME *charMap[noOfFrames] ={ &blank, &threedownthreein, &blank, &blank, &threedownthreein }; void setup(){ for (int i=0;i<8;i++){ pinMode(row[i], OUTPUT); pinMode(col[i], OUTPUT); //motion sensor pinMode(pirPin, INPUT); digitalWrite(col[i], LOW); } } void screenSetup(){ const CHAR_MAP_NAME *thisMap = charMap[currentCharIndex]; for (int x = 0; x< 8; x++) { for (int y = 0; y =noOfFrames){ currentCharIndex = 0; } } void refreshScreen(){ for (int currentRow = 0; currentRow< 8; currentRow++){ digitalWrite(row[currentRow], LOW); for (int currentCol = 0; currentCol< 8; currentCol++){ int thisPixel = pixels[currentRow][currentCol]; digitalWrite(col[currentCol], thisPixel); if (thisPixel == HIGH) { digitalWrite(col[currentCol], LOW); } } digitalWrite(row[currentRow], HIGH); } } void loop(){ val = digitalRead(pirPin); if (val == HIGH){ pirTrigger = true; } else if (val == LOW && pirCountdown 0) { refreshScreen(); countDown--; pirCountdown--; if(countDown<= 0) { countDown = refreshSpeed; screenSetup(); } } } 

Die wichtigsten Teile zu verstehen sind:

Die refreshSpeed- Variable. Diese Variable bestimmt, wie die Zeit zwischen den einzelnen Bildschirmaktualisierungen ist. Eine größere Zahl bedeutet eine längere Wartezeit.

Die Konstante CHAR_MAP_NAME s. Hier setzen Sie jede Zeichenkarte (oder einen Rahmen, wenn es einfacher ist, an sie zu denken), den Sie anzeigen möchten.

Die noOfFrames- Variable. Dies bestimmt, wie viele Frames in einem vollständigen Durchgang angezeigt werden. Beachten Sie, dass dies von der Anzahl der Zeichenkarten abweichen kann. Wenn Sie beispielsweise "A CAT" anzeigen möchten, müssen Sie nur vier verschiedene Frames definieren: leer, ein A, ein C und ein T.

Wenn nun der Bewegungsmelder eine Bewegung erkennt, sollte der LED-Bildschirm die LED drei nach unten und drei von oben links blinken lassen. Wenn es nicht korrekt angezeigt wird, überprüfen Sie Ihre Verkabelung erneut, um sicherzustellen, dass alles an der richtigen Stelle ist! Wenn Sie ein eigenes Bild oder eine Nachricht hinzufügen, wird es möglicherweise zu früh abgeschnitten oder zu lange abgespielt. Versuchen Sie, die Variable pirLockTime so lange zu ändern, bis sie für die gewünschte Dauer abgespielt wird.

Der Prozess des Hinzufügens jedes Rahmens zur LED-Anzeige kann ein wenig mühsam sein. Daher haben wir diese Tabelle erstellt, um die Erstellung von Text und Bildern für Ihre LED-Matrix etwas einfacher zu machen (kopieren Sie das Google-Blatt, damit Sie es bearbeiten können) ).

Mithilfe der Tabelle können Sie Ihre Kreationen direkt in den Code kopieren.

Mach es mutig die Elemente

Jetzt, wo wir eine funktionierende LED-Matrix haben, brauchen wir einen Weg, um das Winterwetter zu überstehen. Während diese Methode einem tropischen Sturm nicht gewachsen ist oder im Pool getaucht wird, sollte es ausreichen, um die gesamte Elektronik vor den Elementen zu schützen.

Ich habe eine runde Tupperbox mit 15 cm Durchmesser und 6 cm Tiefe verwendet, die perfekt zu meinen Komponenten passt. Schneide ein Fenster in den Deckel, das etwas größer als deine LED-Matrix ist, und befestige eine durchsichtige Plastikfolie, um sicher zu gehen, dass keine Flüssigkeit in die Öffnung gelangt. Starker Plastik aus einigen Verpackungen würde am besten funktionieren, aber das war alles was ich hatte. Sie könnten auch einige Halterungen für das Protoboard anbringen, obwohl beide Arbeiten leicht mit einem starken wasserdichten Klebeband durchgeführt werden könnten.

wetterfest

Als nächstes machen Sie ein kleines Loch unter dem Fenster, dann vorsichtig und langsam erweitern Sie es, bis Ihr PIR-Sensor nur gerade durch passen kann. Sie möchten, dass es so eng wie möglich passt.

Loch schneiden

Bringen Sie Ihren PIR-Sensor an und füllen Sie Lücken, die Sie mit Klebeband oder Heißkleber sehen können.

Kleber Pir

Reinigen Sie alle Klebebänder oder Klebstoffe, die das Schließen der Box verhindern könnten, und fügen Sie alle Komponenten zusammen mit Ihrer Batterie in die Verpackung ein. Hier wurde ein einfaches AA-Batteriepaket verwendet, das direkt in den VCC-Pin des Nano gesteckt wurde. Ein paar kleine Stücke Kork wurden an der Außenseite des Gehäuses hinzugefügt, um beim Aufhängen des Gebäudes in der Mitte des Kranzes zu helfen.

Und wir sind fertig

Sobald die Box versiegelt ist, hängen Sie sie mit Ihrem Weihnachtskranz, und warten Sie auf Ihre Besucher Reaktionen auf Ihre High-Tech-unter $ 20 persönlichen Willkommen! Sie könnten sogar einen Schritt weiter gehen und tolle DIY-Dekorationen erstellen 3D-gedruckte Weihnachtsdekorationen für perfekte Geeky Holidays 3D-gedruckte Weihnachtsdekorationen für perfekte geeky Holidays Warum sparen Sie sich nicht ein wenig Geld, um Weihnachten und 3D einige festliche Verzierungen für Ihr Zuhause zu drucken? Lesen Sie mehr für anderswo rund um das Haus!

beendete geführte Matrixweihnachtskranz diy

In diesem Projekt haben wir ein eigenständiges LED-Matrix-System von Grund auf neu entwickelt, das durch Bewegung aktiviert wird und auch bei schlechtem Wetter draußen bleiben kann. Diese Konstruktion wird lange nach der Ferienzeit in anderen Projekten nützlich sein, und die gleiche Technik könnte verwendet werden, um auch für andere Projekte billige wetterfeste Gehäuse zu schaffen.

Haben Sie etwas gebaut, um Ihrem Weihnachten einen DIY-Twist zu geben? Planen Sie DIY-Weihnachtsgeschenke in diesem Jahr? Lass es uns in den Kommentaren wissen!

In this article