För detta projekt behöver du bara en BBC-mikrobit, eftersom det kommer med en accelerometer som vanligtvis används i mobila enheter för att bestämma enhetens orientering och skärmrotation. I denna handledning ska vi använda micro: bit som en inmatningsenhet som reagerar på gester.

Det är värt att kolla in hur du kommer igång med BBC Micro Bit guide om du inte har läst det innan du börjar med det här projektet.

Vi börjar i Mu-redaktören och som alltid importerar vår första rad micro: bit biblioteket:

från mikrobit import *

Nu använder vi en oändlig slinga för att innehålla koden som vi vill köra medan sant.

Accelerometern inbäddad i micro: bit har sin egen serie funktioner som kan användas för att fråga styrets position i rymden. Vi kan upptäcka hela x-, y- och z-koordinaterna för styrningen för fin kontroll men det finns tillfällen där vi inte behöver sådan precision, och det är där gester ger en snabb lösning.

Gester är rörelser som har förutbestämts, till exempel skakning, lutning och vändning av mikro: bit. Vi kan använda dessa gester för enkel inmatning och i detta projekt kommer vi att använda ett villkorligt uttalande som kommer att kontrollera för att se vilken gest som har gjorts och reagera i enlighet därmed.

Det första testet är att se om accelerometern har lutats uppåt. Utgången från detta test är antingen True eller False, men om det är True, aktiveras koden nedan. Rensa skärmen innan du rullar text över micro: bit LED matrisen. Slutligen finns det en 0,1 sekunders paus innan koden kontrollerar igen.

Först skriver du

om accelerometer.was_gesture ('up'):

Skriv sedan följande, se till att varje rad är indragad genom att trycka på Tab-tangenten på tangentbordet.

display.clear ()

display.scroll ("Hundar kan inte slå upp")

sömn (100)

Vårt nästa test heter "Else If ..." förkortat i Python-kodningsspråket till "elif". I det här testet kontrollerar vi för att se om micro: bit har pekats mot golvet. Första typ:

elif accelerometer.was_gesture ('down'):

Gör sedan igen varje följande rad indragad med Tab-knappen.

display.clear ()

display.scroll ("jag känner mig sjuk")

sömn (100)

Vi upprepar denna process för ytterligare två tester som kommer att täcka tippningen av mikroen: bit åt vänster och höger. Syntaxen för den här koden är identisk med den nedre gesten, men refererar till "vänster" och "höger".

Vår sista gest är en skakningsrörelse, som när den detekteras kommer att utlösa den sista sektionen av kod som ska aktiveras. Skriva:

elif accelerometer.was_gesture ('shake'):

Sedan nedanför, igen med varje linje inryckt:

display.clear ()

display.scroll ("Stop shaking me!")

sömn (100)

Med koden nu klar, spara ditt jobb och klicka sedan på Flash för att blinka koden på den bifogade micro: bit. När den gula lysdioden på baksidan av mikroen: biten slutar blinka är du redo att använda regulatorn.

Börja med att tippa mikro: bit framåt, bakåt och sida till sida. Senast skaka mikro: bit för att testa skakningsbehållningen.

  • Njut av den här artikeln? Utöka din kunskap om Linux, få mer från din kod och upptäck de senaste open source-utvecklingen inom Linux-format. Läs vår provtagare idag och dra nytta av erbjudandet inomhus.