radio tower, de Luca Serazzi, publié sous licence Creative Commons by 2.0.

TP3 — Communication entre cartes

Crédits

Cette séance est inspirée de celle de mes collègues Stéphane Colomban et Jérémy Chevillot. Merci à eux.

Pour l'ensemble des exercices de cette partie, chaque binôme d'élèves devra se munir de deux cartes Micro:bit.

Comment faire communiquer deux cartes ?

La carte Micro:bit est équipée d'un émetteur/récepteur radio qui permet à deux cartes de communiquer à distance.

Instructions

Les instructions disponibles sont :

  • radio.on() : allume la radio. À écrire obligatoirement avant toute utilisation de la radio ;
  • radio.config(channel=7) : configure le canal radio sur lequel vous allez émettre et recevoir (comme les Talkie-Walkies) ; les canaux disponibles vont de 0 à 83 (celui par défaut étant le numéro 7). Les deux cartes qui communiquent entre elles doivent utiliser le même canal (donc le même numéro) ;
  • radio.send("message") : envoie la chaîne de caractères (texte) message ;
  • radio.receive() : reçoit le prochain message à être diffusé sur le canal de réception ;
  • radio.off() : éteint la radio.

Pour plus d'informations, voir la documentation officielle.

Exercice

On fabrique un compteur formé de deux cartes :

  • l'afficheur affiche le compteur (des nombres de 0 à …) ;
  • en appuyant sur les boutons gauche et droite du contrôleur, on peut augmenter ou diminuer le compteur.
  1. Mise en place

    1. Chaque élève télécharge un des programmes suivants :

    2. Chaque élève ouvre son programme avec le logiciel Mu, puis le flashe sur sa carte Micro:bit. Cela doit alors fonctionner :

      • un des élèves voit le compteur sur sa carte ;
      • l'autre peut contrôler, avec les boutons gauche et droite, la valeur du compteur sur l'autre carte.

      Remarquez qu'à ce stade, toutes les cartes des élèves communiquent sur le même canal : votre carte « contrôleur » n'agit pas seulement sur la carte de votre binôme, mais aussi sur toutes les cartes des élèves de la classe (à conditions que le programme compteur-afficheur.py y soit installé).

  2. Amélioration du programme

    1. Lisez et comprenez les deux programmes.
    2. Modifiez le canal utilisé (en choisissant un nombre entre 1 et 83, différent de celui des autres élèves de la classe). Vérifiez que cela fonctionne toujours.
    3. Modifiez les deux programmes pour que lorsque la carte « contrôleur » est secouée, le compteur est remis à zéro.
    4. Appelez le professeur pour vérifier votre travail.

Un peu plus d'autonomie

Faites les trois TP ci-dessous, dans l'ordre de votre choix.

Télé-assistance

On souhaite réaliser un bracelet de télé-assistance pour personnes agées : il s'agit d'un bracelet qui alerte un infirmier en cas de chute.

  • La première carte simule le bracelet : Lorsque la carte est secouée (chute de la personne), un message d'alerte est envoyé au poste de contrôle.
  • La second carte simule le poste de contrôle : Lorsqu'il reçoit le message d'alerte, la carte se met à clignoter pour prévenir le personnel qu'une personne est en danger.
  1. Chaque élève télécharge un des programmes suivants dans son dossier personnel, et l'ouvre avec le logiciel mu-editor.

    • tele-bracelet.py : Bracelet élecronique : envoie le message "alerte" lorsque la carte est secouée.
    • tele-controle.py : Poste de contrôle : fait clignoter la carte lorsque le message "alerte" est reçu.
  2. Complétez les programmes pour qu'ils fonctionnent.

  3. Déposez les fichiers sur Pronote (chacun des deux élèves dépose un fichier).
  4. Appelez le professeur pour vérifier votre travail.

Station météorologique

On souhaite réaliser une station météorologique (rudimentaire) composée de deux parties : un capteur à l'extérieur qui effectue les mesures, et une interface à l'intérieur qui affiche ces mesures.

  • La première carte est le capteur placé à l'extérieur : à la réception d'un message, elle mesure la température ou la luminosité, et renvoie cette information.
  • La seconde carte est l'interface, à l'intérieur : lorsque l'utilisatrice appuie sur un des boutons, elle envoie un message à l'autre carte pour demander la température (bouton A) ou la luminosité (bouton B), et affiche le résultat.
  1. Chaque élève télécharge un des programmes suivants dans son dossier personnel, et l'ouvre avec le logiciel mu-editor.

    • meteo-interface.py : Interface : lorsque l'utilisatrice appuie sur le bouton A, envoie le message "température" ; lorsque l'utilisatrice appuie sur le bouton B, envie le message "luminosité". Puis attend que l'autre carte réponde, et affiche la valeur reçue (température ou luminosité).
    • meteo-capteur.py : Capteur : lorsque le message "température" est reçu, renvoit la température ; lorsque le message "luminosité" est reçu, renvoit la luminosité.
  2. Complétez les programmes pour qu'ils fonctionnent (pour tester la luminosité, on pourra cacher la carte avec sa main pour faire baisser la luminosité).

  3. Déposez les fichiers sur Pronote (chacun des deux élèves dépose un fichier).
  4. Appelez le professeur pour vérifier votre travail.

Clignotant de vélo

Le but de cet exercice est de créer un clignotant de vélo connecté :

  • sur la première carte, attachée sur le guidon, l'utilisatrice peut appuyer sur le bouton A ou B pour signifier son intention de tourner à gauche (A) ou à droite (B) ;
  • la seconde carte, attachée à l'arrière du vélo, n'affiche rien, jusqu'à ce qu'elle reçoive un signal de la première carte. Elle affiche alors une flèche vers la gauche ou vers la droite pendant cinq secondes, puis s'éteind.
  1. Chaque élève télécharge un des programmes suivants dans son dossier personnel, et l'ouvre avec le logiciel mu-editor.

    • velo-guidon.py : Lorsque la cycliste appuie sur le bouton A ou B, le message "gauche" ou "droite" est envoyé à l'autre carte.
    • velo-arriere.py : Lorsque le message "gauche" ou "droite" est reçu, affiche pendant cinq secondes la flèche correspondante.
  2. Complétez les programmes pour qu'ils fonctionnent.

  3. Déposez les fichiers sur Pronote (chacun des deux élèves dépose un fichier).
  4. Appelez le professeur pour vérifier votre travail.
  5. Pour aller plus loin : Dans deux nouveaux fichiers, améliorez les programmes existants pour que les flèches (gauche ou droite) s'affichent jusqu'à ce que la cycliste appuie à nouveau sur le même bouton.
  6. Déposez les fichiers sur Pronote (chacun des deux élèves dépose un fichier).
  7. Appelez le professeur pour vérifier votre travail.