Modifications

Sauter à la navigation Sauter à la recherche
Ligne 11 : Ligne 11 :     
== Utiliser l'accéléromètre ==
 
== Utiliser l'accéléromètre ==
{{bloc-etroit|text=The pyboard has an accelerometer (a tiny mass on a tiny spring) that can be used to detect the angle of the board and motion. There is a different sensor for each of the x, y, z directions. To get the value of the accelerometer, create a pyb.Accel() object and then call the x() method.
+
{{bloc-etroit|text=La carte PyBoard dispose d'un accéléromètre qui peut être utilisé pour détecter l'angle de la carte (par rapport au centre de la terre) ou les mouvements de la carte. L'accéléromètre contient différents senseurs pour chaque axes/directions x, y, z. Il faut créer un objet pyb.Accel() pour obtenir les valeurs produites par l'accéléromètre, en appelant la méthode x() vous obtiendrez alors la valeur sur l'axe X.
    
  <nowiki>>>> accel = pyb.Accel()
 
  <nowiki>>>> accel = pyb.Accel()
Ligne 17 : Ligne 17 :  
7</nowiki>
 
7</nowiki>
   −
This returns a signed integer with a value between around -30 and 30. Note that the measurement is very noisy, this means that even if you keep the board perfectly still there will be some variation in the number that you measure. Because of this, you shouldn’t use the exact value of the x() method but see if it is in a certain range.
+
Cela retourne un entier signé avec une valeur entre -30 et 30. Notez que les mesures sont très sensibles aux "bruits", cela signifie que même si la carte reste parfaitement stable, il y a des variations entre les mesures successives. A cause de cela, vous ne devriez pas utiliser la valeur exacte retournée par le senseur mais plutôt vous assurer qu'elle se trouve dans une certaine gamme de valeur.
   −
We will start by using the accelerometer to turn on a light if it is not flat.
+
Nous allons commencer par utiliser l'accéléromètre pour allumer une lampe si la carte est à plat.
    
  <nowiki>accel = pyb.Accel()
 
  <nowiki>accel = pyb.Accel()
 
light = pyb.LED(3)
 
light = pyb.LED(3)
SENSITIVITY = 3
+
SENSITIVITY = 3 # sensibilité
    
while True:
 
while True:
 
     x = accel.x()
 
     x = accel.x()
 
     if abs(x) > SENSITIVITY:
 
     if abs(x) > SENSITIVITY:
         light.on()
+
         light.on() # allumer
 
     else:
 
     else:
         light.off()
+
         light.off() # éteindre
    
     pyb.delay(100)</nowiki>
 
     pyb.delay(100)</nowiki>
   −
We create Accel and LED objects, then get the value of the x direction of the accelerometer. If the magnitude of x is bigger than a certain value {{fname|SENSITIVITY}}, then the LED turns on, otherwise it turns off. The loop has a small {{fname|pyb.delay()}} otherwise the LED flashes annoyingly when the value of x is close to {{fname|SENSITIVITY}}. Try running this on the pyboard and tilt the board left and right to make the LED turn on and off.
+
Nous créons des objets LED et Accel, puis nous obtenons la valeur de l'axe X. Si la magnitude de x est plus grand qu'une certaine valeur {{fname|SENSITIVITY}} alors la LED s'allume sinon elle s’éteint.  
 +
La boucle introduit un petit délai avec {{fname|pyb.delay()}} de 1/10 seconde pour éviter à LED de flasher ennuyeusement lorsque la valeur de x est proche de la valeur de {{fname|SENSITIVITY}}. Essayez ce code sur votre PyBoard puis basculez votre carte de gauche à droite pour voir la LED s'allumer (et s'éteindre).
    
}}
 
}}
 
=== Exercice ===
 
=== Exercice ===
Change the above script so that the blue LED gets brighter the more you tilt the pyboard. HINT: You will need to rescale the values, intensity goes from 0-255.
+
Changez le script ci-dessus pour rendre la LED plus brillante lorsque vous basculez la carte.
 +
 
 +
{{underline|truc & astuce:}} vous aurez besoin de changer "''l'échelle de la valeur''" lue sur l'axe pour qu'elle correspondre à la gamme 0-225 accepté par la fonction intensity() de la LED(4).
    
== Réaliser un Niveau ==
 
== Réaliser un Niveau ==
29 837

modifications

Menu de navigation