• Aucun résultat trouvé

en Micro-Python des cartes

N/A
N/A
Protected

Academic year: 2022

Partager "en Micro-Python des cartes"

Copied!
30
0
0

Texte intégral

(1)

Programmation

en Micro-Python des cartes

Micro:Bit

(2)

Les cartes Micro:bit peuvent se programmer à partir d’un langage amélioré du Python: « Le micro-Python »

PRESENTATION

(3)

Plusieurs logiciels proposent cette programmation en « micro-Python »:

Logiciels en ligne:

microbit: https://python.microbit.org/v/2.0

Vittascience:

https://fr.vittascience.com/microbit/?console=bot tom

Logiciels à installer:

Mu: https://codewith.mu/

Les logiciels

(4)

Chargement de la bibliothèque Micro:Bit:

Avant toute programmation, il faut importer le module

« Micro:Bit » par la commande:

From microbit import *

Vous pouvez alors utiliser toutes (*) les fonctionnalités de la bibliothèque « microbit »

POUR COMMENCER

(5)

Pour faire défiler un texte:

display.scroll(« Bonjour »)

Pour faire apparaître un texte lettre par lettre:

display.show (texte à afficher, wait=True, loop=False, clear=False)

Commande de l’affichage : les textes

Arguments (facultatifs):

Siwait=True, cette fonction se bloquera jusqu'à ce que l'animation soit terminée, sinon l'animation se déroulera en arrière-plan.

Siloop = True, l'animation se répétera indéfiniment.

Siclear = True, l'affichage sera effacé une fois terminé.

(6)

La matrice de leds permet aussi d’afficher des images.

Commande de l’affichage : les images

Chaque point est un nombre entre 0 et 9 pour rendre chaque LED plus sombre ou plus lumineuse.

(7)

Exemple: un bateau

Commande de l’affichage : les images

On utilise alors la commande display.show()

from microbit import * boat = Image("00050:"

"00550:"

"05550:"

"99999:"

"09990") display.show(boat)

(8)

On peut aussi afficher des images toutes prêtes contenues dans la bibliothèque microbit.

Exemple: display.show(Image.HAPPY)

Commande de l’affichage : les images

De nombreuses images existes:

Image. SMILE Image.SMART Image.CLOCK12 Image.SAD

…etc….

Autres image:

https://microbit-micropython.readthedocs.io/en/v1.0.1/tutorials/images.html Attention à respecter les

majuscules

(9)

Les commandes qui se rapportent aux boutons A et B permettent:

de vérifier s’ils sont appuyés ou non. (au présent ou au passé). Le résultat est donc dans ces cas, une information de type Booléenne (« True » or « False ») c’est- à-dire « logique ».

is_pressed( ) : Renvoie True si le bouton spécifié buttonest actuellement maintenu enfoncé, et False sinon.

was_pressed( ) : Renvoie True ou False pour indiquer si le bouton a été appuyé.

De calculer le nombre de fois que l’on a appuyé sur le bouton

get_presses( ) : Renvoie le total cumulé des pressions sur les boutons

Exemple:

from microbit import *

while True: #début d’une boucle jusqu’à ce que l’on trouve « break » ifbutton_a.is_pressed() andbutton_b.is_pressed():

display.scroll("AB")

break# on sort du programme si les deux boutons appuyés elifbutton_a.is_pressed():

display.scroll("A") elifbutton_b.is_pressed():

display.scroll("B") sleep(100) #tempo de 100 ms

Utilisation des boutons A et B

(10)

L’accéléromètre va nous indiquer des

mouvements suivants les 3 axes X, Y et Z.

Utilisation de l’accéléromètre

On peut par exemple récupérer cette donnée dans une variable:

variable = accelerometer.get_x()

L’instruction permettant de récupérer les valeurs va donc dépendre de l’axe:

Pour l’axe X : accelerometer.get_x() Pour l’axe Y : accelerometer.get_y() Pour l’axe Z: accelerometer.get_z()

(11)

Le capteur de température est celui intégré dans le processeur.

La syntaxe permettant de récupérer sa valeur est tout simplement:

temperature ()

Utilisation du capteur de température

Exemple:

from microbit import * while True:

temp = temperature()

