Modifications

Sauter à la navigation Sauter à la recherche
Ligne 140 : Ligne 140 :  
* La LED yaw (''embardée'') pourrait se déplacer le long des bordures
 
* La LED yaw (''embardée'') pourrait se déplacer le long des bordures
   −
'''2.''' Voici une astuce intelligente que vous pouvez réaliser. La table ci-dessous affiche le numéro des LEDs (numérotation séquentielle) en lignes horizontale.
+
'''2.''' Voici une astuce intelligente que vous pouvez réaliser. La table ci-dessous affiche le numéro des LEDs (numérotation séquentielle) organisées en lignes horizontale.
    
[[Fichier:RASP-SENSE-HAT-ASTRO-PI-Mouvement-20.jpg]]
 
[[Fichier:RASP-SENSE-HAT-ASTRO-PI-Mouvement-20.jpg]]
   −
For any of those numbers you can convert them into their X Y coordinate using the code below.
+
Pour chacun de ces numéros, il est possible des les convertir en coordonnées X Y en utilisant le code ci-dessous.
    
  <nowiki>y = number // 8
 
  <nowiki>y = number // 8
 
x = number % 8</nowiki>
 
x = number % 8</nowiki>
   −
For the {{fname|y}} value you floor divide {{fname|//}} the number by 8. This is integer division and ignores the remainder. Then for the {{fname|x}} value you do the modulus {{fname|%}} of 8 which gives you '''only''' the remainder.
+
Pour la valeur {{fname|y}} vous pouvez utiliser une division entière {{fname|//}} par le nombre 8. Dans division entière, la valeur décimale (et donc le "reste de la division") est simplement ignoré. Ensuite, la valeur de {{fname|x}} est le module {{fname|%}} par 8, ce qui donne '''uniquement''' le reste de la division par 8.
   −
For example (using the number 60 which is on the bottom row):
+
Voici un exemple basé sur le point/pixel 60 se trouvant sur la ligne du bas:
    
  <nowiki>60 // 8 = 7
 
  <nowiki>60 // 8 = 7
 
60 % 8 = 4</nowiki>
 
60 % 8 = 4</nowiki>
   −
'''3.''' Try this code:
+
Notez de '''7'' * 8 + '''4''' donne bien '''60''' :-)
 +
 
 +
'''3.''' Essayez le code suivant:
    
  <nowiki>number = 60
 
  <nowiki>number = 60
Ligne 165 : Ligne 167 :  
sense.set_pixel(x, y, 255, 255, 255)</nowiki>
 
sense.set_pixel(x, y, 255, 255, 255)</nowiki>
   −
'''4.''' The clever trick is to make a list containing the LED numbers for the path you want it to move back and forth through. So say you want to make an LED chase around the edge you would read the numbers accross the top of the table, down the right hand side, backwards along to bottom and up the left side. So it would be:
+
'''4.''' La chose vraiment intelligente dans cet astuce est de réaliser une liste contenant les numéros de LEDs correspondantes à la directions souhaitée. Il suffira alors de se déplacer d'avant en arrière dans cette liste en fonction de la valeur de l'axe.
 +
 
 +
Disons maintenant que nous voulons créer une suite de LEDs à allumer le long des bords de la matrice. Nous allons construire notre liste sur la ligne du haut, puis descende le long du coté droit, aller de gauche à droite sur la ligne du bas et finalement remonter le coté gauche de la matrice.  
 +
 
 +
Cela donnera la liste suivante:
    
  <nowiki>edge = [0, 1, 2, 3, 4, 5, 6, 7, 15, 23, 31, 39, 47, 55, 63, 62, 61, 60, 59, 58, 57, 56, 48, 40, 32, 24, 16, 8]</nowiki>
 
  <nowiki>edge = [0, 1, 2, 3, 4, 5, 6, 7, 15, 23, 31, 39, 47, 55, 63, 62, 61, 60, 59, 58, 57, 56, 48, 40, 32, 24, 16, 8]</nowiki>
   −
We can then find the length of the list using the {{fname|len}} function:
+
En anglais, le mot ''edge'' signifie "bordure".
 +
 
 +
Nous pouvons alors trouver la longueur de cette liste en utilisant la fonction {{fname|len}}:
    
  <nowiki>length = len(edge)</nowiki>
 
  <nowiki>length = len(edge)</nowiki>
   −
So the length is 28. If we divide 28 by 360 we have a ratio between, say, the yaw measurement and the positions in our list (how far around the edge we are). We can then get the sequential pixel number out of the list at the calculated position, work out its coordinate and then switch the LED on! Like this:
+
Donc la taille est 28. Si nous division 28 par 360 nous avons un rapport entre , disons, la mesure de "yaw" (embardée) et la position de la LED dans notre liste (la distance a parcourir le long de la bordure). Nous pouvons maintenant maintenant obtenir un numéro de pixel "séquentiel" depuis une liste à une position donnée. De cette valeur nous pouvons obtenir les coordonnées x et Y de la LED et allumer cette LED! Comme ceci:
    
  <nowiki>from sense_hat import SenseHat
 
  <nowiki>from sense_hat import SenseHat
29 917

modifications

Menu de navigation