Modifications

Sauter à la navigation Sauter à la recherche
aucun résumé de modification
Ligne 1 : Ligne 1 :  
{{RASP-SENSE-HAT-ASTRO-PI-NAV}}
 
{{RASP-SENSE-HAT-ASTRO-PI-NAV}}
  −
{{traduction}}
      
== Le joystick ==
 
== Le joystick ==
Ligne 59 : Ligne 57 :  
Voyons comment un joystick fonctionne, nous pouvons utiliser la matrice LED pour nous aider à le comprendre.  
 
Voyons comment un joystick fonctionne, nous pouvons utiliser la matrice LED pour nous aider à le comprendre.  
   −
Nous allons utiliser un point blanc (un pixel) et utiliser le joystick pour le déplacer sur la matrice 8x8. Pour réaliser ce tâche, nous pouvons utiliser un événement qui détecte la pression d'une touche. Par exemple, si la touche BAS (''DOWN'' en anglais) est pressée, nous allons déplacer le point allumé vers le bas.  
+
Nous allons utiliser un point blanc (un pixel) et utiliser le joystick pour le déplacer sur la matrice 8x8. Pour réaliser ce tâche, nous pouvons utiliser un événement qui détecte la pression d'une touche. Par exemple, si la touche BAS (''DOWN'' en anglais) est pressée, nous allons déplacer le point allumé vers le bas.<br />A votre avis, comment allons nous gérer cela?  
 
  −
A votre avis, comment allons nous gérer cela?  
  −
 
  −
<nowiki>Lorsqu'un événement touche enfoncée est détecté?
  −
- Eteindre la LED située à la position 'x' et 'y' actuelle
  −
- Si '''DOWN''' (''bas'') est détecté alors ajouter 1 à 'y'
  −
- Si '''UP''' (''haut'') est détecté alors soustraire 1 à 'y'
  −
- Si '''RIGHT''' (''droite'') est détecté alors ajouter 1 à 'x'
  −
- Si '''LEFT''' (''gauche'') est détecté alors soustraire 1 à 'x'
  −
- Allumer la LED sur la nouvelle coordonnée 'x' et 'y' que nous venons de calculer</nowiki>
      +
Lorsqu'un événement touche enfoncée est détecté?
 +
* Eteindre la LED située à la position 'x' et 'y' actuelle
 +
* Si '''DOWN''' (''bas'') est détecté alors ajouter 1 à 'y'
 +
* Si '''UP''' (''haut'') est détecté alors soustraire 1 à 'y'
 +
* Si '''RIGHT''' (''droite'') est détecté alors ajouter 1 à 'x'
 +
* Si '''LEFT''' (''gauche'') est détecté alors soustraire 1 à 'x'
 +
* Allumer la LED sur la nouvelle coordonnée 'x' et 'y' que nous venons de calculer
    
'''1.''' Commençons par ajouter le code prennant en charge la touche vers le bas ('''DOWN'''). Effacez la ligne {{fname|print(event)}} que nous avons utilisé dans la section précédente et insérez le code ci-dessous au même niveau d'indentation:
 
'''1.''' Commençons par ajouter le code prennant en charge la touche vers le bas ('''DOWN'''). Effacez la ligne {{fname|print(event)}} que nous avons utilisé dans la section précédente et insérez le code ci-dessous au même niveau d'indentation:
Ligne 88 : Ligne 83 :  
Signifiant que la valeur pour la position Y doit être comprise entre 0 et 7.
 
Signifiant que la valeur pour la position Y doit être comprise entre 0 et 7.
   −
{{traduction}}
+
'''3.''' Notre valeur {{fname|y}} peut uniquement avoir une valeur entre 0 et 7, sinon nous dépassons les limites de la matrice (hors de l'espace d'affichage)! C'est pour cette raison que l'erreur survient; La HAT Sense ne ''comprend'' pas ces valeurs hors de cette gamme. Notre code se contente d'ajouter la valeur 1 à {{fname|y}} chaque fois que la touche vers le bas (''DOWN'') est pressée, nous devons donc empêcher la valeur de {{fname|y}} d'aller au-delà de 7.
 
  −
'''3.''' Our {{fname|y}} value can only be between 0-7, otherwise it's off the edge of the matrix and into empty space! So that's why the error happens; the Sense HAT doesn't understand values outside this range. Our code just keeps adding 1 to {{fname|y}} every time the DOWN key is pressed, so we need to stop {{fname|y}} going above 7.
     −
We can achieve this by adding the syntax {{fname|and y < 7}} (and {{fname|y}} is less than 7) to the key direction test:
+
Nous pouvons facilement atteindre ce but en modifiant la syntaxe {{fname|and y < 7}} (signifiant ''et {{fname|y}} plus petit que 7'') dans le test des touches de direction:
    
  <nowiki>if event.key == K_DOWN and y < 7:
 
  <nowiki>if event.key == K_DOWN and y < 7:
 
     y = y + 1</nowiki>
 
     y = y + 1</nowiki>
   −
'''4.''' Save and run the code again; this time, the code should not allow the point to go beyond the edge of the screen.
+
'''4.''' Sauvez et exécutez votre programme une nouvelle fois; Cette fois, le code ne ne devrait pas laisser le point sortie de l'écran.
   −
'''5.''' Now that this works, you will need to add the other directions for the joystick. Where you have {{fname|1=if event.key == K_DOWN:}} in your code, you can also use:
+
'''5.''' Maintenant que cela fonctionne pour pour une direction du joystick, nous allons faire de même avec les autres directions. A l'endroit où nous avons le code {{fname|1=if event.key == K_DOWN:}}, nous pouvons également utiliser:
 
* {{fname|K_UP}} - Touche vers le haut
 
* {{fname|K_UP}} - Touche vers le haut
 
* {{fname|K_DOWN}} - Touche vers le bas
 
* {{fname|K_DOWN}} - Touche vers le bas
Ligne 106 : Ligne 99 :  
* {{fname|K_RETURN}} - Touche "''retour clavier''" ou "''entrée''".
 
* {{fname|K_RETURN}} - Touche "''retour clavier''" ou "''entrée''".
   −
'''6.''' We can add a section for each direction to complete your code:
+
'''6.''' Nous pouvons ajouter une section pour chaque direction à tester... et compléter notre code:
    
  <nowiki>import pygame
 
  <nowiki>import pygame
Ligne 128 : Ligne 121 :  
     for event in pygame.event.get():
 
     for event in pygame.event.get():
 
         if event.type == KEYDOWN:
 
         if event.type == KEYDOWN:
             sense.set_pixel(x, y, 0, 0, 0)  # Black 0,0,0 means OFF
+
             sense.set_pixel(x, y, 0, 0, 0)  # Noir 0,0,0 - signifiant éteint
    
             if event.key == K_DOWN and y < 7:
 
             if event.key == K_DOWN and y < 7:
Ligne 144 : Ligne 137 :  
             print("BYE")</nowiki>
 
             print("BYE")</nowiki>
   −
'''7.''' When you run your code, you should now be able to move the pixel point anywhere on the matrix.
+
'''7.''' Lorsque vous exécutez votre code, vous devriez être capable de déplacer le pixel partout sur la matrice sans jamais en sortir.
    
{{RASP-SENSE-HAT-ASTRO-PI-TRAILER}}
 
{{RASP-SENSE-HAT-ASTRO-PI-TRAILER}}
29 923

modifications

Menu de navigation