display.scroll(str(temp) + ‘ C')#on transforme la donnée entière « temp » en chaine de caractères par str() sleep(500)

(12)

Utilisation de la boussole

Un magnétomètre mesure l'intensité du Champ magnétique dans chacun des trois axes. Il peut être utilisé pour créer

une boussole numérique ou pour mesurer des champs magnétiques:

Exemple: compass.heading() qui permet de récupérer l’angle par rapport au nord magnétique.

Remarque: Un étalonnage de la boussole est nécessaire avant son utilisation. L'étalonnage consiste en un petit jeu pour allumer toute la matrice de LED en faisant tourner la carte.

La syntaxe de cet étalonnage est: compass.calibrate()

Exemple:

from microbit import *

compass.calibrate() # étalonnage de la boussole while True:

valeur = compass.heading() # récupération de l’angle par rapport au Nord display.scroll(str(valeur) ) # affichage

sleep(500)

(13)

Les autres entrées/sorties

(14)

Les autres entrées/sorties

Pin Type Function

0 Touch Pad 0

1 Touch Pad 1

2 Touch Pad 2

3 Analog Column 1

4 Analog Column 2

5 Digital Button A

6 Digital Row 2

7 Digital Row 1

8 Digital

9 Digital Row 3

10 Analog Column 3

11 Digital Button B

12 Digital

13 Digital SPI MOSI

14 Digital SPI MISO

15 Digital SPI SCK

16 Digital

19 Digital I2C SCL

20 Digital I2C SDA

Touch:

permet une commande par les doigts

Analog:

entrées/sorties analogiques

Digital:

entrées/sorties logiques

(15)

Syntaxes sur les entrées/sorties logiques

Vous pouvez simplement en touchant avec vos doigts les entrées (P0, P1 et P3) déclencher une action avec

la commande:

pin0.is_touched()

from microbit import * while True:

if pin0.is_touched():

display.show(Image.HAPPY) sleep(1000)

else:

display.show(Image.SAD) sleep(1000)

Vous envoyer la valeur 1 ou 0 sur une sortie:

Pin0.write_digital( 0 ou 1) (ici pour la sortie P0 )

Ou lire une entrée:

Pin2_read_digital() (ici pour l’entréeP2)

Attention: vous devez de la main gauche serrer P0 et de la main droite GND pour déclencher l’action

(16)

Programmer le clignotement de la DEL toutes les secondes:

Lecture/écriture logique:

from microbit import * while True:

pin0.write_digital(1) sleep(1000)

pin0.write_digital(0) sleep(1000)

Attention : Si la diode ne s’allume pas, inversez sa connexion, car les DELs sont polarisées

(17)

Syntaxes sur les entrées/sorties analogiques

Les deux commandes principales pour lire ou produire des tensions sont:

read_analog()

Permet de transformer la tension appliquée à la broche en une valeur numérique comprise entre 0 (pour 0 V) ​​et 1023 (pour 3,3 V).

write_analog( valeur )

Permet de commander la variation d’une tension de 0 Volt (pour valeur =0) à 3,3V (pour valeur =1023)

(18)

Exemple: Faire varier la luminosité d’une DEL avec le potentiomètre

from microbit import * while True:

potar = pin1.read_analog() pin0.write_analog(potar)

La variation de la valeur d’un potentiomètre est envoyée sur une sortie analogique où est branchée une DEL

DEL sur port P0

Potentiomètre sur port P1

(19)

Exemple: détection Jour/Nuit

from microbit import * while True:

Lumiere = pin1.read_analog() if Lumiere < 500:

display.scroll("NUIT") else:

display.scroll("JOUR")

En utilisant le capteur de luminosité, on peut lire une valeur comprise entre 0 (pour la nuit) et 1023 (pour le jour):

Capteur sur port P1

(20)

Pour utiliser l’afficheur 4 chiffres, il faut ajouter la bibliothèque que vous pourrez récupérer à

l’adresse suivante:

http://www.tigerjython.ch/download/mb7seg.zip

AJOUTER UNE NOUVELLE BIBLIOTHEQUE Avec Mu

Vous devez effectuer la même procédure pour utiliser le robot Maqueen

(21)

1. Dézipper les fichiers.

2. Coller les fichiers dans le répertoire mu_code de votre espace personnel : Pour le trouver :

taper C: dans l'explorateur de fichier.

puis cliquer sur Users ou Utilisateurs puis cliquer sur votre nom d'utilisateur puis cliquer sur mu_code

3. Dans le logiciel Mu, cliquer sur Fichiers

AJOUTER UNE NOUVELLE BIBLIOTHEQUE

(22)

Un panneau s’ouvre montrant deux zones : à gauche les fichiers présents sur la carte micro:bit, à droite ceux dans le répertoire mu_code

4. Copier le fichier mb7seg.py en le déplaçant à l'aide de la souris sur la zone carte Micro:bit .

AJOUTER UNE NOUVELLE BIBLIOTHEQUE

(23)

On souhaite afficher la température ambiante sur l’afficheur.

Utilisation de l’afficheur 4 chiffres

from mb7seg import FourDigit from microbit import *

d = FourDigit(pin1, pin15) while True:

temp = temperature() d.show(temp)

On charge la bibliothèque que l’on

vient d’installer

On définit les deux ports l’on va connecter notre

afficheur

(24)

On peut faire de la musique en utilisant le module

« speakers » et une bibliothèque appelée

« music »:

Commande de la musique

Remarque: Comme les images, Il existe une bibliothèque de sons Micro:bit :

music.play(music.NYAN)

Voir les autres sons: https://microbit-micropython.readthedocs.io/en/latest/tutorials/music.html from microbit import *

import music

tune = ["C4:4", "D4:4", "E4:4", "C4:4", "C4:4",

"D4:4", "E4:4", "C4:4", "E4:4", "F4:4", "G4:8",

"E4:4", "F4:4", "G4:8"] # Frere Jacques music.play(tune)

Potentiomètre de réglage du son

Vous devez brancher le module

« son » sur le port P0

(25)

Ruban de LEDs

from microbit import * import neopixel

np = neopixel.NeoPixel(pin0, 30) # initialisation du ruban 30 leds sur le port P0 while True:

red = 50

green = 20 # on donne une valeur à chaque couleur entre 0 et 60 blue = 40

np[10] = (red, green, blue) # on donne la couleur choisie à la del n°10

np.show() # Affichage avec la fonction "show"

sleep(100)

Pour le ruban à leds, on Utilise la bibliothèque

« néopixel » déjà contenue Dans le micro:bit

(26)

A défaut d’avoir des cartes Micro:Bit, vous pouvez utiliser le simulateur en ligne:

https://create.withcode.uk/

Un simulateur en ligne

Ou tout simplement pour que vos élèves s’entraînent chez eux

(27)

Recopiez les deux lignes de programme suivantes et testez-les en cliquant sur « play » :

Un simulateur en ligne: Exemple

(28)

Un simulateur doit s’ouvrir :

Un simulateur en ligne: Exemple

Stopper votre programme en cours d’exécution avant de continuer (A CHAQUE FOIS)

(29)

Il existe de nombreux sites qui peuvent vous aider:

https://lecluseo.scenari-community.org/CircuitPython/co/AA_kitSurvie.html

https://create.withcode.uk/

https://microbit-micropython.readthedocs.io/fr/latest/

https://microbit.org/get-started/user-guide/python/

SITES A CONSULTER

(30)

FIN du diaporama

DES QUESTIONS ?

Références

Documents relatifs

b- Théorie : Le réglage de la fréquence (sans modifier le rapport cyclique) est possible par exemple en utilisant une boite à décades pour le condensateur de l’intégrateur. Mais

Exercice n°3: valeur moyenne et efficace (7 points) Soit la tension périodique u ci-contre:. 1- Calculez sa valeur moyenne&lt;u&gt;, en expliquant bien la

2) Rappeler l’´enonc´e du th´eor`eme

[r]

Saisir le nombre entier naturel non nul N. Soit p un entier naturel non nul.. Dresser le tableau de variations de f. Rappel : Dans un cercle, si un angle inscrit et un angle au

[r]

2) Envoi doublé. Par préaution, on hoisit d'envoyer le même message deux fois.. a) A ve quelle probabilité le i-ième symbole du premier message reçu

Une résistance, soumise à une tension de 20 V, est parcourue par une intensité de 100 mA.. Quelle est la valeur de