issue117:python
Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
issue117:python [2017/02/07 08:30] – d52fr | issue117:python [2017/02/08 15:04] (Version actuelle) – andre_domenech | ||
---|---|---|---|
Ligne 8: | Ligne 8: | ||
Let’s get started by laying out the parts list and looking at the hardware layout.** | Let’s get started by laying out the parts list and looking at the hardware layout.** | ||
- | Ravi de vous retrouver, ou, pour les nouveaux arrivants, bienvenue. Ce mois-ci nous rélaiserons | + | Ravi de vous retrouver, ou, pour les nouveaux arrivants, bienvenue. Ce mois-ci, nous réaliserons |
- | • Deux LED clignotantes | + | • deux LED clignotantes, |
- | • Les lumières | + | • les lumières |
- | • Un barre-graphe | + | • un barre-graphe. |
- | Le projet d' | + | Le projet d' |
Commençons par détailler la liste de composants et voir la disposition du matériel. | Commençons par détailler la liste de composants et voir la disposition du matériel. | ||
Ligne 30: | Ligne 30: | ||
Pour les projets d' | Pour les projets d' | ||
- | • Un Arduino Uno ou Mega | + | • un Arduino Uno ou Mega, |
- | • 9 LED (de préférence, | + | • 9 LED (de préférence, |
- | • 9 résistances de 220 Ω | + | • 9 résistances de 220 Ω, |
- | • Un potentiomètre de 10 kΩ | + | • un potentiomètre de 10 kΩ, |
- | • Une plaque d' | + | • une plaque d' |
- | • Des cavaliers | + | • des cavaliers. |
**The Hardware Layout | **The Hardware Layout | ||
Ligne 47: | Ligne 47: | ||
La disposition du matériel | La disposition du matériel | ||
- | À droite, vous trouvez la disposition du matériel fait avec Fritzing (j'ai inclus aussi le schéma de câblage, présenté en bas à droite, pour ceux qui aiment voir ce genre d' | + | À droite, vous trouvez la disposition du matériel fait avec Fritzing |
- | Notez que toutes les longues | + | Notez que toutes les pattes |
Nous parlerons des divers autres composants pendant la présentation de chaque projet. | Nous parlerons des divers autres composants pendant la présentation de chaque projet. | ||
Ligne 57: | Ligne 57: | ||
This first project is really simple in both logic and implementation. The idea is to alternately turn on and off two LEDs. In this case the LEDs are the ones connected to Arduino pins 2 and 3. We’ll use the potentiometer to send a value between 0 and 1023 for the delay through Arduino analogue pin A0. The higher the value the longer the delay. Since a delay value below 30 can cause the LEDs to blink so fast that you can’t tell they are blinking, we will check the value and if it is less than 30, we’ll force it to 30.** | This first project is really simple in both logic and implementation. The idea is to alternately turn on and off two LEDs. In this case the LEDs are the ones connected to Arduino pins 2 and 3. We’ll use the potentiometer to send a value between 0 and 1023 for the delay through Arduino analogue pin A0. The higher the value the longer the delay. Since a delay value below 30 can cause the LEDs to blink so fast that you can’t tell they are blinking, we will check the value and if it is less than 30, we’ll force it to 30.** | ||
- | Projet 1 - deux LED clignotantes | + | Projet 1 - Deux LED clignotantes |
- | Le premier projet est vraiment simple à comprendre | + | Le premier projet est vraiment simple à comprendre |
**The Code | **The Code | ||
Ligne 89: | Ligne 89: | ||
const int analogPin = A0; | const int analogPin = A0; | ||
- | Dans les trois premières lignes, nous établissons | + | Dans les trois premières lignes, nous déclarons |
void setup() { | void setup() { | ||
Ligne 97: | Ligne 97: | ||
} | } | ||
- | Dans la routine setup, nous démarrons le moniteur série pour transmettre à 9600 baud et les deux broches numériques en bornes de sortie. | + | Dans la routine setup, nous démarrons le moniteur série pour transmettre à 9600 bauds et les deux broches numériques en bornes de sortie. |
void loop() { | void loop() { | ||
Ligne 119: | Ligne 119: | ||
See how simple that was?** | See how simple that was?** | ||
- | Maintenant nous lisons, en utilisant l' | + | Maintenant nous lisons |
Serial.println(speedReading); | Serial.println(speedReading); | ||
Ligne 129: | Ligne 129: | ||
} | } | ||
- | Enfin, nous affichons la valeur du potentiomètre sur le moniteur série, allumons la première LED, attendons une durée égale à la valeur du potentiomètre, | + | Enfin, nous affichons la valeur du potentiomètre sur le moniteur série, allumons la première LED, attendons une durée égale à la valeur du potentiomètre, |
- | Voyez-vous | + | Vous voyez comme c'est simple ? |
**Project 2 - Cylon Lights | **Project 2 - Cylon Lights | ||
Ligne 139: | Ligne 139: | ||
We use two simple for loops to switch the LEDs on and off in order, starting with the Arduino pin 2, going up to pin 10, and then back down to pin 2.** | We use two simple for loops to switch the LEDs on and off in order, starting with the Arduino pin 2, going up to pin 10, and then back down to pin 2.** | ||
- | Projet 2 - Les lumières | + | Projet 2 - Les lumières |
- | Dans ce projet, nous allumerons les LED par une variation douce (de 0 à 8 et de 8 à 0), à droite et à gauche, | + | Dans ce projet, nous allumerons les LED par une variation douce (de 0 à 8 et de 8 à 0), à droite et à gauche, |
- | Nous utilisons des simples boucles for pour allumer et éteindre les LED dans l' | + | Nous utilisons des simples boucles for pour allumer et éteindre les LED dans l' |
**The Code | **The Code | ||
Ligne 164: | Ligne 164: | ||
By this time, it should be simple for you to figure it all out.** | By this time, it should be simple for you to figure it all out.** | ||
+ | |||
+ | Le code | ||
+ | |||
+ | const int ledCount = 9; | ||
+ | |||
+ | const int delayTime = 90; | ||
+ | |||
+ | int ledPins[] = {2, | ||
+ | |||
+ | Ici, nous déclarons les diverses variables que nous utiliserons. Les deux premières sont définies comme constantes et la troisième est déclarée comme un tableau qui contient les numéros des picots de l' | ||
+ | |||
+ | Dans la routine setup (ci-dessous), | ||
+ | |||
+ | C'est dans la routine loop (page suivante) que la « magie » s' | ||
+ | |||
+ | Comme vous pouvez le voir (page suivante, en haut à droite), la boucle for en C fonctionne comme ceci... | ||
+ | |||
+ | for (valeur basse du compteur, valeur haute du compteur, quantité à incrémenter ou décrémenter). | ||
+ | | ||
+ | À ce stade, il devrait être simple pour vous de déchiffrer le tout. | ||
**Project 3 - Bar Graph | **Project 3 - Bar Graph | ||
Ligne 170: | Ligne 190: | ||
We will be using all the hardware in this one. The idea it to give a “graphical” representation of the voltage value of the potentiometer using the nine LEDs. The lower the voltage going into the A0 pin, the fewer LEDs are lit. The higher the voltage, more are lit. The Arduino C language gives us a wonderful function called MAP that makes this a breeze. However, it can be a bit confusing at first.** | We will be using all the hardware in this one. The idea it to give a “graphical” representation of the voltage value of the potentiometer using the nine LEDs. The lower the voltage going into the A0 pin, the fewer LEDs are lit. The higher the voltage, more are lit. The Arduino C language gives us a wonderful function called MAP that makes this a breeze. However, it can be a bit confusing at first.** | ||
+ | |||
+ | Projet 3 - Le barre-graphe | ||
+ | |||
+ | Comme je l'ai dit plus haut, ce projet vient du livre Arduino Project Handbook de Mark Geddes. C'est un projet très facile du point de vue du code. | ||
+ | |||
+ | Dans celui-ci, nous utiliserons tout le matériel. L' | ||
**The Map function | **The Map function | ||
Ligne 184: | Ligne 210: | ||
So you can see that anytime that the voltage value into pin A0 is, for example, between 455 and 568, the output will be a 4, and in this case, the first four LEDs will be lit.** | So you can see that anytime that the voltage value into pin A0 is, for example, between 455 and 568, the output will be a 4, and in this case, the first four LEDs will be lit.** | ||
+ | La fonction MAP | ||
+ | |||
+ | La fonction map prend une valeur, l' | ||
+ | |||
+ | int ledLevel = map(sensorReading, | ||
+ | |||
+ | • ledLevel est la sortie convertie, | ||
+ | • sensorReading est le niveau d' | ||
+ | • les valeurs 0 et 1023 sont les limites de la plage des valeurs qui peuvent être attendues sur l' | ||
+ | • Les valeurs 0 et 9 (ledCount) sont les bornes des valeurs qui peuvent être attendues à la sortie. Il y a un peu de magie mathématique à l' | ||
+ | |||
+ | Ainsi, vous pouvez voir que, chaque fois que la tension d' | ||
**The Code | **The Code | ||
Ligne 192: | Ligne 230: | ||
Next time, we will be working with some of the motors that we used when we were learning the RPi, so dust them off and be ready. Until then, have fun!** | Next time, we will be working with some of the motors that we used when we were learning the RPi, so dust them off and be ready. Until then, have fun!** | ||
+ | |||
+ | Le code | ||
+ | |||
+ | Vous avez déjà vu les trois premières lignes et la routine setup, aussi je passe sur leur présentation. | ||
+ | |||
+ | Et voilà. Vous en savez beaucoup maintenant sur le langage de l' | ||
+ | |||
+ | La prochaine fois, nous travaillerons avec les moteurs que nous avons utilisés quand nous apprenions le RPi ; aussi, dépoussiérez-les et soyez prêts. Jusque-là, amusez-vous bien ! |
issue117/python.1486452646.txt.gz · Dernière modification : 2017/02/07 08:30 de d52fr