Inhoudsopgave:

Gebaargestuurde muis met behulp van Micro:bit - Ajarnpa
Gebaargestuurde muis met behulp van Micro:bit - Ajarnpa

Video: Gebaargestuurde muis met behulp van Micro:bit - Ajarnpa

Video: Gebaargestuurde muis met behulp van Micro:bit - Ajarnpa
Video: Kleine muis eet de maan voorgelezen door juf Anniek 2024, November
Anonim
Gebaargestuurde muis met behulp van Micro:bit
Gebaargestuurde muis met behulp van Micro:bit
Gebaargestuurde muis met behulp van Micro:bit
Gebaargestuurde muis met behulp van Micro:bit
Gebaargestuurde muis met behulp van Micro:bit
Gebaargestuurde muis met behulp van Micro:bit

INVOERING

Het project is een gebarengestuurde muis, in de vorm van een handschoen met daarin een micro:bit ingebed. Het is een project dat is geïnspireerd op een vroeg idee dat ik had als embedded engineer. Ik wil altijd toegang hebben tot een draadloze muis en toetsenbordset, voor interfacing met elke microprocessor die ik zou willen gebruiken. Een muis is essentieel voor het geval ik een besturingssysteem op een microprocessor gebruik. Het hebben van een draadloze muis en toetsenbord is een aantal keren een redder gebleken, en in dit opzicht was ik erg geïnteresseerd in het ontwikkelen van een draagbaar stukje technologie dat kan worden gebruikt als een muis, en mogelijk als een toetsenbord.

In deze instructable ga ik de stappen en procedure delen van hoe ik een micro:bit met wat Python-code heb gebruikt om een op een handschoen gemonteerde, gebarengestuurde muis te maken.

Benodigdheden

1 micro:bit met batterij

1 handschoen om micro:bit aan te bevestigen

1 bluetooth-computer Linux (hier gebruikt Raspberry Pi)

PC voor het programmeren van micro:bit en het openen van een VNC-sessie naar Raspberry Pi

Stap 1: Hoe het werkt

Image
Image

Stap 2: Interface Micro:bit naar Raspberry Pi via Bluetooth

Interface Micro:bit naar Raspberry Pi via Bluetooth
Interface Micro:bit naar Raspberry Pi via Bluetooth

1. Bij het starten laat ik een reeks LED's zien in de vorm van "b*", en initialiseer ik de Bluetooth-versnellingsmeter, knop, LED en temperatuurservices.

2. In het geval van een Bluetooth-verbinding, toont het LED-scherm een "C", wat aangeeft dat de micro:bit een Bluetooth-verbinding tot stand heeft gebracht.

3. Als de Bluetooth-verbinding wordt verbroken, toont het LED-scherm een "D", wat aangeeft dat de micro:bit de Bluetooth-verbinding heeft verloren en opnieuw verbinding moet maken.

4. Selecteer in Projectinstellingen de modus "Geen koppeling". De micro:bit-website beveelt "Just Works"-koppeling aan, maar koppelen mislukt altijd met de laatste. Om de een of andere onverklaarbare reden werkt het met de eerste.

Stap 3: Bluetooth instellen op Raspberry Pi

Bluetooth instellen op Raspberry Pi
Bluetooth instellen op Raspberry Pi
Bluetooth instellen op Raspberry Pi
Bluetooth instellen op Raspberry Pi
Bluetooth instellen op Raspberry Pi
Bluetooth instellen op Raspberry Pi

1. Installeer het bluezero-pakket met "sudo pip3 install bluezero"

2. Open een Bluetooth-opdrachtprompt door "bluetoothctl" te typen. De nieuwe prompt zou er als volgt uit moeten zien:

$ [bluetooth] #

3. Zet micro:bit in scanmodus door de knoppen A en B ingedrukt te houden en op de resetknop te drukken. Wacht tot er een bluetooth-symbool op het LED-scherm verschijnt en laat dan alle knoppen los. Typ "scan on" op de Raspberry Pi Bluetooth-terminal. Zodra de micro:bit zichtbaar is in de lijst met nieuwe apparaten, typt u "scan off" en noteert u het apparaatadres van de micro:bit als "yy:yy:yy:yy:yy:yy".

4. Koppel en maak verbinding met de micro:bit door "pair yy:yy:yy:yy:yy:yy" te typen.

5. Om te controleren of het koppelen werkte, typt u "apparaten" en controleert u of micro:bit in de lijst met apparaten wordt weergegeven. Als de verbinding is gelukt, moet het LED-scherm op de micro:bit veranderen in een "C". Zo niet, reset dan de micro:bit en probeer gewoon opnieuw te koppelen op de bluetoothctl-terminal op de Raspberry pi.

Stap 4: Voer code uit op de Raspberry Pi

Voer code uit op de Raspberry Pi
Voer code uit op de Raspberry Pi

1. Voer de code uit op de Raspberry Pi door "python3 mouse_control.py" te typen, die aan het einde van deze stap is bijgevoegd:

2. Er zou een prompt op de terminal moeten verschijnen met de tekst "Verbonden". Druk even op beide knoppen A en B om de muis 'aan' te zetten. Een prompt met de tekst "Beweeg cursor rond" zou nu moeten verschijnen.

3. Om de muis uit te schakelen, drukt u nogmaals beide knoppen tegelijk in. Een prompt van "Doorgaan of afsluiten?" verschijnt. Druk op c om verder te gaan vanaf stap 2, of voer gewoon in om het programma af te sluiten.

4. Als de muis in een omgekeerde positie wordt gehouden (LED-scherm naar beneden gericht), geeft het programma een foutmelding waarin de gebruiker wordt gevraagd de muis op de juiste manier vast te houden, voordat verder wordt gegaan met stap 2.

5. Houd de muis voor een enkele klik evenwijdig aan de grond (om de cursor te laten stoppen met bewegen) en druk alleen op knop A. Druk voor een dubbelklik alleen op knop B.

6. Raadpleeg voor code-walkthrough het bijgevoegde bestand, dat voldoende goed is becommentarieerd.

7. De Bluetooth-verbinding is vrij sporadisch en kan vrij vaak worden verbroken, vooral als er in de buurt andere Bluetooth-verbonden apparaten in gebruik zijn. Als dit gebeurt, zou het opnieuw uitvoeren van de code moeten werken. Als ook dat niet lukt, open dan het bluetoothctl-opdrachtvenster en koppel opnieuw met de micro:bit.

Stap 5: Toekomstige reikwijdte

1. De muisbesturing kan in hoge mate worden afgesteld. Als een exponentiële versnelling in plaats daarvan een lineair versnellingsalgoritme wordt gebruikt, kan dit nog meer controle bieden.

2. Aangezien de Bluetooth-verbinding vrij sporadisch is, kan een gebeurtenis voor het detecteren van verbindingsfouten worden toegevoegd, die de reactie zou hebben om bij elke fout opnieuw een verbinding tot stand te brengen.

3. Sommige toetsenbordgebaren kunnen worden toegevoegd, zoals een plotselinge ruk kan een afsluiting veroorzaken, of een vooraf gedefinieerd gebaar, wanneer gedetecteerd, kan een andere veelgebruikte opdracht/toetsenbordaanslag veroorzaken.

Aanbevolen: