Inhaltsverzeichnis:
- Schritt 1: Materialien
- Schritt 2: Planung
- Schritt 3: 3D-Druck
- Schritt 4: Montage - Entfernen Sie die LEDs
- Schritt 5: Montage - Durchsteckleisten hinzufügen
- Schritt 6: Montage - LEDs anbringen
- Schritt 7: Montage - Befestigen Sie das PhidgetIR
- Schritt 8: Montage - Schaltflächen hinzufügen
- Schritt 9: Montage - Alles zusammenfügen
- Schritt 10: Software - Code
- Schritt 11: Software - CIR-Befehle
- Schritt 12: Ausführen des Programms
- Schritt 13: Ergebnis
Video: Technik für deinen Opa - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:20
Wie oft sind Sie schon zu Ihren Großeltern gegangen, um bei einem „Technologieproblem“zu helfen, bei dem es sich um ein nicht angeschlossenes Stromkabel, eine leere Batterie der Fernbedienung oder um das Umschalten der Quelle am Fernseher handelte? Ich weiß, dass das bei mir ziemlich oft vorkommt. Während die meisten ihrer Probleme gelöst werden können, indem sie einfach zum Laden für einige neue AAs laufen, könnten sie manchmal von einer individuelleren Lösung profitieren.
Zum Beispiel hat der Großvater meiner Freundin einen neuen Fernseher bekommen und wir haben versucht, ihm beizubringen, wie man die Quelle wechselt, damit er zwischen DVDs und TV wechseln kann - aber er hat es einfach nicht verstanden. Er hat auch mit nachlassendem Sehvermögen zu kämpfen und ist nicht daran interessiert, sich an komplizierte Prozesse zu erinnern, er möchte nur seine Shows sehen, wenn er will. Nachdem ich bei unserem letzten Besuch erfolglos versucht hatte, die Schritte ruhig zu erklären, beschloss ich, ihm einfach seine eigene einfache Zwei-Tasten-Fernbedienung zu machen. Dies würde es ihm ermöglichen, die Eingangsquelle seines Fernsehers schmerzlos zu ändern und problemlos zwischen seinen geliebten Matlock-DVDs und Price is Right zu wechseln.
Schritt 1: Materialien
- PhidgetIR
- PhidgetSBC4 (oder jeder Einplatinencomputer wie der Raspberry Pi)
- Lötkolben
- Seitenschneider
- Abisolierzangen
- Überbrückungsdrähte
- USB-Kabel
- Phidget-Kabel
- Gehege
- Durchsteckleisten
- Schrumpfschlauch
Schritt 2: Planung
Um die Fernbedienung zu erstellen, benötigte ich die Möglichkeit, Consumer-Infrarot-Befehle (CIR) an den Fernseher zu senden. Ich beschloss, das PhigetIR für diese Aufgabe zu verwenden. Das PhidgetIR ist ein USB-gesteuertes Gerät, das CIR-Befehle sowohl senden als auch empfangen kann. Ich habe mich aus mehreren Gründen für dieses entschieden:
- Ich wollte dieses Projekt so schnell wie möglich beenden und nutzen, daher war der Gedanke, mein Oszilloskop und Steckbrett auszubrechen, nicht ansprechend. Wie wahrscheinlich ist es außerdem, dass meine handgelöteten Schaltungen in ein oder zwei Jahren noch funktionieren?
- Das PhidgetIR hat die Fähigkeit, CIR-Befehle zu „lernen“, was die Entwicklung extrem vereinfacht.
- Sie können mit dem PhidgetIR fast jede gängige Programmiersprache verwenden. Dies bedeutete, dass ich Java verwenden und die Dinge schnell fertigstellen konnte.
- Schließlich arbeite ich für Phidgets, also bin ich mit der API vertraut, und es liegen immer Ersatzgeräte herum.
Da ich mich für PhidgetIR entschieden habe, brauchte ich einen Computer, auf dem ich es ausführen konnte. Ich wollte, dass dieses Projekt eine eigenständige Anwendung ist, ähnlich wie eine normale Fernbedienung, sodass ein Desktop oder Laptop nicht verfügbar war. Ich habe mich für einen PhidgetSBC4 (einen Einplatinencomputer mit Debian Linux) entschieden, weil ich damit ohne zusätzliche Hardware mit beiden Drucktasten kommunizieren konnte. Sie können einfach direkt an den eingebauten VINT Hub angeschlossen werden. Hinweis: Sie können für dieses Projekt auch einen Raspberry Pi verwenden. Schließlich wollte ich dieses Projekt nicht nur funktional, sondern auch gut aussehen lassen, also entschied ich, dass ein 3D-gedrucktes Gehäuse erforderlich wäre.
Schritt 3: 3D-Druck
Für dieses Projekt wurde Geomagic verwendet, um das Gehäuse zu modellieren. Sowohl für das PhidgetIR als auch für das PhidgetSBC4 sind 3D-Schrittdateien verfügbar, die den Vorgang vereinfacht haben. In diesem Schritt wurden einige Entscheidungen bezüglich der Größe und Funktionalität des Gehäuses getroffen:
- Das PhidgetIR verfügt über zwei IR-LEDs, die auf das Fernsehgerät zeigen müssen, um Befehle zu senden. Anstatt das Gehäuse um die PhidgetIR-Platine herum zu entwerfen, könnten die IR-LEDs entlötet und in die Löcher an der Seite des Gehäuses geklebt werden. Die PhidgetIR-Platine könnte dann entfernt von den LEDs montiert werden, um den leeren Raum zu nutzen.
- Die VINT-Hub-Anschlüsse des PhidgetSBC4 könnten nach oben gebogen werden, was den Zugang für die Drucktastenanschlüsse noch ermöglicht und auch den Bau eines größeren Gehäuses verhindert.
Ich habe mich auch entschieden, ein Etikett für die Tasten und ein Etikett hinzuzufügen, das die Richtung angibt, in die sie weisen sollte, damit die IR-LEDs in die richtige Richtung zeigen. Ich habe das Gehäuse lokal aus schwarzem ABS-Kunststoff gedruckt.
Schritt 4: Montage - Entfernen Sie die LEDs
Die IR-LEDs werden schließlich in Löcher an der Seite des Gehäuses geklebt. Dies bedeutet, dass sie zuerst entlötet werden müssen.
Schritt 5: Montage - Durchsteckleisten hinzufügen
Als nächstes wurden dort, wo sich früher die LEDs befanden, Durchsteckleisten hinzugefügt, wodurch sie einfach mit einem 4-poligen Überbrückungskabel verbunden werden konnten. Verwenden Sie einen Schrumpfschlauch, um einen versehentlichen Kontakt zu vermeiden.
Schritt 6: Montage - LEDs anbringen
Kleben Sie die LEDs in die Seite des Gehäuses.
Schritt 7: Montage - Befestigen Sie das PhidgetIR
Befestigen Sie das PhidgetIR am Gehäuse und schließen Sie die LEDs an.
Schritt 8: Montage - Schaltflächen hinzufügen
Die Drucktasten müssen mit dem eingebauten VINT-Hub des PhidgetSBC verbunden werden, also habe ich ein Phidget-Kabel halbiert und die Enden an die Tasten gelötet. Beachten Sie, dass nur das weiße Kabel (Signal) und das schwarze (Masse) benötigt werden.
Schritt 9: Montage - Alles zusammenfügen
Etwas Kabelmanagement war erforderlich, um alles zusammen zu bekommen, aber das Gehäuse funktionierte gut.
Schritt 10: Software - Code
Für dieses Projekt wird nur eine einzige Java-Datei benötigt, die Sie hier finden. Das Programm verwendet ein PhidgetIR-Objekt und zwei DigitalInput-Objekte. Sie können diese Objekte wie folgt erstellen:
PhidgetIR ir = neues PhidgetIR();
DigitalInput tvButton =new DigitalInput(); DigitalInput otherButton=new DigitalInput();
Die Digital Input-Objekte werden einem physischen Taster auf dem VINT-Hub zugeordnet. Attach-, Detach-, Error- und State-Change-Ereignisse werden auch abonniert:
tv.setIsHubPortDevice(true);
tvButton.setHubPort(4); tvButton.addAttachListener(onAttachListener); tvButton.addDetachListener(onDetachListener); tvButton.addErrorListener(onErrorListener); tvButton.addStateChangeListener(onStateChangeListener); tvButton.open(); otherButton.setIsHubPortDevice(true); otherButton.setHubPort(5); otherButton.addAttachListener(onAttachListener); otherButton.addDetachListener(onDetachListener); otherButton.addErrorListener(onErrorListener); otherButton.addStateChangeListener(onStateChangeListener); otherButton.open();
Der oben erwähnte Zustandsänderungs-Listener sieht wie folgt aus:
privatestatic DigitalInputStateChangeListener onStateChangeListener =new DigitalInputStateChangeListener(){@OverridepublicvoidonStateChange(DigitalInputStateChangeEvent disce){
DigitalInput ch =(DigitalInput) disce.getSource();try{if(ch.getHubPort()==4&& disce.getState()==true){ tvButtonActivated =true;}if(ch.getHubPort()==5&& disce.getState()==true){ otherButtonActivated =true;}}catch(PhidgetException ex){ System.out.println("Fehler: "+ ex.getDescription());}}};
Wenn eine Schaltfläche aktiviert wird, wird der Ereigniscode ausgeführt und ein Flag gesetzt. Diese Flags werden in der Hauptschleife referenziert und zurückgesetzt. Die Hauptschleife wartet einfach auf eine Änderung des Schaltflächenstatus und sendet dann IR-Befehle mit der Sendefunktion, die über die PhidgetIR-API verfügbar ist.
while(true){if(tvButtonActivated){
tvButtonActivated =false; Log.log(LogLevel. INFO, "QUELLE ÄNDERN - TV"); ir.transmit(sourceButtonString, codeInfo); Thread.sleep(500); ir.transmit(rightButtonString, codeInfo); Thread.sleep(500); ir.transmit(enterButtonString, codeInfo);}if(otherButtonActivated){ otherButtonActivated =false; Log.log(LogLevel. INFO, "QUELLE ÄNDERN - DVD"); ir.transmit(sourceButtonString, codeInfo); Thread.sleep(500); ir.transmit(leftButtonString, codeInfo); Thread.sleep(500); ir.transmit(enterButtonString, codeInfo);} Thread.sleep(250);}
Schritt 11: Software - CIR-Befehle
Hier ist ein Beispiel für die Erstellung eines Befehls (in diesem Fall ein Befehl zum Erhöhen der Lautstärke):
// IR-Code
IRCodeInfo sourceButtonCI =new IRCodeInfo(); String volumeUp ="77e1d0f0";//Quellschaltfläche einrichten sourceButtonCI.bitCount=32; sourceButtonCI.encoding= IRCodeEncoding. SPACE; sourceButtonCI.gap=108921; sourceButtonCI.trail=549; sourceButtonCI.zero=newint[2]; sourceButtonCI.zero[0]=549; sourceButtonCI.zero[1]=627; sourceButtonCI.one=newint[2]; sourceButtonCI.one[0]=549; sourceButtonCI.one[1]=1755; sourceButtonCI.header=newint[2]; sourceButtonCI.header[0]=9084; sourceButtonCI.header[1]=4600; sourceButtonCI.repeat=newint[3]; sourceButtonCI.repeat[0]=9084; sourceButtonCI.repeat[1]=2308; sourceButtonCI.repeat[2]=549; sourceButtonCI.length= IRCodeLength. CONSTANT;
Um die Informationen für diesen Befehl zu erhalten, habe ich einfach das PhidgetIR-Beispiel verwendet, das mit den Phidget-Bibliotheken geliefert wird. Nachdem Sie die Fernbedienung auf das PhidgetIR gerichtet und die Lauter-Taste gedrückt gehalten haben, "lernt" das IR den Code und füllt das Beispiel aus. Diese Informationen können dann einfach in den Code kopiert werden.
Schritt 12: Ausführen des Programms
Die Java-Datei kann auf einem externen Computer geschrieben und kompiliert werden. Legen Sie PhidgetRemote.java und phidget22.jar in denselben Ordner und führen Sie den folgenden Befehl aus:
Windowsjavac -classpath.;phidget22.jar PhidgetRemote.java
macOS/Linuxjavac -classpath.:phidget22.jar PhidgetRemote.java
Kopieren Sie nach dem Kompilieren die generierten Klassendateien auf das PhidgetSBC4 und konfigurieren Sie es so, dass es beim Booten ausgeführt wird.
Schritt 13: Ergebnis
Als ich die Fernbedienung dem Opa meiner Freundin schenkte und ihm zeigte, wie man sie benutzt, war er erstaunt, wie einfach das geht. Sehen Sie sich das Video an, um es in Aktion zu sehen!
Dritter Preis beim Remote Control Contest 2017
Empfohlen:
Arduino Auto-Rückfahrwarnsystem - Schritt für Schritt: 4 Schritte
Arduino Auto-Rückfahrwarnsystem | Schritt für Schritt: In diesem Projekt entwerfe ich eine einfache Arduino-Auto-Rückwärts-Parksensorschaltung mit Arduino UNO und dem Ultraschallsensor HC-SR04. Dieses Arduino-basierte Car-Reverse-Warnsystem kann für eine autonome Navigation, Roboter-Ranging und andere Entfernungsr
So deaktivieren Sie die Autokorrektur für nur ein Wort (iOS): 3 Schritte
So deaktivieren Sie die Autokorrektur für nur ein Wort (iOS): Manchmal korrigiert die Autokorrektur möglicherweise etwas, das Sie nicht korrigieren möchten, z. Textabkürzungen beginnen sich in Großbuchstaben zu setzen (imo korrigieren zum Beispiel zu IMO). So erzwingen Sie, dass die Korrektur eines Wortes oder einer Phrase beendet wird, ohne aut zu deaktivieren
Interessante Programmieranleitung für Designer - Bringen Sie Ihr Bild zum Laufen (Teil 2): 8 Schritte
Interessante Programmieranleitung für Designer – Bringen Sie Ihr Bild zum Laufen (Teil 2): Mathematik scheint für die meisten von Ihnen nutzlos zu sein. Die in unserem täglichen Leben am häufigsten verwendete ist einfach Addieren, Subtrahieren, Multiplizieren und Dividieren. Es ist jedoch ganz anders, wenn Sie mit Programm erstellen können. Je mehr Sie wissen, desto mehr wundervolle Ergebnisse werden Sie erhalten
Installieren des Windows-Subsystems für Linux (WSL): 3 Schritte
Installieren des Windows-Subsystems für Linux (WSL): Diese Anleitung soll Benutzern helfen, das Windows-Subsystem für Linux auf ihrem Windows 10-Computer zu installieren. Die spezifische Linux-Distribution, die dieser Befehlssatz verwendet, heißt Ubuntu. Schauen Sie hier für eine Übersicht über die verschiedenen Linux
ERSTELLE DEINEN EIGENEN MINECRAFT-SERVER! Super einfach, schnell und kostenlos! (KEIN KLICKEN KÖDER): 11 Schritte (mit Bildern)
ERSTELLE DEINEN EIGENEN MINECRAFT-SERVER! Super einfach, schnell und kostenlos! (NO CLICK BAIT): Minecraft ist ein äußerst unterhaltsames Spiel, in dem Sie praktisch alles tun können, was Sie wollen! Aber das Spielen mit Freunden über das Internet kann manchmal eine Qual sein. Leider sind die meisten Multiplayer-Server entweder voller Trolle, nicht die Spielerfahrung