Inhaltsverzeichnis:

RC-gesteuerter RGB-LED-Streifen - Gunook
RC-gesteuerter RGB-LED-Streifen - Gunook

Video: RC-gesteuerter RGB-LED-Streifen - Gunook

Video: RC-gesteuerter RGB-LED-Streifen - Gunook
Video: Arduino mit WS2812B Neopixel RGB LED Streifen 2024, November
Anonim
RC-gesteuerter RGB-LED-Streifen
RC-gesteuerter RGB-LED-Streifen

Erstellen Sie Ihren eigenen rc-gesteuerten LED-Streifen für die individuelle Raumbeleuchtung!

Die meisten RGB-LED-Streifen werden über eine Infrarot-Fernbedienung gesteuert. Um ihn aus- oder einzuschalten oder die Farbe zu ändern, müssen Sie vor dem Empfänger bleiben. Das ist langweilig und nicht wirklich schlau. Um das Licht kühler zu steuern, habe ich eine RC-gesteuerte Platine entwickelt, um die richtige Farbe des Streifens einzustellen. Der RC-Code kann von einem Himbeer-Pi gesendet werden, denken Sie an IFTTT. Das ist viel schlauer als die Fernbedienung.

Dinge, die du brauchst:

  • rgb-led-strip, das würde zum Beispiel den Zweck erfüllen
  • ATTiny85
  • 433 MHz Empfänger (und optional Sender)
  • 5V-Regler (L7805)
  • 3 NPN-Transistoren, ich habe ein Darlingtonarray verwendet
  • 1 µF Kondensator
  • 10 µF Kondensator
  • 12V Netzteil
  • Leiterplatte streifen
  • mehrere Drähte
  • ATTiny-Programmierer, Arduino-Mega oder Arduino-Uno
  • optional Himbeer-Pi zum Senden von Signalen

Schritt 1: Löten Sie die Platine

Löten Sie die Leiterplatte
Löten Sie die Leiterplatte
Löten Sie die Leiterplatte
Löten Sie die Leiterplatte
Löten Sie die Leiterplatte
Löten Sie die Leiterplatte

Wenn Sie alle Komponenten haben, müssen Sie die Platine löten.

Der LED-Streifen benötigt 12V, der ATTiny und der RC-Empfänger benötigen 5V, dadurch bekommt die Schaltung 12V.

Für den ATTiny und den RC-Empfänger verwende ich den 5V-Regler, mein Circuid wurde von sooraj619 inspiriert

Die Platine schaltet die drei Farben Rot, Grün und Blau in einem Takt von 3 ms auf den LED-Streifen. Jede Farbe im richtigen Prozentsatz, um die angegebene Farbe zu erreichen. Aufgrund einer Dauer des Stundenplans von 3 ms sehen Sie nicht die Vertauschung der drei Farben Rot Grün und Blau, sondern genau die richtige Farbe (zB Gelb gemischt mit Rot und Grün). In meiner Toolbox gab es ein Darlingtonarray, deshalb habe ich dieses Array zum Umschalten der Farben verwendet. Sie können beliebige NPN-Transistoren verwenden.

Vergessen Sie nicht eine 17 cm Antenne am Empfänger.

Schritt 2: Flashen Sie das ATTiny

Jetzt ist es an der Zeit, den ATTiny mit der richtigen Arduino-Skizze zu flashen.

Um den Mikrocontroller zu flashen, habe ich die Arduino-Ide verwendet. Ich habe keinen Programmierer, also habe ich mein Arduino-Mega verwendet. Sie können Ihr Arduino-Uno oder Ihr Arduino-Mega verwenden, um den ATTiny zu flashen, hier oder hier beschrieben

Die Skizze verwendet die RC-Switch-Bibliothek, um das Signal zu empfangen. Sie können diese hier herunterladen.

Die RC-Switch-Bibliothek wurde für die Arduino-Boards geschrieben, daher verwendet sie einige Routinen, die im ATTiny-Mikrocontroller nicht verfügbar sind. Wegen der ATTiny initialisieren die Zeilen 153 bis 165 den Interrupt sehr radikal. Sie müssen auch die Methode 'handleInterrupt' von 'private' auf 'public' in der rc-Switch-Bibliothek ändern.

Schritt 3: Senden Sie einen Code von Ihrem Raspberry Pi

Senden Sie einen Code von Ihrem Raspberry Pi
Senden Sie einen Code von Ihrem Raspberry Pi
Senden Sie einen Code von Ihrem Raspberry Pi
Senden Sie einen Code von Ihrem Raspberry Pi

Jetzt ist es an der Zeit, das Licht einzuschalten.

Um ein Signal zu senden, müssen Sie den Raspberry Pi mit dem RC-Sender verbinden. Mehrere Websites demonstrieren das Senden von RC-Codes mit dem Himbeer-Pi. Zum Beispiel hier, hier und hier. Das Bild zeigt den LED-Streifen hinter einem Fernsehbildschirm, aber dies ist eine Fotomontage aus drei Bildern mit einer Farbe.

Ein minimales C-Programm zum Senden eines Codes kann wie folgt aussehen:

#include "RCSwitch.h" #include

#enthalten

int main(int argc, char *argv) {

int-PIN = 0;

int-Nachricht = atoi(argv[1]);

if (wiringPiSetup () == 1) return 1;

printf("Nachricht senden[%d]\n", Nachricht);

RCSwitch mySwitch = RCSwitch();

mySwitch.enableTransmit(PIN);

mySwitch.send(Nachricht, 32);

}

Die Farbe ist in einem Integer-Wert mit 4 Byte kodiert. Das Byte ganz links muss gleich 10 sein, siehe 178 in der Skizze. Die nächsten drei Byte enthalten die Farbintensität für jede Farbe (Rot, Grün und Blau).

Um ein grünes Licht mit 66% Intensität zu setzen, geben Sie den Befehl ein: sudo sendInt 167815680, wobei sendInt das oben kompilierte Programm ist.

Schalten Sie die LED mit dem Befehl aus: sudo sendInt 167772160

Stellen Sie sich mit IFTTT Möglichkeiten vor, zum Beispiel 3 Sekunden blaues Licht für eine E-Mail, grün für eine Google-Kalender-Benachrichtigung. Das ist etwas schlauer, als die Fernbedienung vor dem Receiver zu drücken;)

Schritt 4: Erstellen Sie ein Gehäuse

Erstellen Sie ein Gehäuse
Erstellen Sie ein Gehäuse
Erstellen Sie ein Gehäuse
Erstellen Sie ein Gehäuse
Erstellen Sie ein Gehäuse
Erstellen Sie ein Gehäuse

Erstellen Sie ein 3D-gedrucktes Gehäuse.

Das Design hat ein Loch für das Stromkabel und Lücken in der Oberseite, um den LED-Streifen anzuschließen.

Ich habe Fusion 360 verwendet, um das Gehäuse zu entwerfen und das Ergebnis als.step-Datei exportiert.

Netfabb ermöglicht sowohl die Tessellation als auch die Build-Job-Vorbereitung. Ich habe das 3mf angebracht, das die Ober- und Unterseite des Gehäuses enthält. Netfabb unterstützt auch die Gcode-Erstellung.

Schließlich habe ich einen Prusa i3 mk2 verwendet, um das Gehäuse zu drucken.

Empfohlen: