Modifications

Sauter à la navigation Sauter à la recherche
1 235 octets ajoutés ,  28 septembre 2015 à 07:22
Ligne 436 : Ligne 436 :  
[[Fichier:hat-sense-banner-05.jpg]]
 
[[Fichier:hat-sense-banner-05.jpg]]
   −
Le Sense HAT dispose également de senseurs qui peuvent détecter le mouvement. Il est équipé d'une centrale de mesure intertielle (dite IMU pou ''Inertial Measurement Unit'') sous forme d'une puce qui inclus:
+
Le Sense HAT dispose également de senseurs qui peuvent détecter le mouvement. Il est équipé d'une centrale de mesure inertielle (dite IMU pou ''Inertial Measurement Unit'') sous forme d'une puce qui inclus:
 
* Un gyroscope (pour détecter dans quelle direction la carte est orientée)
 
* Un gyroscope (pour détecter dans quelle direction la carte est orientée)
 
* Un accéléromètre (pour détecter le mouvement)
 
* Un accéléromètre (pour détecter le mouvement)
Ligne 544 : Ligne 544 :       −
'''8.''' Click File -- Save As, give your program a name e.g. {{fname|shake.py}}, then press F5 to run.
+
'''8.''' Cliquer sur "File -- Save As" (''fichier -- Sauver sous'') et donner lui un nom - par exemple {{fname|shake.py}} (en anglais "shake" signifie ''secouer''). Presser '''F5''' pour démarrer le programme.
   −
You might find this is quite sensitive, but you could change the value from 1 to a higher number.
+
Si le programme semble trop sensible, vous pouvez remplacer la valeur 1 par une valeur supérieure.
    
=== Idées ===
 
=== Idées ===
* You could write a program that displays an arrow (or other symbol) on screen; this symbol could be used to point to which way is down. This way the astronauts (in low gravity) always know where the Earth is.
+
* Vous pourriez écrire un programme qui affiche une une flèche Y(ou autre symbole) sur l'écran; le symbol peut etre utilisé pour indiquer où se trouve le sol. Cela permettrait à des astronaute (évoluant en basse gravité) de savoir où se trouve la terre.
* You could improve the dice program from earlier in this activity, so that shaking the Pi triggers the dice roll.
+
* Vous pourriez améliorer le programme "Dé" (voir les activités précédentes) pour ''jeter le Dé'' en secouant le dé.
* You could use the accelerometer to sense small movements; this could form part of a game, alarm system or even an earthquake sensor.
+
* Vous pourriez utiliser l'accéléromètre pour détecter les petits mouvements; Cela pourrait agir comme contrôleur de jeu, système d'alarme, détecteur de tremblement de terre.
    
== Tout mettre ensemble ==
 
== Tout mettre ensemble ==
 
[[Fichier:hat-sense-banner-06.jpg]]
 
[[Fichier:hat-sense-banner-06.jpg]]
   −
{{traduction}}
+
Maintenant que vous avez exploré les possibilités du Sense Hat, vous pourriez les combiner pour créer des projets. Voici un exemple de jeu testant la réaction humaine, jeu qui pourrait être utilisé par des astronautes pour tester leurs réflexes.
   −
Now that you've explored most of the features of the Sense HAT, you could combine them to create a project. Here's an example reaction testing game, which could be used by the astronauts to test their reflexes.
+
Le jeu affiche une flèche sur la matrice LED en choisissant une orientation au hasard. Le joueur doit tourner la carte pour garder la flèche vers le haut. S'il le fait dans le temps imparti, la flèche devient verte et le score augmente; dans le cas contraire, la flèche devient rouge et le jeu est terminé. Le jeu continue d'afficher des flèches dans des directions aléatoires jusqu'au moment où le joueur à perdu, et le jeu va de plus en plus vite.
   −
The game will display an arrow on the LED matrix and select a random orientation for it. The player must rotate the board to match the arrow. If they match it in time the arrow turns green and their score increases; if not their arrow turns red and the game ends, telling them their score. The game keeps showing arrows in new orientations until the player loses, and each turn gets faster.
+
Cette idée combine:
 +
* L'affichage de message et images sur la matrice LED.
 +
* Sélection et détection d'une orientation
 +
* L'utilisation de variables, nombre aléatoire, itération et sélection
   −
This idea combines:
+
Il s'agit d'un programme plus compliqué que les exemples précédents, il est donc préférable d'identifier les étapes clés en les décrivant dans un  '''pseudocode'''.
* Showing messages and images on the LED matrix
  −
* Setting and detecting the orientation
  −
* Use of variables, randomisation, iteration, and selection
     −
As this is more complicated than previous programs it's worth planning out the steps involved in '''pseudocode'''.
+
<nowiki>importer les bibliothèques nécessaires (sense_hat, time, random)
 +
    Créer l'objet ''sense''
   −
<nowiki>import the required libraries (sense_hat, time, random)
+
    Definir les couleurs nécessaire
     create a sense object
+
    Créer 3 flèches différentes: une blanche (''white'' en anglais), verte (''green'' en anglais) et rouge (''red'').
 +
    Initialiser la variable "pause" à 3 (Le temps initial entre chaque round)
 +
     Initialiser les variables "score" et "angle" à 0
 +
    Créer une variable "play" (signifiant "''jeu''") initialisée à True (Elle sera utilisé pour arrêter le jeu)
   −
     Set up the colours needed
+
     Commencer la boucle while pour continuer le jeux tant que "play" est à True.
     Create 3 different arrows (white, green, red)
+
        while play == True
     Set a variable pause to 3 (the initial time between turns)
+
     Choisir un nouvel angle au hasard en utilisant la méthode random.choice()
     Set variables score and angle to 0
+
     Afficher une flèche blanche et attendre le temps indiqué dans pause
     Create a variable called play set to True (this will be used to stop the game later)
+
     Vérifier si l'orientation correspond à la flèche
 +
    ---Si c'est le cas Alors ajouter un point et passer la flèche en vert.
 +
     ---Sinon fixer "play" à False (pour arrêter le jeu) et afficher une flèche rouge
 +
    Diminuer un peu le temps de pause
 +
    Faire une pause avant la prochaine flèche.
   −
     Begin a loop which continues while play == True
+
     Lorsque la boucle while est terminée, afficher un message avec le score</nowiki>
    Set a new random angle (use random.choice() method)
  −
    Show the white arrow and sleep for current pause length
  −
    Check whether orientation matches the arrow
  −
    ---if it does then add a point and turn the arrow green
  −
    ---otherwise set play to False and turn the arrow red
  −
    Shorten the pause duration slightly
  −
    Pause before the next arrow
     −
    When loop is exited, display a message with the score</nowiki>
+
Si vous transformez ce pseudo code en Python, vous obtiendrez un code similaire à celui-ci:
 
  −
If you turned this into Python it could look like this:
      
  <nowiki>from sense_hat import SenseHat
 
  <nowiki>from sense_hat import SenseHat
Ligne 597 : Ligne 596 :  
sense = SenseHat()
 
sense = SenseHat()
   −
# set up the colours (white, green, red, empty)
+
# Initialiser les couleur
   −
w = [150, 150, 150]
+
w = [150, 150, 150] # w = white (blanc)
g = [0, 255, 0]
+
g = [0, 255, 0]     # g = green (vert)
r = [255, 0, 0]
+
r = [255, 0, 0]     # r = red  (rouge)
e = [0, 0, 0]
+
e = [0, 0, 0]       # e = empty (vide... donc noir)
   −
# create images for three different coloured arrows
+
# créer les images de flèche avec 3 couleurs
 +
# différentes
 +
 
 +
# arrow = flèche
    
arrow = [
 
arrow = [
Ligne 616 : Ligne 618 :  
e,e,e,w,w,e,e,e
 
e,e,e,w,w,e,e,e
 
]
 
]
 +
 +
# arrow_red = flèche_rouge
    
arrow_red = [
 
arrow_red = [
Ligne 627 : Ligne 631 :  
e,e,e,r,r,e,e,e
 
e,e,e,r,r,e,e,e
 
]
 
]
 +
 +
# arrow_green = fleche_verte
    
arrow_green = [
 
arrow_green = [
Ligne 644 : Ligne 650 :  
play = True
 
play = True
   −
sense.show_message("Keep the arrow pointing up", scroll_speed=0.05, text_colour=[100,100,100])
+
sense.show_message("Garder la fleche pointee en haut", scroll_speed=0.05, text_colour=[100,100,100])
    
while play:
 
while play:
     last_angle = angle
+
     last_angle = angle # Mémoriser le dernier angle
 
     while angle == last_angle:
 
     while angle == last_angle:
 
         angle = random.choice([0, 90, 180, 270])
 
         angle = random.choice([0, 90, 180, 270])
Ligne 681 : Ligne 687 :  
     time.sleep(0.5)
 
     time.sleep(0.5)
   −
msg = "Your score was %s" % score
+
msg = "Votre score etait de %s" % score
 
sense.show_message(msg, scroll_speed=0.05, text_colour=[100, 100, 100])</nowiki>
 
sense.show_message(msg, scroll_speed=0.05, text_colour=[100, 100, 100])</nowiki>
   −
'''1.''' Click File -- Save As, give your program a name e.g. {{fname|reaction_game.py}}, then press F5 to run.
+
'''1.''' cliquer sur "File -- Save As" (''Fichier -- Sauver sous'') et donner un nom à votre programme - par exemple {{fname|reaction_game.py}} ("game" signifie ''jeu'' et "reaction" ''réaction''). Ensuite, pressez sur '''F5''' pour exécuter le programme.
   −
Here's a video showing it being demonstrated:
+
Voici une vidéo montrant comment fonctionne le programme:
    
[[Fichier:RASP-SENSE-HAT-ASTRO-PI-Debuter-40.jpg|link=https://www.youtube.com/watch?v=k1ZB8jORb74]]<small><br />Vous pouvez également [https://www.youtube.com/watch?v=k1ZB8jORb74 cliquer ici pour visionner la vidéo YouTube]
 
[[Fichier:RASP-SENSE-HAT-ASTRO-PI-Debuter-40.jpg|link=https://www.youtube.com/watch?v=k1ZB8jORb74]]<small><br />Vous pouvez également [https://www.youtube.com/watch?v=k1ZB8jORb74 cliquer ici pour visionner la vidéo YouTube]
    
=== Idées ===
 
=== Idées ===
There are lots of potential developments for this game:
+
Il y a beaucoup de potentiel de développement avec ce jeu:
* Include shake actions as well as orientation.
+
* Jouer sur l'orientation et le secouage.
* Make use of the humidity sensor to detect breath; the player could be prompted to breathe on the board as an action.
+
* Utiliser le senseur de température pour détecter l'haleine... une des actions demandée à l'utilisateur serait de souffler sur le détecteur d'humitidé.
* Include more than 4 directions; players have to hold at 45 degrees.
+
* Utiliser plus que les 4 directions du programme d'exemple; il pourrait être demandé au joueur de placer la carte à 45°C.
 
      
{{RASP-SENSE-HAT-ASTRO-PI-TRAILER}}
 
{{RASP-SENSE-HAT-ASTRO-PI-TRAILER}}
29 917

modifications

Menu de navigation