Miniprojekt: Fernbedienung für Videochats

Hallo,

da Microsoft nun endlich eine Tastenkombination zum Hand heben, zu deren Konferenzprogramm „Teams“ hinzugefügt hat, nun endlich dieses kleine Projekt

Einführung

Hierbei handelt es sich um eine kleine Fernbedienung mit nur zwei Tasten, eine um das Mikrofon zu muten, und eine um sich zu melden. Dieses Gerät wird mit einem USB-Kabel mit dem PC verbunden. Danach ist es in der Lage, Tastendrücke einer Tastatur zu simulieren, und somit die entsprechenden Funktionen auszuführen. Alle Tastenkombinationen sind frei Programmierbar, und können einfach angepasst werden.

Warnung vorab:

Die in diesem Projekt verwendeten Gegenstände können gefährlich sein. Wir übernehmen KEINERLEI Haftung für Sach- oder Personenschäden beim Nachmachen der hier beschrieben Dinge!

Außerdem empfehlen wir, sowohl das Video als auch diesen Artikel zuerst einmal vollständig anzuschauen, bevor dieses Projekt nachgemacht wird!

Video

Zum ersten mal, haben wir nun auch ein Video, über das gesamte Projekt gemacht. In diesem Video erfahrt ihr, wie ihr das Gerät bauen und programmieren könnt, und auch, wie Fehler behoben werden können. Wir empfehlen, sowohl das Video anzuschauen, als auch den Artikel zu lesen.

Materialien / Werkzeuge

Für dieses Projekt werden nur wenige Materialien und einfache Werkzeuge benötigt. Diese sind für wenig Geld zu bekommen.

Materialien:

  • 1 Arduino Pro Micro (Wichtig: andere Modelle gehen NICHT!)
  • 2 Tactile Buttons mit 2mm Knopflänge
  • 2 RGB-LEDs mit integrierten Vorwiderständen
  • Etwas Draht
  • evtl. Schrumpfschläuche
  • Gehäuse: 3D gedruckt oder aus Pappe/Holz

Werkzeuge:

  • Lötkolben (fein genug um den Arduino anzulöten), dazu Lötzinn
  • evtl. Löthalter um die Arbeit zu erleichtern
  • Lötrauchabsaugung oder weit geöffnetes Fenster (Lötdämpfe sind giftig!)
  • evtl. Spitzzange zum Löten
  • Seitenschneider falls nicht bereits in die Spitzzange integriert
  • evtl. Abisolierzange
  • evtl. Feuerzeug für Schrumpfschläuche
  • Heißklebepistole oder anderen Kleber

Vorbereitung

Als erstes, müssen die LEDs und die Schalter vorbereitet werden, da sie nicht einfach so verwendet werden können.

LEDs

Die RGB-LEDs haben anfangs vier Füßchen. Diese sind wie im Bild unten gezeigt belegt. Da wir nur 2 von den 3 möglichen Farben benötigen, könnt ihr einen jeweils einen Fuß abschneiden. Sucht auch aber vorher aus, welche Farben ihr für Mute/Unmute und Melden/nicht Melden haben wollt.

Buttons

Auch die Buttons haben am Anfang vier Füßchen. Da zwei davon im inneren des Schalters miteinander verbunden sind, können auch hier zwei Füßchen wie hier gezeigt abgeschnitten werden.

Verkleben

Nachdem alle Teile vorbereitet sind, müssen nun die Schalter und LEDs in die Schalterhalterung eingeklebt werden.

Steckt dazu die Schalter durch die viereckigen Löcher in die Halterung, achtet dabei aber darauf, dass die beiden Arretierungen am Rand nach vorne Zeigen, und die Knöpfe der Schalter nach unten, wo sich auch kleine Zäpfchen am Plastikteil befinden. Die Pins der Schalter zeigen dabei nach Links. Klebt die Schalter dann so fest, dass die Oberfläche der Knöpfe, in etwa auf einer Höhe mit den Zäpfchen ist! Ihr dürft den Schalter also nicht ganz durch das Teil hindurch stecken.

Danach verklebt ihr die LEDs, diese werden durch die beiden runden Löcher komplett durch gesteckt. Sollten eure LEDs etwas länger sein als hier gezeigt, ist das nicht schlimm, steckt sie aber auch komplett durch das Teil hindurch. Die Füße der LEDs, biegt ihr in die selbe Richtung um, wie die der Schalter, brecht sie aber nicht ab.

