Skip to content

Micro:bit

La carte Micro:bit dans sa version 1
La carte Micro:bit dans sa version 1

Objectif

  1. Le but est de capter des variations de valeurs à partir d'une plante verte à l'aide d'une carte Micro;bit et d'un setup minimal. L’idée n’est pas de faire de la “bio-électrophysiologie” dans les règles de l'art, mais bien d'obtenir une mesure expressive et observable. Les signaux seront faibles et "bruités" (on pourra nettoyer (ou pas) plus tard..). Le but est donc de montrer que ça "varie" et que cela réagit à un stimulus (contexte).

Pré-requis et matériel

  • Une carte Micro:bit et son alimentation (USB est plus secure question tension)
  • Un cable USB adapté donc (en fonction du modèle)
  • Quelques (4) pinces crocodiles
  • 1 résistance (entre 10 kΩ et 1 MΩ, typiquement 100 kΩ) (100 000 Ohms)
  • Une connexion internet, pour l'accès à la plateforme MakeCode
  • Une plante verte, idéalement pas trop fragile (les pinces crocodiles pincent fort..)

Le principe

Le principe étant que la plante conduit un peu d'éléctricité. Sa résistance varie avec l'humidité, la pression, le contact, l'état de la feuille, la transpiration.. On va donc mesurer avec la carte Micro:bit la différence de tension (tension différentielle) qui la traverse.

En gros, la plante se comporte comme un matériau plus ou moins conducteur. Quand son état change, le courant passe un peu différemment.

Le montage

  • Connecter la Micro:bit à l'ordinateur via USB
  • Un pince crodo va de l'alimentation 3.3v à une broche de la résistance
  • Une deuxième pince va de l'autre broche de cette même résistance à la PIN 0 (à gauche) de la Micro:bit. PIN 0 est dans ce cas-ci le point de mesure.
  • Une troisième pince va de cette même PIN 0 à une feuille de la plante
  • Une quatrième pince va de la terre (bien tassée, humide) à la terre de la carte (GND) (ça ne s'invente pas..) La mettre dans la terre est beaucoup plus stable et produit moins de bruit que sur une autre feuille.

Tips

  • On peut essayer avec une résistance moindre (acceptable : 47 kΩ à 470 kΩ) pour voir la différence.
  • Mettre une micro-goutte d’eau sur la zone de contact peut donner un signal beaucoup plus propre.

Ce qui peut faire varier le signal:

  • toucher léger de la feuille
  • souffle d’air
  • humidification
  • ombre / lumière
  • légère pression

Voir les données captées

  • Rendez-vous sur MakeCode
  • Créez un projet
  • Connectez la carte Micro:bit
  • Cliquez sur l'onglet javascript (dans notre cas)
  • Créez votre programme..

Le code

js
basic.forever(function () {
    let v = pins.analogReadPin(AnalogPin.P0)
    serial.writeLine("" + v)
    basic.pause(100)
})

Téléchargez le code sur la carte et cliquez sur Afficher données appareil. Cela va ouvrir l'équivalent du Moniteur série de l'IDE Arduino. C’est là qu'on va voir ce qu'on envoie avec serial.writeLine(...)

On devrait voir quelque-chose de ce genre:

js
512
520
498
...

Lisser les valeurs autour de 0, avec des pics pour les variations:

js
let moyenne = pins.analogReadPin(AnalogPin.P0)

basic.forever(function () {
    let v = pins.analogReadPin(AnalogPin.P0)

    // moyenne lente (suivi de dérive)
    moyenne = Math.round(moyenne * 0.99 + v * 0.01)

    let signal = v - moyenne
    serial.writeLine("" + signal)

    basic.pause(100)
})

Autres liens