(Page créée avec « =='''Présentation de l'expérience'''== L’expérience consiste à mesurer la longueur de quelque chose, comme un mur, ou bien la distance qui sépare quelqu'un de l'[[Ardu… ») |
|||
Ligne 1 : | Ligne 1 : | ||
+ | {{avertissement}} | ||
+ | {{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 à mesurer la longueur de quelque chose, comme un mur, ou bien la distance qui sépare quelqu'un de l'[[Arduino]]. | L’expérience consiste à mesurer la longueur de quelque chose, comme un mur, ou bien la distance qui sépare quelqu'un de l'[[Arduino]]. | ||
Ligne 5 : | Ligne 9 : | ||
La distance est affichée sur un [[moniteur]]. | La distance est affichée sur un [[moniteur]]. | ||
Une [[led]] clignote de plus en plus rapidement au fur et à mesure que la l'objet se rapproche. | Une [[led]] clignote de plus en plus rapidement au fur et à mesure que la l'objet se rapproche. | ||
+ | |||
+ | == '''Matériel''' == | ||
+ | * [[Image:Afficheur_7_segments.jpg|50px]] Un [[afficheur 7 segments]] | ||
+ | * [[Image:Arduino_Diecimila.jpg|50px]] La carte [[Arduino]] Uno | ||
+ | * [[Image:Arduino_Uno_logo.png|50px]] Le logiciel Arduino | ||
+ | * [[Image:Fils1.jpg|50px]] Du [[fil électrique]] (noir, rouge…) | ||
+ | * [[Image:Plaque2.jpg|50px]] Une plaque labdec ou [[Breadboard]] | ||
+ | * [[Image:Résistance.jpg|50px]] Une [[résistance]] de 150 Ohm | ||
+ | * [[Image:Ordi.jpg|50px]] Un [[ordinateur]] pour programmer | ||
+ | |||
+ | == '''L'expérience''' == | ||
+ | |||
+ | ==='''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]] | ||
+ | |||
+ | <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''' == | ||
+ | |||
+ | ==='''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 à 9 successivement. | ||
+ | |||
+ | === '''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''' === | ||
+ | |||
+ | 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. | ||
+ | |||
+ | == '''Liens avec d'autres expériences''' == | ||
+ | |||
+ | ==='''Expériences sur Wikidébrouillard'''=== | ||
+ | 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| Catégorie : Arduino]. | ||
+ | |||
+ | ==='''Autres expériences'''=== | ||
+ | |||
+ | 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''' == | ||
+ | |||
+ | 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:Arduino]] | ||
+ | [[Catégorie:Contenus à développer]] | ||
+ | [[Catégorie:Fiche à Valider]] | ||
+ | [[Catégorie:expérience]] | ||
+ | [[Catégorie:électrokids]] |
Sommaire |
L’expérience consiste à mesurer la longueur de quelque chose, comme un mur, ou bien la distance qui sépare quelqu'un de l'Arduino.
La plage à mesurer doit être comprise entre 2 centimètres et 3 mètres au maximum. La distance est affichée sur un moniteur. Une led clignote de plus en plus rapidement au fur et à mesure que la l'objet se rapproche.
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