Es sollte nun in etwa so aussehen:

Passtest

Ihr könnt nun testen, ob auch alles passt. Nehmt dazu die Schale zur Hand und legt die beiden Plastik Buttons hinein. Diese sollten mit etwas Spiel frei beweglich in der Schale liegen. Sind sie zu fest, könnt ihr mit etwas Schmirgelpapier nachhelfen.

Nun nehmt ihr das eben geklebte Teil, und setzt es in die Arretierung in der Mitte der Schale ein. Passt dabei wieder auf, dass Die beiden kleinen Arretierungen am Rand nach oben Zeigen, und das Loch für den USB-Anschluss in der Schale auch nach oben zeigt.

Wenn ihr nun beide Teile mit einer Hand zusammen haltet, sollten sich die Beiden Buttons durch leichtes Kippen nach innen drücken lassen, und die LEDs in etwa mittig im Loch der Buttons sichtbar sein.

Ist das nicht der Fall, müsst ihr die entsprechenden Teile ein bisschen korrigieren.

Anlöten der LEDs und Schalter

Jetzt ist es an der Zeit die LEDs und Buttons mit Drähten zu versehen. Schneidet hierzu, kleine Draht-Stücke mit einer Länge von 7-10cm ab und entfernt die Isolierung an einem Ende. Die mittleren Pins der beiden Schalter, könnt nun zusammenbiegen um, um eine Verbindung zu sparen, da die Lötaugen am Arduino sonst nicht ausreichen. Passt aber auf, dass ihr die Pins nicht abbrecht, sie sind SEHR EMPFINDLICH.

Nun lötet ihr an jeden Kontakt einen solchen Draht und kürzt die Pins der Komponenten dabei so, dass nicht mehr davon übrig ist, als unbedingt nötig. Danach müsst ihr eure Lötstellen isolieren. Das könnt ihr entweder mit Schrumpfschläuchen mach, falls ihr solche habt, oder ihr nehmt einfach den Heißkleber.

So sollte es nun aussehen:

Arduino einbauen

Jetzt müsst ihr den Arduino einbauen. Dazu steckt ihr zuerst den Arduino-Halter auf das soeben verlötete Teil. Passt dabei auf, dass die Arretierungen zusammenpassen, und der Halter flach auf dem LED-Halter aufliegt. Sollte der Heißkleber auf dem LED-Halter zu hoch sein, versucht ihn mit einem Messer oder Spitze der Klebepistole ein wenig dünner zu machen, passt aber auf, dass er nicht komplett schmilzt, und sich die Buttons verschieben. Den Arduino-Halter dürft ihr noch NICHT festkleben.

Nun wird der Arduino verlötet. Legt den Arduino also auf den Halter, und achtet darauf, dass der USB-Anschluss nach vorne zeigt (längere Seite des Halters). die Vorderkante der Platine sollte mit der Kante des Halters übereinstimmen. Schneidet nun die Drähte so ab, dass ihr sie von oben durch die Löcher im Arduino stecken könnt, und unten festlöten könnt. Schneidet die überstehenden Drähte unten am Arduino ab.

Verlötet sämtliche Drähte nun nach folgendem Schaltplan:

Wenn alles verlötet ist, sollte es in etwa so aussehen:

Programmieren

Bevor wir nun alles fertig zusammenkleben, werden wir es erst einmal programmieren um alle Verbindungen zu testen, und eventuelle Fehler zu beheben.

Dazu geht ihr an euren PC und installiert erst einmal Visual Studio Code. Dieses Programm ist kostenlos, und dient dazu, die Firmware auf eure Fernbedienung zu laden.

Um mit VS-Code einen Arduino flashen zu können müsst ihr euch dort die Erweiterung PlatformIO IDE installieren. Auch diese ist kostenlos, und kann wie hier gezeigt im Erweiterungsmanager (linke Seitenleiste) gefunden werden. Die Installation dauert einen Moment, und es kann vorkommen, dass sie noch nicht abgeschlossen ist, obwohl es so aussieht. Wartet also vorsichtshalber noch ein paar Minuten nach der Installation, bevor das Programm neu öffnet.

Nun benötigt ihr natürlich auch die Firmware an sich. Diese findet ihr auf unserer GitHub-Seite. Dort könnt ihr Sie über den grünen „Code“ Button als ZIP-Datei herunterladen.

Die ZIP-Datei könnt ihr nun entpacken.

