(→Liste du matériel) |
(→Code) |
||
Ligne 44 : | Ligne 44 : | ||
[[Image:Schema_Phamille.jpg|600px]] | [[Image:Schema_Phamille.jpg|600px]] | ||
===Code=== | ===Code=== | ||
- | + | // Déclaration et remplissage du tableau représentant les broches des LEDs | |
- | + | const int leds[10] = {2,3,4,5,6,7,8,9,10,11}; | |
- | // | + | const int potar = 0; //le potentiomètre sera branché sur la broche analogique 0 |
+ | int tension; //variable stockant la tension mesurée | ||
+ | int speakerPin = 12; //entrée du buzzer | ||
+ | int numTones = 10; //nombres de notes | ||
+ | int tones[10] = { 1915, 1700, 1519, 1432, 1275, 1136, 1014, 956, 930, 900 }; //valeur des notes | ||
- | + | void setup() | |
- | </ | + | { |
+ | int i = 0; | ||
+ | for(i=0; i<10; i++) | ||
+ | { | ||
+ | pinMode(leds[i], OUTPUT); //déclaration de la broche en sortie | ||
+ | digitalWrite(leds[i], HIGH); //mise à l'état haut | ||
+ | } | ||
+ | } | ||
+ | |||
+ | void loop() | ||
+ | { | ||
+ | tension = analogRead(potar); //on récupère la valeur de la tension du potentiomètre | ||
+ | afficher(tension); //et on affiche sur les LEDs cette tension | ||
+ | |||
+ | } | ||
+ | |||
+ | void afficher(int valeur) | ||
+ | { | ||
+ | int i; | ||
+ | for(i=0; i<10; i++) | ||
+ | { | ||
+ | if(valeur < (i*95)) | ||
+ | {digitalWrite(leds[i], LOW); //on allume la LED | ||
+ | tone(speakerPin, tones[i]); | ||
+ | delay(500); | ||
+ | noTone(speakerPin); | ||
+ | } | ||
+ | else | ||
+ | {digitalWrite(leds[i], HIGH); //ou on éteint la LED | ||
+ | } | ||
+ | |||
+ | } | ||
+ | } | ||
==Liens avec d'autres projets Arduino== | ==Liens avec d'autres projets Arduino== |
Projet réalisé par Deschamps Romain aka Findus, Lardeau Sarah aka Papuche, Ravier Elise aka Mini BN et Zanardo Florian aka Pesto : Phamille Enibienne <3
Sommaire |
Dans ce projet, nous allons réaliser un vu-mètre. Je suis presque sûr que ce nom ne vous dit absolument rien du tout ! Or, vous en avez déjà rencontré. Par exemple, sur une chaîne hi-fi ou sur une table de mixage, on voit souvent des petites lumières s'allumer en fonction du volume. Voilà, un vu-mètre c'est ça. C'est un système d'affichage utilisant plusieurs LEDs, disposées en ligne, qui permettent d'avoir un retour visuel sur une information analogique (ici, ce sera le volume).
Nous allons réaliser une visualisation d'une tension. Cette dernière sera donnée par un potentiomètre et sera affichée sur 9 LEDs. Lorsque le potentiomètre sera à 0V, on allumera 0 LED et le buzzer effectuera un son, puis lorsqu'il sera au maximum on les allumera toutes, ce qui entraînera une multitude de sons différents. Pour les valeurs comprises entre 0 et 5V, elles devront allumer les LEDs proportionnellement.
Avant de démarrer le projet, vous devez vous assurer de bien avoir installer le logiciel Arduino sur votre ordinateur. Pour cela, rendez vous sur le site Arduino. N'oubliez pas d'installer les drivers.
!!!Attention!!!
Problème avec le port série rencontré sous Windows 8. Il faut effectuer des modifications dans le panneau de configuration.
Câbler le circuit imprimé en se référant à l'image ci-dessous (rubrique schéma fritzing).
Attention, les LEDs sont polarisées, c'est-à-dire qu'elles doivent être branchées dans un sens précis (au risque de les cramer). La patte la plus longue correspond au +, et l'autre au - (si vous avez coupé les pattes et ne savez plus laquelle était plus longue, le - se trouve du côté de la base qui comporte un méplat). Sur ce schéma, le + est toujours à droite.
// Déclaration et remplissage du tableau représentant les broches des LEDs const int leds[10] = {2,3,4,5,6,7,8,9,10,11}; const int potar = 0; //le potentiomètre sera branché sur la broche analogique 0 int tension; //variable stockant la tension mesurée int speakerPin = 12; //entrée du buzzer int numTones = 10; //nombres de notes int tones[10] = { 1915, 1700, 1519, 1432, 1275, 1136, 1014, 956, 930, 900 }; //valeur des notes
void setup() {
int i = 0; for(i=0; i<10; i++) { pinMode(leds[i], OUTPUT); //déclaration de la broche en sortie digitalWrite(leds[i], HIGH); //mise à l'état haut }
}
void loop() {
tension = analogRead(potar); //on récupère la valeur de la tension du potentiomètre afficher(tension); //et on affiche sur les LEDs cette tension
}
void afficher(int valeur) {
int i; for(i=0; i<10; i++) { if(valeur < (i*95)) {digitalWrite(leds[i], LOW); //on allume la LED tone(speakerPin, tones[i]); delay(500); noTone(speakerPin); } else {digitalWrite(leds[i], HIGH); //ou on éteint la LED } }
}
Cherchez ici : http://wikidebrouillard.org/index.php/Catégorie:Arduino
Au quotidien, ce vu-mètre permet de visualiser le niveau sonore d'appareils électroniques émettant un son. Pour les amateurs de mixage, les platines sont également équipées de vu-mètres afin de visualiser le contrôle du niveau du son.
© Graphisme : Les Petits Débrouillards Grand Ouest (Patrice Guinche - Jessica Romero) | Développement web : Libre Informatique