(→Autres expériences) |
|||
(16 versions intermédiaires masquées) | |||
Ligne 1 : | Ligne 1 : | ||
{{avertissement}} | {{avertissement}} | ||
- | {{vidéo|numérovidéo = <videoflash type="mediaspip" num = 1>http://mediaspip.ptitdeb.infini.fr/IMG/ | + | {{vidéo|numérovidéo = <videoflash type="mediaspip" num = 1>http://mediaspip.ptitdeb.infini.fr/IMG/mp4/deber.mp4|400|300</videoflash>}} |
=='''Présentation de l'expérience'''== | =='''Présentation de l'expérience'''== | ||
- | + | L’expérience consiste à allumer l'afficheur 7 segments. | |
+ | |||
+ | Nous allons afficher les chiffres de 0 à 9 un par un par l'intermédiaire de la carte Arduino Uno. | ||
== '''Matériel''' == | == '''Matériel''' == | ||
- | * [[Image:Afficheur_7_segments.jpg|50px]] Un | + | * [[Image:Afficheur_7_segments.jpg|50px]] Un [[afficheur 7 segments]] |
- | * [[Image:Arduino_Diecimila.jpg|50px]]La carte Arduino Uno | + | * [[Image:Arduino_Diecimila.jpg|50px]] La carte [[Arduino]] Uno |
- | * [[Image:Arduino_Uno_logo.png|50px]]Le logiciel Arduino | + | * [[Image:Arduino_Uno_logo.png|50px]] Le logiciel Arduino |
- | * [[Image:Fils1.jpg|50px]] | + | * [[Image:Fils1.jpg|50px]] Du [[fil électrique]] (noir, rouge…) |
- | * [[Image:Plaque2.jpg|50px]]Une plaque labdec | + | * [[Image:Plaque2.jpg|50px]] Une plaque labdec ou [[Breadboard]] |
- | * [[Image:Résistance.jpg|50px]]Une résistance de 150 Ohm | + | * [[Image:Résistance.jpg|50px]] Une [[résistance]] de 150 Ohm |
- | * [[Image:Ordi.jpg|50px]]Un ordinateur pour programmer | + | * [[Image:Ordi.jpg|50px]] Un [[ordinateur]] pour programmer |
== '''L'expérience''' == | == '''L'expérience''' == | ||
Ligne 19 : | Ligne 21 : | ||
==='''La manipulation'''=== | ==='''La manipulation'''=== | ||
- | + | <u>La manipulation</u> | |
- | + | * Télécharger et installer le logiciel Arduino. | |
- | + | * Placer l'afficheur 7 segments sur la plaque. | |
- | + | * Brancher les deux fils noirs dans la masse GND. | |
- | + | * Brancher les 8 fils dans les pins (de 2 à 8) de l'Arduino et les lier avec la plaque Adec. | |
- | + | * Brancher la résistance dans la plaque. | |
- | + | * Préparer le code du fonctionnement de la carte Arduino. | |
- | + | * Compiler le code et le charger vers la carte. | |
- | + | ||
- | + | ||
[[Fichier:Conception.png]] | [[Fichier:Conception.png]] | ||
- | + | <u>Que voit-on ?</u> | |
- | + | À l’exécution du programme, l'afficheur 7 segments affiche les chiffres de 0 à 9 successivement. | |
+ | |||
+ | <u>Code</u> | ||
+ | |||
+ | <pre> | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | void setup() { | ||
+ | // initialiser le digital pin comme une sortie | ||
+ | |||
+ | pinMode(led1, OUTPUT); | ||
+ | pinMode(led2, OUTPUT); | ||
+ | pinMode(led3, OUTPUT); | ||
+ | pinMode(led4, OUTPUT); | ||
+ | pinMode(led5, OUTPUT); | ||
+ | pinMode(led6, OUTPUT); | ||
+ | pinMode(led7, OUTPUT); | ||
+ | pinMode(led8, OUTPUT); | ||
+ | } | ||
+ | |||
+ | void loop() { | ||
+ | |||
+ | |||
+ | |||
+ | //Compteur de 0 à 9 | ||
+ | |||
+ | |||
+ | //************ 0 ************* | ||
+ | digitalWrite(led1, HIGH); // fixe la led comme allumée | ||
+ | digitalWrite(led2, HIGH); // fixe la led comme allumée | ||
+ | digitalWrite(led3, HIGH); // fixe la led comme allumée | ||
+ | digitalWrite(led4, LOW); // fixe la led comme éteinte | ||
+ | digitalWrite(led5, HIGH); // fixe la led comme allumée | ||
+ | digitalWrite(led6, HIGH); // fixe la led comme allumée | ||
+ | digitalWrite(led7, HIGH); // fixe la led comme allumée | ||
+ | digitalWrite(led8, HIGH); // fixe la led comme allumée | ||
+ | |||
+ | delay(1000); // attendre 1 sec | ||
+ | |||
+ | //************ 1 ************* | ||
+ | digitalWrite(led1, HIGH); // fixe la led comme éteinte | ||
+ | digitalWrite(led2, LOW); // fixe la led comme éteinte | ||
+ | digitalWrite(led3, LOW); // fixe la led comme éteinte | ||
+ | digitalWrite(led4, LOW); // fixe la led comme éteinte | ||
+ | digitalWrite(led5, LOW); // fixe la led comme éteinte | ||
+ | digitalWrite(led6, LOW); // fixe la led comme éteinte | ||
+ | digitalWrite(led7, HIGH); // fixe la led comme allumé | ||
+ | digitalWrite(led8, LOW); // fixe la led comme éteinte | ||
+ | |||
+ | delay(1000); // attendre 1 sec | ||
+ | //************ 2 ************* | ||
+ | digitalWrite(led1, HIGH); // fixe la led comme allumée | ||
+ | digitalWrite(led2, HIGH); // fixe la led comme allumée | ||
+ | digitalWrite(led3, LOW); // fixe la led comme éteinte | ||
+ | digitalWrite(led4, HIGH); // fixe la led comme allumé | ||
+ | digitalWrite(led5, HIGH); // fixe la led comme allumé | ||
+ | digitalWrite(led6, HIGH); // fixe la led comme allumé | ||
+ | digitalWrite(led7, LOW); // fixe la led comme éteinte | ||
+ | digitalWrite(led8, LOW); // fixe la led comme éteinte | ||
+ | |||
+ | delay(1000); // attendre 1 sec | ||
+ | //************ 3 ************* | ||
+ | digitalWrite(led1, HIGH); // fixe la led comme allumée | ||
+ | digitalWrite(led2, HIGH); // fixe la led comme allumée | ||
+ | digitalWrite(led3, LOW); // fixe la led comme éteinte | ||
+ | digitalWrite(led4, HIGH); // fixe la led comme allumé | ||
+ | digitalWrite(led5, LOW); // fixe la led comme éteinte | ||
+ | digitalWrite(led6, HIGH); // fixe la led comme allumé | ||
+ | digitalWrite(led7, HIGH); // fixe la led comme allumé | ||
+ | digitalWrite(led8, LOW); // fixe la led comme éteinte | ||
+ | |||
+ | delay(1000); // attendre 1 sec | ||
+ | //***** 4 ************* | ||
+ | digitalWrite(led1, HIGH); // fixe la led comme allumée | ||
+ | digitalWrite(led2, LOW); // fixe la led comme éteinte | ||
+ | digitalWrite(led3, HIGH); // fixe la led comme allumé | ||
+ | digitalWrite(led4, HIGH); // fixe la led comme allumé | ||
+ | digitalWrite(led5, LOW); // fixe la led comme éteinte | ||
+ | digitalWrite(led6, LOW); // fixe la led comme éteinte | ||
+ | digitalWrite(led7, HIGH); // fixe la led comme allumé | ||
+ | digitalWrite(led8, LOW); // fixe la led comme éteinte | ||
+ | |||
+ | delay(1000); | ||
+ | //************ 5 ************* | ||
+ | digitalWrite(led1, LOW); // fixe la led comme éteinte | ||
+ | |||
+ | digitalWrite(led2, HIGH); // fixe la led comme allumée | ||
+ | digitalWrite(led3, HIGH); // fixe la led comme éteinte | ||
+ | digitalWrite(led4, HIGH); // fixe la led comme éteinte | ||
+ | digitalWrite(led5, LOW); // fixe la led comme éteinte | ||
+ | digitalWrite(led6, HIGH); // fixe la led comme allumée | ||
+ | digitalWrite(led7, HIGH); // fixe la led comme allumée | ||
+ | digitalWrite(led8, LOW); // fixe la led comme éteinte | ||
+ | |||
+ | delay(1000); // attendre 1 sec | ||
+ | //************ 6 ************* | ||
+ | digitalWrite(led1, LOW); // fixe la led comme éteinte | ||
+ | digitalWrite(led2, HIGH); // fixe la led comme allumée | ||
+ | digitalWrite(led3, HIGH); // fixe la led comme allumée | ||
+ | digitalWrite(led4, HIGH); // fixe la led comme allumée | ||
+ | digitalWrite(led5, HIGH); // fixe la led comme allumée | ||
+ | digitalWrite(led6, HIGH); // fixe la led comme allumée | ||
+ | digitalWrite(led7, HIGH); // fixe la led comme allumée | ||
+ | digitalWrite(led8, LOW); // fixe la led comme éteinte | ||
+ | |||
+ | delay(1000); // attendre 1 sec | ||
+ | //************ 7 ************* | ||
+ | digitalWrite(led1, HIGH); // fixe la led comme allumée | ||
+ | digitalWrite(led2, HIGH); // fixe la led comme allumée | ||
+ | digitalWrite(led3, LOW); // fixe la led comme éteinte | ||
+ | digitalWrite(led4,LOW); // fixe la led comme éteinte | ||
+ | digitalWrite(led5,LOW); // fixe la led comme éteinte | ||
+ | digitalWrite(led6, LOW); // fixe la led comme éteinte | ||
+ | digitalWrite(led7, HIGH); // fixe la led comme allumée | ||
+ | digitalWrite(led8, LOW); // fixe la led comme éteinte | ||
+ | |||
+ | delay(1000); // attendre 1 sec | ||
+ | //************ 8 ************* | ||
+ | digitalWrite(led1, HIGH); // fixe la led comme allumée | ||
+ | digitalWrite(led2, HIGH); // fixe la led comme allumée | ||
+ | digitalWrite(led3, HIGH); // fixe la led comme allumée | ||
+ | digitalWrite(led4, HIGH); // fixe la led comme allumée | ||
+ | digitalWrite(led5, HIGH); // fixe la led comme allumée | ||
+ | digitalWrite(led6, HIGH); // fixe la led comme allumée | ||
+ | digitalWrite(led7, HIGH); // fixe la led comme allumée | ||
+ | digitalWrite(led8, LOW); // fixe la led comme éteinte | ||
+ | |||
+ | delay(1000); // attendre 1 sec | ||
+ | //************ 9 ************* | ||
+ | digitalWrite(led1, HIGH); // fixe la led comme allumée | ||
+ | digitalWrite(led2, HIGH); // fixe la led comme allumée | ||
+ | digitalWrite(led3, HIGH); // fixe la led comme allumée | ||
+ | digitalWrite(led4, HIGH); // fixe la led comme allumée | ||
+ | digitalWrite(led5, LOW); // fixe la led comme éteinte | ||
+ | digitalWrite(led6, HIGH); // fixe la led comme allumée | ||
+ | digitalWrite(led7, HIGH); // fixe la led comme allumée | ||
+ | digitalWrite(led8, LOW); // fixe la led comme éteinte | ||
+ | |||
+ | delay(1000); // attendre 1 sec | ||
+ | |||
+ | } | ||
+ | |||
+ | |||
+ | |||
+ | </pre> | ||
== '''Explications''' == | == '''Explications''' == | ||
==='''De manière simple'''=== | ==='''De manière simple'''=== | ||
- | On a demandé à l'ordinateur de réaliser un compteur via la carte Arduino . | + | |
- | Pour cela on a écrit un code qui gère la carte Arduino afin d'afficher les nombres de 0 à | + | On a demandé à l'ordinateur de réaliser un compteur via la carte Arduino. |
+ | Pour cela, on a écrit un code qui gère la carte Arduino afin d'afficher les nombres de 0 à 9 successivement. | ||
=== '''Questions sans réponses''' === | === '''Questions sans réponses''' === | ||
- | + | ||
+ | Peut-on afficher des chiffres en tapant sur le clavier, sans l'exécution pas à pas de l'afficheur 7 segments ? | ||
=== '''Allons plus loin dans l'explication''' === | === '''Allons plus loin dans l'explication''' === | ||
- | + | ||
- | + | On a codé l'Arduino à l'aide du langage C afin qu'il puisse afficher les chiffres de 0 à 9. Le code source contient des fonctions « digitalWrite » qui permettent d'allumer des Leds précises selon des paramètres en entrée. | |
- | La fonction ' digitalWrite ' envoie à chaque exécution le code approprié à chaque | + | La fonction ' digitalWrite ' envoie à chaque exécution le code approprié à chaque led précise pour l'allumer. |
- | + | ||
== '''Liens avec d'autres expériences''' == | == '''Liens avec d'autres expériences''' == | ||
Ligne 56 : | Ligne 204 : | ||
==='''Expériences sur Wikidébrouillard'''=== | ==='''Expériences sur Wikidébrouillard'''=== | ||
D'autres expériences utilisant l'Arduino sont disponible dans ce wiki. Vous pouvez les retrouver ici : | D'autres expériences utilisant l'Arduino sont disponible dans ce wiki. Vous pouvez les retrouver ici : | ||
- | http://www.wikidebrouillard.org/index.php/Cat%C3%A9gorie:Arduino | + | [http://www.wikidebrouillard.org/index.php/Cat%C3%A9gorie:Arduino| Catégorie : Arduino]. |
==='''Autres expériences'''=== | ==='''Autres expériences'''=== | ||
- | Vous pouvez retrouver une multitude d'expériences sur l'arduino | + | |
- | http://arduino.cc/forum/index.php/topic,67634.0.html | + | Vous pouvez retrouver une multitude d'expériences sur l'arduino sur [http://arduino.cc/forum/index.php/topic,67634.0.html| Arduino forum]. |
== '''Applications : liens avec le quotidien''' == | == '''Applications : liens avec le quotidien''' == | ||
- | |||
- | + | L’intérêt de ce projet est de savoir comment les compteurs, les horloges et les chronomètres sont réalisés. | |
- | + | ||
- | [[Catégorie: | + | [[Catégorie:Arduino]] |
- | + | ||
- | + | ||
[[Catégorie:Contenus à développer]] | [[Catégorie:Contenus à développer]] | ||
[[Catégorie:Fiche à Valider]] | [[Catégorie:Fiche à Valider]] | ||
[[Catégorie:expérience]] | [[Catégorie:expérience]] | ||
+ | [[Catégorie:électrokids]] |
Sommaire |
L’expérience consiste à allumer l'afficheur 7 segments.
Nous allons afficher les chiffres de 0 à 9 un par un par l'intermédiaire de la carte Arduino Uno.
La manipulation
Que voit-on ?
À l’exécution du programme, l'afficheur 7 segments affiche les chiffres de 0 à 9 successivement.
Code
void setup() { // initialiser le digital pin comme une sortie pinMode(led1, OUTPUT); pinMode(led2, OUTPUT); pinMode(led3, OUTPUT); pinMode(led4, OUTPUT); pinMode(led5, OUTPUT); pinMode(led6, OUTPUT); pinMode(led7, OUTPUT); pinMode(led8, OUTPUT); } void loop() { //Compteur de 0 à 9 //************ 0 ************* digitalWrite(led1, HIGH); // fixe la led comme allumée digitalWrite(led2, HIGH); // fixe la led comme allumée digitalWrite(led3, HIGH); // fixe la led comme allumée digitalWrite(led4, LOW); // fixe la led comme éteinte digitalWrite(led5, HIGH); // fixe la led comme allumée digitalWrite(led6, HIGH); // fixe la led comme allumée digitalWrite(led7, HIGH); // fixe la led comme allumée digitalWrite(led8, HIGH); // fixe la led comme allumée delay(1000); // attendre 1 sec //************ 1 ************* digitalWrite(led1, HIGH); // fixe la led comme éteinte digitalWrite(led2, LOW); // fixe la led comme éteinte digitalWrite(led3, LOW); // fixe la led comme éteinte digitalWrite(led4, LOW); // fixe la led comme éteinte digitalWrite(led5, LOW); // fixe la led comme éteinte digitalWrite(led6, LOW); // fixe la led comme éteinte digitalWrite(led7, HIGH); // fixe la led comme allumé digitalWrite(led8, LOW); // fixe la led comme éteinte delay(1000); // attendre 1 sec //************ 2 ************* digitalWrite(led1, HIGH); // fixe la led comme allumée digitalWrite(led2, HIGH); // fixe la led comme allumée digitalWrite(led3, LOW); // fixe la led comme éteinte digitalWrite(led4, HIGH); // fixe la led comme allumé digitalWrite(led5, HIGH); // fixe la led comme allumé digitalWrite(led6, HIGH); // fixe la led comme allumé digitalWrite(led7, LOW); // fixe la led comme éteinte digitalWrite(led8, LOW); // fixe la led comme éteinte delay(1000); // attendre 1 sec //************ 3 ************* digitalWrite(led1, HIGH); // fixe la led comme allumée digitalWrite(led2, HIGH); // fixe la led comme allumée digitalWrite(led3, LOW); // fixe la led comme éteinte digitalWrite(led4, HIGH); // fixe la led comme allumé digitalWrite(led5, LOW); // fixe la led comme éteinte digitalWrite(led6, HIGH); // fixe la led comme allumé digitalWrite(led7, HIGH); // fixe la led comme allumé digitalWrite(led8, LOW); // fixe la led comme éteinte delay(1000); // attendre 1 sec //***** 4 ************* digitalWrite(led1, HIGH); // fixe la led comme allumée digitalWrite(led2, LOW); // fixe la led comme éteinte digitalWrite(led3, HIGH); // fixe la led comme allumé digitalWrite(led4, HIGH); // fixe la led comme allumé digitalWrite(led5, LOW); // fixe la led comme éteinte digitalWrite(led6, LOW); // fixe la led comme éteinte digitalWrite(led7, HIGH); // fixe la led comme allumé digitalWrite(led8, LOW); // fixe la led comme éteinte delay(1000); //************ 5 ************* digitalWrite(led1, LOW); // fixe la led comme éteinte digitalWrite(led2, HIGH); // fixe la led comme allumée digitalWrite(led3, HIGH); // fixe la led comme éteinte digitalWrite(led4, HIGH); // fixe la led comme éteinte digitalWrite(led5, LOW); // fixe la led comme éteinte digitalWrite(led6, HIGH); // fixe la led comme allumée digitalWrite(led7, HIGH); // fixe la led comme allumée digitalWrite(led8, LOW); // fixe la led comme éteinte delay(1000); // attendre 1 sec //************ 6 ************* digitalWrite(led1, LOW); // fixe la led comme éteinte digitalWrite(led2, HIGH); // fixe la led comme allumée digitalWrite(led3, HIGH); // fixe la led comme allumée digitalWrite(led4, HIGH); // fixe la led comme allumée digitalWrite(led5, HIGH); // fixe la led comme allumée digitalWrite(led6, HIGH); // fixe la led comme allumée digitalWrite(led7, HIGH); // fixe la led comme allumée digitalWrite(led8, LOW); // fixe la led comme éteinte delay(1000); // attendre 1 sec //************ 7 ************* digitalWrite(led1, HIGH); // fixe la led comme allumée digitalWrite(led2, HIGH); // fixe la led comme allumée digitalWrite(led3, LOW); // fixe la led comme éteinte digitalWrite(led4,LOW); // fixe la led comme éteinte digitalWrite(led5,LOW); // fixe la led comme éteinte digitalWrite(led6, LOW); // fixe la led comme éteinte digitalWrite(led7, HIGH); // fixe la led comme allumée digitalWrite(led8, LOW); // fixe la led comme éteinte delay(1000); // attendre 1 sec //************ 8 ************* digitalWrite(led1, HIGH); // fixe la led comme allumée digitalWrite(led2, HIGH); // fixe la led comme allumée digitalWrite(led3, HIGH); // fixe la led comme allumée digitalWrite(led4, HIGH); // fixe la led comme allumée digitalWrite(led5, HIGH); // fixe la led comme allumée digitalWrite(led6, HIGH); // fixe la led comme allumée digitalWrite(led7, HIGH); // fixe la led comme allumée digitalWrite(led8, LOW); // fixe la led comme éteinte delay(1000); // attendre 1 sec //************ 9 ************* digitalWrite(led1, HIGH); // fixe la led comme allumée digitalWrite(led2, HIGH); // fixe la led comme allumée digitalWrite(led3, HIGH); // fixe la led comme allumée digitalWrite(led4, HIGH); // fixe la led comme allumée digitalWrite(led5, LOW); // fixe la led comme éteinte digitalWrite(led6, HIGH); // fixe la led comme allumée digitalWrite(led7, HIGH); // fixe la led comme allumée digitalWrite(led8, LOW); // fixe la led comme éteinte delay(1000); // attendre 1 sec }
On a demandé à l'ordinateur de réaliser un compteur via la carte Arduino. Pour cela, on a écrit un code qui gère la carte Arduino afin d'afficher les nombres de 0 à 9 successivement.
Peut-on afficher des chiffres en tapant sur le clavier, sans l'exécution pas à pas de l'afficheur 7 segments ?
On a codé l'Arduino à l'aide du langage C afin qu'il puisse afficher les chiffres de 0 à 9. Le code source contient des fonctions « digitalWrite » qui permettent d'allumer des Leds précises selon des paramètres en entrée. La fonction ' digitalWrite ' envoie à chaque exécution le code approprié à chaque led précise pour l'allumer.
D'autres expériences utilisant l'Arduino sont disponible dans ce wiki. Vous pouvez les retrouver ici : Catégorie : Arduino.
Vous pouvez retrouver une multitude d'expériences sur l'arduino sur Arduino forum.
L’intérêt de ce projet est de savoir comment les compteurs, les horloges et les chronomètres sont réalisés.
© Graphisme : Les Petits Débrouillards Grand Ouest (Patrice Guinche - Jessica Romero) | Développement web : Libre Informatique