Um die Firmware in PlatformIO zu öffnen, klickt oben in der Menüleiste auf „File“ und dann „Open Folder“. Sucht dann den Ordner heraus, der direkt die einzelnen Dateien und Ordner des Codes enthält! Jetzt sollte sich die Firmware öffnen. Auch das kann einen Moment dauern, bis alles geladen ist. Wählt dann die Datei „main.cpp“ im Ordner „src“ aus.

Nun könnt ihr den Arduino mit einem USB-Kabel mit eurem PC verbinden. Achtet hierbei darauf, dass ihr möglichst keine Switches oder Hubs zwischen Arduino PC habt, da diese den Upload stören könnten. Sollten noch andere unnötige Geräte an euren PC angeschlossen sein, empfiehlt es sich auch dies erst mal auszustecken.

Klickt nun unten in PlatformIO auf den Upload-Pfeil um die Firmware mit den Standard-Einstellungen zu flashen.

PlatformIO sollte nun die Firmware auf euren Arduino laden. Am Ende, könnt ihr an der grünen Schrift „SUCCESS“ erkennen, dass alles geklappt hat. Sollte bei euch „ERROR“ oder „FAILURE“ stehen, lest unten den Abschnitt „Fehlerbehebung“.

Testen

Um zu testen, ob auch alle Verbindungen richtig angeschlossen wurden, benutzt ihr am besten die Webseite KeyboardTester.com

Dort klickt ihr auf „Launch the Tester“ und ein kleines Fenster mit dem Layout einer Tastatur sollte sich öffnen.

Die beiden Buttons sollten nun die Farben für „Mikrofon aus“ und „Nicht melden“ anzeigen. Wenn ihr den Mute-Button drückt, sollte sich die Farbe entsprechend auf „Mikrofon an“ ändern und die Tastenkombination (Standard: STRG+SHIFT+M) eingegeben werden, welche im Tester zu sehen sein sollte. Bei erneutem Drücken sollte die Kombination wieder eingegeben werden, und die Farbe sich wieder ändern.

Das selbe gilt für die „Melden“-Funktion. Hierbei ist die Standard Tastenkombination STRG+SHIFT+K.

Sollte alles funktionieren, und die Kombinationen für euch passen, könnt ihr bei „Gehäuse zusammenbauen“ weiterlesen. Lest ansonsten direkt bei „Fehlerbehebung“ oder „Konfiguration“ weiter.

Fehlerbehebung

Upload-Fehler

Falls ihr beim Upload, wie oben beschrieben eine Fehlermeldung bekommt, könnt ihr hier lesen wie ihr Sie beheben könnt.

Dazu benötigt ihr die Arduino IDE. Diese ist kostenlos, und ist die Standard Programmierumgebung für Arduinos. Ich verwende sie eigentlich, aufgrund einiger Einschränkungen nicht mehr, aber rum diesen Upload-Fehler zu beheben, kann sie durchaus sehr hilfreich sein.

Nachdem ihr die IDE installiert habt, könnt ihr sie öffnen. Das Problem bei vielen Arduino Pro Micros ist, dass der Bootloader einen Fehler besitzt. Um ihn neu zu brennen, wählt oben in der Menüleiste unter „Werkzeuge“ als Board „Arduino Micro“ aus. Nicht wundern: „Arduino Pro Micro“ gibt es nicht. Wählt dann als Port den entsprechenden Port aus welcher mit „Arduino Micro“ oder, vor allem bei fehlerhaften Bootloadern oft mit „Arduino Leonardo“ beschriftet ist. Klickt dann auf den Upload-Pfeil oben links, unterhalb der Menüleiste. Nun sollte der Arduino mit einem neuen Bootloader versehen werden.

Jetzt könnt ihr den Upload mit PlatformIO erneut versuchen. Diesmal sollte es klappen. Falls es immer noch nicht geht, kann es helfen den Bootloader noch ein zweites mal zu brennen.

Schalter oder LEDs funktionieren nicht richtig

Wenn Schalter oder LEDs nicht richtig funktionieren, liegt das häufig an einer falsch verlöteten Verbindung. Aber keine Sorge: ihr müsst nicht alles noch einmal neu löten. Ihr findet in der Firmware im Ordner „include“ die Datei „pins.h“. dort ist definiert welche Taster und LEDs wo angeschlossen sind. Wenn LEDs oder Schalter vertauscht wurden könnt ihr hier die Pin Nummern ändern. Dies kann auch helfen wenn Schalter mit LEDs vertauscht wurden, und somit gar nicht funktionieren. Evtl. findet ihr auch im Abschnitt „Konfiguration“ noch weitere Hilfe.

