Willkommen im Jahr 2021 mit Raspberry Pi: Fire Simulated Christmas Tree Top

Das neue Jahr steht vor der Tür und wenn Sie ein paar Stunden Freizeit haben, können Sie eine High-Tech-Dekoration für einen Weihnachtsbaum, eine Palme oder einen Mandarinenbaum anfertigen. Es spielt keine Rolle - es wird überall gut aussehen.





Under the Cut - ein GIF mit einer Demonstration der Arbeit dieser Sache.



Die Basis des Designs ist ein flexibler NeoPixel 32x8 LED-Streifen, Raspberry Pi und gute Laune. Ja, Sie benötigen Python-Code.



Was Sie brauchen, um zu arbeiten





  • Raspberry Pi 3, Raspberry Pi 4 oder Raspberry Pi Zero W mit GPIO-Anschluss.
  • Netzteil, Maus, Monitor, Tastatur und HDMI-Kabel für Raspberry Pi
  • Flexibler Streifen 32x8 NeoPixel RGB LED Matrix
  • Jumper-Set (M-zu-F, M-zu-M und F-zu-F)
  • 5V Stromversorgung
  • Kondensator 1000 µF
  • Sie können auch einen Stoffstreifen nehmen, um das Licht des LED-Streifens zu streuen.
  • 3D gedruckte Basis für die gesamte Struktur.


Teil 1. Vorbereitung der RGB-Matrix



Zu diesem Zeitpunkt müssen Sie ein Paar Stifte löten und den Beispielcode aus Adafruits NeoPixel Uberguide verwenden . Für unser Projekt benötigen wir zwei Netzteile - für die "Himbeere" und den LED-Streifen. Für letzteres müssen Sie nicht nur Strom, sondern auch Daten anschließen. Hier ist alles einfach.





Falls gewünscht, können Sie einen weiteren Stoffstreifen hinzufügen, um das helle LED-Licht zu streuen. Wir



verbinden die Daten



Nehmen Sie eine beliebige "Masse" von der "Himbeere" und verbinden Sie sie mit der GND-Datenleitung des LED-Streifens.





Wir schließen das Netzteil an



Dies kann entweder mit einem normalen Kabel gemäß dem oben bereits gezeigten Schema oder mit einem USB-Kabel erfolgen. In diesem Fall müssen Sie eine Verbindung gemäß diesem Schema herstellen.





Überprüfen Sie nun die Matrix, indem Sie den Code von Adafruit ausführen.



Starten Sie die "Himbeere", schließen Sie die RGB-Matrix an, öffnen Sie das Terminal und installieren Sie die Abhängigkeiten: Laden Sie den Code aus dem Repository des Autors herunter: Wählen Sie den Ordner scrollingTextMask aus: Führen Sie den Testcode fillMatrix.py aus:



sudo pip3 install rpi_ws281x adafruit-circuitpython-neopixel

sudo python3 -m pip install --force-reinstall adafruit-blinka












git clone https://github.com/carolinedunn/RGBTreeTopper











cd RGBTreeTopper











sudo python3 32-fillMatrix.py









Wenn Sie einen Regenbogen bekommen, wie im obigen GIF, funktioniert alles, können Sie mit der nächsten Stufe fortfahren. Wenn etwas schief gelaufen ist, sind höchstwahrscheinlich einige Kontakte falsch verbunden.



Tipps: Wenn das System nicht mit dem Himbeer-Pin 21 GPIO funktioniert, versuchen Sie es mit den Pins 10, 12 oder 18. Öffnen Sie dann 32-fillMatrix.py aus dem Ordner scrollingTextMask und aktualisieren Sie den GPIO-Pin. In diesem Fall müssen Sie die anderen Projektdateien entsprechend ändern.



Stoppen Sie das Skript, indem Sie Strg + C drücken.



Teil 2. Zünde es an!



Jetzt geben wir im noch geöffneten Terminal den folgenden Befehl ein:



sudo python3 treeTopper.py









In den Ordnern, die wir von GitHub erhalten haben, gibt es einen "Feuer" -Ordner, der 10 JPEG-Bilder enthält. Dies bewirkt der treeTopper.py-Code: Deklariert die im Code verwendeten



Bibliotheken. Beachten Sie PIL (Pillow Imaging Library), eine Bibliothek, die dem Python-Interpreter Bildverarbeitungsfunktionen hinzufügt.





  • Gibt dem Pi an, wohin Daten an den Chip gesendet werden sollen, indem die 21 GPIO-Pins angegeben werden (Zeile 8).
  • Gibt die Parameter der Matrix an, einschließlich Größe, Helligkeit und Pausenzeit zwischen den einzelnen Bildern (Zeilen 9-13).
  • Erstellt ein Array mit den Daten dieser 10 JPEG-Dateien in sequentieller Reihenfolge (Zeilen 28-32).
  • Analysiert Bildpixel und konvertiert sie in eine RGB-Matrix, wobei das Bild in eine RGB-Matrix ausgegeben wird (Zeilen 35-41).
  • Pausiert 0,2 Sekunden und wiederholt dann den Vorgang für das nächste Bild (Zeile 42).
  • Der Prozess wird bis zur Ausführung der Kombination Strg + C ausgeführt.


Und wenn Sie Ihre eigenen Bilder wollen?



Die Parameter sollten wie folgt sein:



  • Format - JPEG.
  • Breite - 32 Pixel.
  • Höhe - 8 Pixel.


Jede Datei muss unter den Namen 1-10.JPG im entsprechenden Ordner gespeichert werden.



Um Bilder anzuzeigen, müssen Sie einen neuen Pfad zu Bildern festlegen. Falls gewünscht, können Sie die Reihenfolge ihrer Anzeige ändern.





Beim



Booten starten Wenn alle Images fertig sind, verwenden Sie Python, um das Skript beim Booten auszuführen. Die beste Option ist Crontab.



Öffnen Sie Crontab in der Konsole: crontab -e



Geben Sie 1 ein und drücken Sie die Eingabetaste.





Dies öffnet eine neue Crontab-Datei. Gehen Sie nach unten und geben Sie ->



sudo python3 /home/pi/RGBTreeTopper/treeTopper.py







@reboot sudo python3 /home/pi/RGBTreeTopper/treeTopper.py







Drücken Sie Strg + X und dann crontab, um zu speichern.



Wir schalten die "Himbeere" aus und alles, was wir gesammelt haben.



Teil 3. Endmontage



In diesem Schritt können Sie bereits ein Neujahrslicht auf nicht weniger als einem Weihnachtsbaum demonstrieren.



  • Wir drucken den Körper auf einem 3D-Drucker.
  • Wir führen die Drähte an die richtigen Stellen und befestigen sie.
  • Wir biegen die LED-Matrix, Sie müssen nicht fest drücken.
  • Wir legen die Struktur auf den Weihnachtsbaum. Wir machen uns an und freuen uns.




Dem Autor ist übrigens bekannt, dass seine Erfindung wie eine Rolle Toilettenpapier geformt ist.





Sie scherzt, dass dies vor dem Hintergrund des Geschehens im Jahr 2020 völlig ausreichend ist. Aber im Allgemeinen kann es geändert werden - das Design kann auf Wunsch leicht geändert werden, so dass aus einer Papierrolle ... ja, alles wird.






All Articles