Physical computing/microPython

Uit Lab
Naar navigatie springen Naar zoeken springen

microPython [1] is een versie van Python speciaal bedoeld voor microcontrollers met beperkte mogelijkheden. Voor steeds meer microcontrollers is dit een alternatief voor de Arduino IDE.

De voorbeelden die we hier geven zijn bedoeld voor de micro:bit.

microPython voor andere microcontrollers

Varianten van microPython zijn onder meer beschikbaar voor:

Er zijn kleine verschillende tussen deze versies van microPython, vooral in het interface met de hardware (hardware-API).

Deze verschillen zijn in de praktijk wel zo lastig dat je niet zomaar een programma op een andere microcontroller kunt uitvoeren: de oorspronkelijke versie van microPython maakt andere keuzes dan de microbit-versie.

Structuur van een programma

Een microPython-programma is een gewoon Python-programma. Een gebruikelijke opzet is: eerst de nodige imports, dan de definities van classes, functies, en variabelen; en tenslotte de uitvoerbare opdracht(en).

Bij het aanzetten van het apparaat (in dit geval: de microbit) of bij het uitvoeren van een "reset" wordt eerst een "boot" programma uitgevoerd, en daarna het eigenlijke besturingsprogramma.

Een besturingsprogramma eindigt in principe nooit: er kan altijd een volgende input komen. Alleen als je het apparaat uitzet, stopt het programma.

Hieronder zie je een voorbeeld van een microbit-programma dat wacht op het indrukken van button A: dan verandert het "sad face" in "happy face".

from microbit import *

while True:
    if button_a.is_pressed():
        display.show(Image.HAPPY)
    else:
        display.show(Image.SAD)

En het traditionele "Blink" programma:

from microbit import *


while True:
    if button_a.is_pressed():
        display.show(Image.HAPPY)
    else:
        display.show(Image.SAD)

Libraries