loader

Circuit RC Stimulateur Cardiaque ECE version Micro:Bit Bug Corrigé

Programme modifié pour la carte Micro:Bit V2 L'instruction pin1.set_pull(pin1.NO_PULL) supposée déconnecter une broche ne fonctionne pas. En faisant une lecture pour rien d'une broche elle se place en mode NO_PULL Remarque: le lien vers le Tutoriel explique l'intégralité du TP et même davantage :-)

En préparant un TP pour les Terminales Spé à base d'un ancien ECE, j'ai remarqué que le programme Arduino fonctionne mais pas le programme Micro:Bit.
(Je n'ai pas de Micro:Bit V1 pour vérifier si le programme original fonctionne sur une V1).

Normalement il faut "connecter" la résistance r (broche 2) pour charger rapidement le condensateur et la "déconnecter" pour décharger le condensateur à travers R (broche 1).
Modification apportée (2 fois):
    Rien=pin1.read_digital() #Sur la carte MicroBit V2 l'instruction du dessous ne fonctionne pas ! Elle est remplacée par une lecture "inutile" de la broche 1 qui la déconnecte vraiment.
    #pin1.set_pull(pin1.NO_PULL) # La branche contenant "R" est "déconnectée"
Schéma de Branchement

#@title Code python pour la carte Micro:bit V2 (modifié LT :-)
# Le programme fourni utilise une instruction qui n'a pas l'effet attendu sur la carte V2:
# Pour déconnecter une broche, il faut faire semblant de la lire avec Rien=pin1.read_digital()

# Modélisation d'un générateur d'impulsions

from microbit import *
Te = 10 # Période d'echantillonnage en millisecondes
duree = 5 # Durée de l'acquisition en seconde

tempsZero = running_time() # Temps initial exprimé en millisecondes
temps = 0 # Initialise la variable temps à zéro
Uc = 0 # Initialise la variable Uc à zéro
print ("t(s)", '\t', "Uc(V)")

while (temps = 2.0): # L'étape de décharge se termine lorsque Uc atteint la valeur en Volt indiquée après les symboles >=
        temps = (running_time() - tempsZero)/1000 # Calcule le temps écoulé, en secondes
        Uc_NUM = pin0.read_analog() # Lis la valeur numérique de Uc sur la broche 0
        Uc = Uc_NUM * 3.3 / 1023 # Conversion de Uc_NUM en Uc (10 bits soit 1024 valeurs sur 3.3V)
        print(temps, '\t', Uc) # Affiche le temps et Uc séparés par une tabulation
        sleep(Te) # Fait une pause de durée Te
    # ============== FIN DE LA DÉCHARGE DU CONDENSATEUR ============