Inhaltsverzeichnis:
- Schritt 1: Pinbelegungen
- Schritt 2: Prototyp
- Schritt 3: Zwischenspiel
- Schritt 4: Installation
- Schritt 5: Code
Video: Fernanzeigen - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:17
Für meine Arbeit mit Alexa-Skills brauchte ich ein einfaches (nicht komplizierteres) Feedback-Gerät; optisch und hörbar.
Außerdem befindet sich meine CPU in meinem "Kabelschrank" und ich brauchte den Ausgang an einer prominenten Stelle, aber ansonsten unauffällig.
Ich entschied mich für eine RF-Fernbedienung, die die Eingeweide einer musikalischen Grußkarte auslöste. Ich habe dies in eine kleine Acrylbox gelegt, die ich herumgelegt hatte, und den Sender in das Gehäuse meines RPi3B + eingebaut.
Einfache Ein-/Aus-Befehle am RPI3B+ initiieren die Lichter und Töne mit einer kaum wahrnehmbaren Sendeverzögerung.
Schritt 1: Pinbelegungen
Diese Bilder stammen von der Amazon-Seite des Verkäufers (Link oben). Nur eine bequeme Kopie als Referenz.
Hinweis: Das Originalbild ist falsch beschriftet; Ich füge Updates hinzu (in Grün). (Dies wird im Kommentarbereich der Amazon-Seite überprüft)
Schritt 2: Prototyp
Verwenden Sie jede Hälfte des Steckbretts, um den Sender und den Empfänger zu trennen. Angetrieben von 3,7 V (auf 4,25 V aufgeladen) Batterien.
Da dies nur eine Implementierung der Pinbelegung ist, habe ich kein schematisches Diagramm erstellt.
Ich habe eine LED in Reihe mit einem 3,3K-Widerstand zum Testen eingebaut.
Zum Test einfach den Steuerpin (hier das weiße Kabel) mit Masse verbinden. Sowohl am Sender als auch am Empfänger leuchten die Aktivierungs-LEDs (rot) und meine 'Load'-LED erlischt. (im Bild)
Schritt 3: Zwischenspiel
Manchmal sind Sender und Empfänger nicht richtig gekoppelt oder Sie möchten das Standardverhalten ändern.
Ich füge hier die Anweisungen des Herstellers für diese Geräte ein:
************************************************************************
Pins Anleitung
Empfänger
- GND: Masse oder Minuspol
- +V: DC3.3~5V Eingang
- D0-3: Datenausgabe
- VT: Ausgang (diese Leitung wird niedrig, wenn/wenn eine Datenleitung niedrig wird)
So passen Sie Sender und Empfänger an
- Vorhandene Daten löschen: Lerntaste (am Empfänger) 8 mal drücken. Reaktion: LED blinkt 7 mal.
- Erlernen des Fernbedienungscodes: Drücken Sie die Lerntaste (am Empfänger) einmal, zweimal oder dreimal (siehe unten). LED leuchtet: Lernmodus ist aktiv.
- Drücken Sie eine beliebige Taste der Fernbedienung. LED-Anzeige blinkt dreimal: Lernen erfolgreich abgeschlossen.
- Test: Nach dem obigen Vorgang kann die Empfängerplatine mit der Fernbedienung gesteuert werden.
Ab Schritt 2 können zusätzlich weitere Sender mit unterschiedlichen IDs eingelernt und gespeichert werden. Eine Mischung verschiedener Modi ist möglich.
Tastenbelegung (stellt den Modus ein und startet den Pairing-Prozess):
- Einmal drücken: Tippmodus (Kurzzeitmodus)
- Zweimal drücken: Selbstsperrmodus (Toggle-Modus der 4 Kanäle)
- Dreimal drücken: verriegelter Modus (ausgewählter Kanal aktiv und wird gelöscht, wenn ein anderer Kanal aktiv wird) - auch Radiobuttons genannt
Schritt 4: Installation
Nach dem Löten der Teile, wie sie auf dem Steckbrett verbunden waren, und dem Abdecken mit Schrumpfschlauch, um Kurzschlüsse zu vermeiden, installierte ich den Sender auf dem RPi3B +. (Hinweis: Ich habe zusätzliche Drähte für Ausgänge mitgeliefert, die ich noch nicht verwende)
Ich habe 3 V Strom verwendet, da dies die native Spannung der Himbeere ist. (Hinweis: Ich habe nicht standardmäßige Kabelfarben verwendet, weil es praktisch war, das vorhandene Flachbandkabel zu verwenden)
wrclr: Kabelfarbepi-pin: Pin am RPi3B+trnspin: Pin am Sender
wrclr pi-pin trnspin-------- ---------- -------------- grau 01 power V+ lila 06 Masse GND braun 11 BCM17 Data 1 rot 13 BCM27 Daten 0
Die Fernbedienung/Empfänger wird mit einem alten Micro-USB-Transformator betrieben. Ich habe eine USB-Buchse verwendet, damit ich jede Powerbank verwenden kann, falls ich sie eines Tages kabellos haben möchte.
Schritt 5: Code
Der einfachste Code zur Validierung: (Quelle)
RPi. GPIO als GPIO importieren Zeit importieren GPIO.setmode(GPIO. BCM) GPIO.setwarnings(False) GPIO.setup(27, GPIO. OUT) "LED an" drucken GPIO.output(27, GPIO. HIGH) time.sleep(1) drucke "LED aus" GPIO.output(27, GPIO. LOW)
ausführen: python pintst.py