35 60 02 01 (man-fre 9-15)
Kom i gang med micro:bit og MicroPython
I denne artikkelen skal vi ta de første stegene med MicroPython og micro:bit ved å lage en enkel terning som trekker et tilfeldig tall når du rister på micro:bit'en. Kun med ni linjer kode.
Hva er MicroPython?
Kort sagt er MicroPython en implementasjon av Python 3 for mikrokontrollere. MicroPython inkluderer et lite subset av standardfunksjonene i Python, men det er optimalisert til å kjøre på mikrokontrollere istedenfor mikroprosessorer.
Hva er micro:bit?
micro:bit er en mikrokontroller laget av BBC i England i samarbeid med mange andre selskapet (ARM, CISCO, Code Club, Microsoft, Python Software Foundation.) Målet med samarbeidet er å lage en plattform for barn å lære om teknologi og bli skapere med teknologi. I 2016 ble micro:bit Foundation stiftet for å ta arbeidet videre.
micro:bit er kun 5x4cm og i midten av kortet finner du en 5x5 matrise med røde lysdioder flankert med to programmerbare knapper. På nedre kan finner du 20 pin GPIO (General Purpose Input Output) der 5 av disse (0,1,2,3V og GND) kan kobles til krokodilleklemmer. Kortet kommer integrert med en 32-bit ARM Cortex M0 16MHz CPU med 16K RAM, Bluetooth Low Energy (BLE), accelerometer og kompass.
Hvordan kan du programmere med micro:bit?
Det er mange programmeringsspråk du kan bruke med micro:bit, men de to mest populær er JavaScript Blocks og MicroPython. I dette eksempelet bruker vi MicroPython til å lage en terning som reagerer på at micro:bit'en ristes. Til dette prosjektet trenger du:
- En micro:bit
- En micro-USB til USB kabel
- En datamaskin med internett
Start med å åpne nettleseren å gå til http://python.microbit.org der du får opp Python-editoren.
Brukergrensesnittet
- Download: Last ned programmet ditt (som en .hex-fil) og overfør den til micro:bit'en din
- Save: Last ned en koden til programmet ditt (som en .py-fil) slik at du kan hente den frem igjen senere og jobbe videre på den.
- Load: Last inn en .hex-fil i editoren
- Snippets: Kodeblokker som du kan bruke i programmet ditt.
- Help: Her finner du rik dokumentasjon på hva du kan gjøre.
- + / -: Gjør teksten større og mindre
Du vil se at det allerede er noe kode i editoren som sier "Hello World". Hvis du vil kan du prøve å laste ned programmet og overføre det til micro:bit'en din for å se at det fungerer.
Slett all koden med unntak av linje 2 "from microbit import *". På en ny linje legger du til en kode for å importere "randint"-funksjonen fra "random"-biblioteket. Vi skal bruke "randint" (Random Integer) (Norsk: Tilfeldig Heltall) for å generere et tilfeldig tall fra 1 til 6 til terningen vår.
from random import randint
Nå trenger vi en evig løkke, i Python heter dette "while True:". Denne løkka vil kjøre alle kode den inneholder.
while True:
Når du nå trykker Enter/Linjeskift er vi på innsiden av løkka, indikert med at koden begynner med 4 mellomrom / 1 tabulator (som automatisk legges til av editoren). På den neste linja må vi utføre en test for å sjekke om micro:bit'en blir ristet. Når micro:bit'en din ristes vil bevegelsen få navnet "shake". Dette kan vi teste med følgende kode:
if accelerometer.was_gesture("shake"):
Nå får koden din ennå et innrykk som betyr at de neste linjene vil kjøre dersom micro:bit'en ristes. Først vil micro:bit'en vise et tilfeldig tall på skjermen.
display.show(str(randint(1,7)))
De neste to linjene vil pause programmet ditt i 2 sekunder (2000 millisekunder) for deretter å slukke alle lysdiodene på skjermen.
sleep(2000)
display.clear()
Men hva skjer når micro:bit ikke blir ristet? Da kan vi legge inn en "else:"-betingelse som kan vise et smilefjes når micro:bit'en ikke vises.
else:
display.show(Image.HAPPY)
Det var alt. Nå kan du trykke "Download" og overføre programmet ditt til micro:bit'en. For å få til dette kobler du USB-kabelen fra micro:bit'en til PC'en din. micro:bit vil dukke opp som en USB flash-disk. Kopier koden du har lastet ned over på micro:bit'en. På baksiden av micro:bit'en vil du se et gult, blinkende lys mens programmet overføres. Når denne slutter å blinke er programmet overført og vil starte og du skal se et smilefjes. Nå kan du riste micro:bit'en og den vil velge et tilfeldig tall.
I denne guiden har du tatt dine aller første steg med MicroPython.
Komplett kode
from microbit import * from random import randint while True: if accelerometer.was_gesture("shake"): display.show(str(randint(1, 7))) sleep(2000) display.clear() else: display.show(Image.HAPPY)
Nyttige linker
Hvis du syns dette virket spennende kan du lære mer om micro:bit og MicroPython via disse ressursene: