Ecrire un script

A présent, voyons comment écrire un script avec MicroPython. Pour commencer, on va réimplémenter le fameux Blink (faire clignoter une LED)

Ouvrir le répertoire de la carte et clic droit sur main.py > ouvrir avec Geany ou bien créer un nouveau fichier de son choix *.py et l'ouvrir avec Geany :

Toutes les fonctions et objets propres à la carte utilisée sont dans une librairie dédiée. Pour la Pyboard, c'est dans la librairie pyb qui s'utilisera comme un module. Doc complète ici : http://docs.micropython.org/en/latest/pyboard/library/pyb.html

La pyboard dispose de 4 LEDs sur la carte (dites "onboard") et identifiées par LED(n°). Chaque LED dispose des fonctions .on(), .off(), .toggle()

On va saisir le code voulu :

# code micropython

import pyb # importe la librairie pyboard

pyb.LED(4).on() # allume la lED n°4 sur la carte
print ("LED n°4 allumée")

Ensuite, aller dans menu Construire > micropython (paramétré précédemment - voir installation ) :

On obtient alors une fenêtre Terminal dans laquelle dans laquelle s'affichent les messages :

Pour stopper l'exécution, il suffit de fermer le Terminal obtenu au lancement du code.

Ok, bien continuons : complètons notre code de façon à faire clignoter la LED n°4 en faisant :

# code micropython

import pyb # importe la librairie pyboard

while(True): # boucle sans fin 
    pyb.LED(4).on() # allume LED n°4
    print ("Led ON") # message console
    pyb.delay(500) # pause

    pyb.LED(4).off() # éteint LED n°4
    print ("LED OFF") # message console
    pyb.delay(500) # pause

ce qui nous donne à l'exécution :

Et la LED clignote !

Cool non ?

Voilà, vous avez les bases pour poursuivre.

Pyduino permet d'utiliser des fonctions "à la arduino" dans un code micropython, tout en gardant accès à l'ensemble des fonctions micropython par ailleurs.

Installer pour ce faire Pyduino : c'est très simple, il suffit de copier/coller le fichier pyduino sur la Flash de la pyboard.

Ensuite, le code devient :

# code micropython+pyduino

from upyduino import *

LED=4

def setup():
    pinMode(LED, OUTPUT)
    Serial.println("Broche Led en sortie") # façon arduino
    #print ("Broche Led en sortie") # équivalent

def loop():
    digitalWrite(LED,HIGH)
    print ("LED ON")
    delay(500)
    digitalWrite(LED,LOW)
    print("LED OFF")
    delay(500)

# exécution
setup()
while True: loop()