Modifications

Sauter à la navigation Sauter à la recherche
850 octets ajoutés ,  13 décembre 2015 à 13:26
Ligne 220 : Ligne 220 :  
Raccordez le Servo moteur sur X2 comme [MicroPython-Hack-servo nous l'avons dans ce tutoriel], nous allons ensuite saisir le programme suivant pour contrôler la position du servo moteur à partir de la position du potentiomètre.
 
Raccordez le Servo moteur sur X2 comme [MicroPython-Hack-servo nous l'avons dans ce tutoriel], nous allons ensuite saisir le programme suivant pour contrôler la position du servo moteur à partir de la position du potentiomètre.
   −
  <nowiki></nowiki>
+
  <nowiki># Lecture analogique pour contrôler allumer une LED sur base d'un seuil.
 +
# ATTENTION: échantillonnage 12 Bits (valeur de 0 à 4096)
 +
from pyb import Timer, delay
 +
 
 +
adc = pyb.ADC(pyb.Pin.board.X19)    # Créer ADC sur la broche  X19
 +
servo = pyb.Servo(2)                # Servo moteur sur X2
 +
 
 +
# fonction qui permet de passer d'un range de valeur (in_) à une autre
 +
#    (out_) en appliquant une règle de trois.
 +
def arduino_map(x, in_min, in_max, out_min, out_max):
 +
    return int( (x - in_min) * (out_max - out_min) // (in_max - in_min) + out_min )
 +
 
 +
while True:
 +
# Lectures analogiques
 +
    ivalue = adc.read()
 +
   
 +
    # Transformer une valeur analogique (0 à 4096) en angle entre -90° à +90°
 +
    angle = arduino_map( ivalue, 0, 4096, -90, 90 )
 +
   
 +
    # Activer la sortie si plus grand que seuil
 +
    servo.angle( angle )
 +
   
 +
    delay( 100 )</nowiki>
    
Chargez sur votre PyBoard dans le fichier {{fname|main.py}}, éjectez le lecteur de la Pyboard puis appuyez sur le bouton "Reset" de votre carte.
 
Chargez sur votre PyBoard dans le fichier {{fname|main.py}}, éjectez le lecteur de la Pyboard puis appuyez sur le bouton "Reset" de votre carte.
29 837

modifications

Menu de navigation