WICHTIG:

Nach jeder Veränderung muss die Firmware neu hochgeladen werden, sodass die Änderungen auf den Arduino übertragen werden!

Konfiguration

Dieser Abschnitt erläutert die Einstellungsmöglichkeiten der Datei „configuration.h“ im Ordner „include“ der Firmware genauer. Dort können verschiede Anpassungen an der Fernbedienung gemacht werden.

Tastenkombinationen ändern

Die Fernbedienung kann alle möglichen Tastenkombinationen ausgeben. Diese könnt ihr im ersten Teil der Datei ändern. Hierzu befolgt ihr am besten die grünen Anweisungen in der Datei selber.

LED Verhalten ändern

Ihr könnt einstellen, ob manche LEDs gar nicht leuchten sollen, oder deren Ansteuerung ändern. Dies kann auch bei Problemen mit der Beleuchtung helfen.

Button Verhalten ändern

Das gleiche wie für die LEDs gilt auch für die Buttons. Auch diese können angepasst werden.

Anfangsstatus ändern

Das Anfangsverhalten legt fest, welche Buttons beim einstecken der Fernbedienung in welcher Position sind. Dazu aber weiter unten noch mehr.

WICHTIG:

Nach jeder Veränderung muss die Firmware neu hochgeladen werden, sodass die Änderungen auf den Arduino übertragen werden!

Gehäuse zusammenbauen

Nachdem alles wie gewollt funktioniert ist es nun an der Zeit das Gehäuse zusammen zu bauen.

Dazu klebt ihr nun zuerst den Arduino-Halter am LED-Halter fest. Passt dabei auf, dass dieser so flach wie möglich sitzt, und ihre die Buttons nicht verdrückt. Danach wird der Arduino darauf geklebt. Auch dieser sollte so flach wie möglich sitzen, und die Vorderkante der Platine sollte wieder mit der Kante des Halters übereinstimmen.

Nun können die Buttons wieder in die Schale gelegt werden, und die Elektronik genau wie vorher beim testen der Mechanik festgeklebt werden. Bringt dabei keinen Kleber in die Buttons, da diese sonst nicht mehr funktionieren. WICHTIG: Ihr müsst die Elektronik gut in die Schale hinein pressen, während der Kleber fest wird, ansonsten kann es sein dass alles zu hoch wird, und der USB-Stecker nicht mehr passt.

Nun könnt ihr den Deckel aufkleben. Passt dabei auf, dass sich die Mulde für den USB-Stecker auch an der richtigen Position befindet. Wenn der Heißkleber etwas überquillt, lasst ihn komplett kalt werden und macht ihn dann mit dem Fingernagel ab. Dadurch entstehen keine verschmierten Reste am Gehäuse.

FERTIG!

Nun seit ihr endlich fertig, und könnt eure Fernbedienung benutzen. Verbindet Sie also mit eurem PC und ihr habt nie mehr Probleme, die wichtigsten Buttons in eurem Chatprogramm zu finden.

Verwendung

Um eure Fernbedienung nun zu verwenden, müsst ir allerdings noch ein paar Regeln beachten.

Da die Fernbedienung nur Tastenkombinationen eingibt, muss euer Chat-Fenster immer ausgewählt und im Vordergrund sein, da die Tastenkombinationen immer auf das aktuell verwendete Fenster angewendet werden.

Außerdem ist es noch wichtig zu wissen, dass die Fernbedienung nicht weiß, ob euer Programm gerade gemutet ist oder nicht, oder ob ihr euch gerade meldet. Dazu dient der Anfangsstatus. Dieser beschreibt, wovon die Fernbedienung ausgeht wenn sie eingesteckt wird (Standard: gemutet, Hand gesenkt). Stellt euer Programm also so ein ,und steckt die Fernbedienung dann ein. Solltet ihr jetzt in eurem Programm ohne die Fernbedienung eine dieser Funktionen verwenden, erkennt die Fernbedienung dies NICHT. Passt dabei also auf.

Abschluss

Wir hoffen dieses kleine Projekt hat euch gefallen. Wenn ihr Vorschläge zu Verbesserungen oder anderen Änderungen habt, schreibt Sie gerne in die Kommentare. Auch neue Projektideen oder andere Fragen sind dort immer herzlich willkommen.

Bis zum nächsten mal, euer EOA-electronics Team.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.