Inhaltsverzeichnis:
2025 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2025-01-13 06:56
EINLEITUNG
Das Projekt ist eine gestengesteuerte Maus, in Form eines Handschuhs mit einem darin eingebetteten micro:bit. Es ist ein Projekt, das von einer frühen Idee inspiriert wurde, die ich als Embedded-Ingenieur hatte. Ich möchte immer Zugriff auf ein drahtloses Maus- und Tastaturset haben, um mich mit jedem Mikroprozessor zu verbinden, den ich verwenden möchte. Eine Maus ist unerlässlich, wenn ich ein Betriebssystem auf einem Mikroprozessor verwende. Eine kabellose Maus und Tastatur zu haben hat sich schon oft als Retter erwiesen, und in dieser Hinsicht war ich sehr daran interessiert, eine tragbare Technologie zu entwickeln, die als Maus und möglicherweise als Tastatur verwendet werden kann.
In diesem anweisbaren werde ich die Schritte und das Verfahren teilen, wie ich ein micro: bit mit etwas Python-Code verwendet habe, um eine handschuhmontierte gestengesteuerte Maus zu machen.
Lieferungen
1 micro:bit mit batterie
1 Handschuh zum Anbringen von micro:bit to
1 Bluetooth-fähiger Computer Linux (hier wird Raspberry Pi verwendet)
PC zum Programmieren von micro:bit und Öffnen der VNC-Sitzung mit Raspberry Pi
Schritt 1: Wie es funktioniert
Schritt 2: Verbinden von Micro: Bit mit Raspberry Pi über Bluetooth
1. Beim Start zeige ich eine Reihe von LEDs in Form von "b*" und initialisiere die Bluetooth-Beschleunigungsmesser-, Tasten-, LED- und Temperaturdienste.
2. Im Falle einer Bluetooth-Verbindung zeigt der LED-Bildschirm ein "C" an, was anzeigt, dass das micro:bit eine Bluetooth-Verbindung hergestellt hat.
3. Im Falle einer Bluetooth-Trennung zeigt der LED-Bildschirm ein "D" an, was darauf hinweist, dass das micro:bit die Bluetooth-Verbindung verloren hat und erneut verbunden werden muss.
4. Wählen Sie in den Projekteinstellungen den Modus "Kein Pairing". Die micro:bit-Website empfiehlt das Pairing mit „Just Works“, bei letzterem schlägt das Pairing jedoch immer fehl. Aus unerklärlichen Gründen funktioniert es mit ersterem.
Schritt 3: Einrichten von Bluetooth auf Raspberry Pi
1. Installieren Sie das bluezero-Paket mit "sudo pip3 install bluezero"
2. Öffnen Sie eine Bluetooth-Eingabeaufforderung, indem Sie "bluetoothctl" eingeben. Die neue Eingabeaufforderung sollte wie folgt aussehen:
$ [Bluetooth] #
3. Versetzen Sie micro:bit in den Scanmodus, indem Sie die Tasten A und B gedrückt halten und die Reset-Taste drücken. Warten Sie, bis ein Bluetooth-Symbol auf dem LED-Bildschirm erscheint, und lassen Sie dann alle Tasten los. Geben Sie auf dem Raspberry Pi-Bluetooth-Terminal "scan on" ein. Sobald das micro:bit in der Liste der neuen Geräte sichtbar ist, geben Sie "scan off" ein und notieren Sie die Geräteadresse des micro:bit als "yy:yy:yy:yy:yy:yy".
4. Koppeln und verbinden Sie sich mit dem micro:bit, indem Sie "pair yy:yy:yy:yy:yy:yy" eingeben.
5. Um zu überprüfen, ob das Pairing funktioniert hat, geben Sie "Geräte" ein und prüfen Sie, ob micro:bit in der Geräteliste angezeigt wird. Wenn die Verbindung erfolgreich ist, sollte sich der LED-Bildschirm auf dem micro:bit zu einem "C" ändern. Wenn nicht, setzen Sie das micro:bit zurück und versuchen Sie einfach erneut, über das Bluetoothctl-Terminal auf dem Raspberry Pi zu koppeln.
Schritt 4: Code auf dem Raspberry Pi ausführen
1. Führen Sie den Code auf dem Raspberry Pi aus, indem Sie "python3 mouse_control.py" eingeben, das am Ende dieses Schrittes angehängt ist:
2. Auf dem Terminal sollte eine Eingabeaufforderung mit der Meldung "Verbunden" erscheinen. Drücken Sie beide Tasten A und B für eine Sekunde, um die Maus einzuschalten. Es sollte nun eine Eingabeaufforderung mit der Aufschrift "Cursor bewegen" erscheinen.
3. Um die Maus auszuschalten, drücken Sie erneut beide Tasten gleichzeitig. Eine Aufforderung "Weiter oder Beenden?" erscheint. Drücken Sie c, um mit Schritt 2 fortzufahren, oder geben Sie einfach die Eingabetaste ein, um das Programm zu beenden.
4. Wenn die Maus in einer umgekehrten Position gehalten wird (LED-Bildschirm zeigt nach unten), gibt das Programm eine Fehlermeldung aus, in der der Benutzer aufgefordert wird, die Maus richtig zu halten, bevor mit Schritt 2 fortgefahren wird.
5. Für einen einzelnen Klick halten Sie die Maus parallel zum Boden (um die Bewegung des Cursors zu stoppen) und drücken Sie nur die Taste A. Drücken Sie für einen Doppelklick nur die Taste B.
6. Informationen zum Code-Walkthrough finden Sie in der angehängten Datei, die ausreichend gut kommentiert ist.
7. Die Bluetooth-Verbindung ist ziemlich sporadisch und kann ziemlich häufig abbrechen, insbesondere wenn andere über Bluetooth verbundene Geräte in der Nähe verwendet werden. In diesem Fall sollte das erneute Ausführen des Codes funktionieren. Wenn auch das fehlschlägt, öffnen Sie das bluetoothctl-Befehlsfenster und koppeln Sie erneut mit dem micro:bit.
Schritt 5: Zukünftiger Umfang
1. Die Maussteuerung kann in hohem Maße feinjustiert werden. Wenn statt eines linearen Beschleunigungsalgorithmus eine exponentielle Beschleunigung verwendet wird, könnte dies eine noch bessere Kontrolle bieten.
2. Da die Bluetooth-Verbindung recht sporadisch ist, kann ein Ereignis zur Erkennung von Verbindungsfehlern hinzugefügt werden, das bei jedem Fehler die Reaktion zum Wiederherstellen einer Verbindung hätte.
3. Einige Tastaturgesten können hinzugefügt werden, z. B. ein plötzlicher Ruck kann zum Herunterfahren führen, oder eine vordefinierte Geste könnte, wenn sie erkannt wird, andere häufig verwendete Befehle/Tastaturanschläge auslösen.