Binome2020-7 : Différence entre versions
(→Code version 1:) |
(→Projet intermédiaire : VuMètre et microphone) |
||
Ligne 36 : | Ligne 36 : | ||
==Code version 1:== | ==Code version 1:== | ||
− | + | <p> | |
+ | Voici le code réalisé afin de faire fonctionner le projet intermédiaire "microphone Vu mètre". | ||
+ | </p> | ||
+ | |||
+ | int mini; | ||
+ | int microAnalog; | ||
+ | void setup() | ||
+ | { | ||
+ | // on défini les broches de 0 à 6 en sortie. | ||
+ | for(int i=0;i<=6;i++) { | ||
+ | pinMode(i, OUTPUT); | ||
+ | } | ||
+ | // On fait un échantillonnage sur le bruit ambiant | ||
+ | // pour définir la valeur mini qui correspond à toutes | ||
+ | // les LEDs éteintes. | ||
+ | mini=1024; | ||
+ | for(int i=0;i<=20;i++) | ||
+ | { | ||
+ | // on lit la valeur analogique du microphone | ||
+ | microAnalog = analogRead(7); | ||
+ | delay(1); | ||
+ | if(microAnalog<mini) | ||
+ | mini=microAnalog; | ||
+ | } | ||
+ | // on allume les 7 LEDs pour signaler que l'échantillonnage est terminé | ||
+ | for(int i=0;i<=6;i++) { | ||
+ | digitalWrite(i, HIGH); | ||
+ | } | ||
+ | delay(1000); | ||
+ | } | ||
+ | void loop() { | ||
+ | delay(1); | ||
+ | // on lit la valeur analogique du microphone | ||
+ | microAnalog = analogRead(7); | ||
+ | //on éteint les 7 LEDS. | ||
+ | for(int i=0;i<=6;i++) { | ||
+ | digitalWrite(i, LOW); | ||
+ | } | ||
+ | // en fonction du niveau on allume les LEDS. | ||
+ | if(microAnalog>mini) | ||
+ | digitalWrite(0, HIGH); | ||
+ | if(microAnalog>mini+1) | ||
+ | digitalWrite(1, HIGH); | ||
+ | if(microAnalog>mini+2) | ||
+ | digitalWrite(2, HIGH); | ||
+ | if(microAnalog>mini+3) | ||
+ | digitalWrite(3, HIGH); | ||
+ | if(microAnalog>mini+4) | ||
+ | digitalWrite(4, HIGH); | ||
+ | if(microAnalog>mini+5) | ||
+ | digitalWrite(5, HIGH); | ||
+ | if(microAnalog>mini+6) | ||
+ | digitalWrite(6, HIGH); | ||
+ | } | ||
=<div class="mcwiki-header" style="border-radius: 15px; padding: 15px; font-weight: bold; color: #FFFFFF; text-align: center; font-size: 80%; background: #2E64FE; vertical-align: top; width: 98%;"> Chronologie </div>= | =<div class="mcwiki-header" style="border-radius: 15px; padding: 15px; font-weight: bold; color: #FFFFFF; text-align: center; font-size: 80%; background: #2E64FE; vertical-align: top; width: 98%;"> Chronologie </div>= |
Version du 29 janvier 2021 à 15:44
Sommaire
Introduction
Durant ce BE, nous allons créer une clé USB (Universal Serial Bus) personnalisé de A à Z en y ajoutant une fonction personnalisé. La première partie sera consacré au hardware, la seconde au software.
logiciel utilisé :
- Fritzing : http://fritzing.org/home/
- Arduino : https://www.arduino.cc/
Matériel
Choix des composants :
Pour le microprocesseur, nous avons pris celui recommandé par le livret, plus précisément l'ATMega16u2 :
Pour la mémoire flash, nous utiliserons également la mémoire conseillé de 16mo : AT45DB641E
Nous utiliserons bien d'autres composants comme un quartz, des résistances, des condensateurs, des diodes, des régulateurs de tension et des LED ainsi qu'un microphone pour commencer le circuit imprimé :
Nous aurons besoin également d'une alimentation
Projet intermédiaire : VuMètre et microphone
Schématic terminé :
PCB terminé :
Code version 1:
Voici le code réalisé afin de faire fonctionner le projet intermédiaire "microphone Vu mètre".
int mini; int microAnalog; void setup() { // on défini les broches de 0 à 6 en sortie. for(int i=0;i<=6;i++) { pinMode(i, OUTPUT); } // On fait un échantillonnage sur le bruit ambiant // pour définir la valeur mini qui correspond à toutes // les LEDs éteintes. mini=1024; for(int i=0;i<=20;i++) { // on lit la valeur analogique du microphone microAnalog = analogRead(7); delay(1); if(microAnalog<mini) mini=microAnalog; } // on allume les 7 LEDs pour signaler que l'échantillonnage est terminé for(int i=0;i<=6;i++) { digitalWrite(i, HIGH); } delay(1000); } void loop() { delay(1); // on lit la valeur analogique du microphone microAnalog = analogRead(7); //on éteint les 7 LEDS. for(int i=0;i<=6;i++) { digitalWrite(i, LOW); } // en fonction du niveau on allume les LEDS. if(microAnalog>mini) digitalWrite(0, HIGH); if(microAnalog>mini+1) digitalWrite(1, HIGH); if(microAnalog>mini+2) digitalWrite(2, HIGH); if(microAnalog>mini+3) digitalWrite(3, HIGH); if(microAnalog>mini+4) digitalWrite(4, HIGH); if(microAnalog>mini+5) digitalWrite(5, HIGH); if(microAnalog>mini+6) digitalWrite(6, HIGH); }
Chronologie
Première séance 18/01 :
- choix de la fonction supplémentaire : vu-mètre permettant de voir la capacité de la clé usb.
- Début de la création d'un circuit imprimé sur la partie vu-mètre + microphone sur Fritzing (découverte du logiciel).
- Amélioration du circuit "Fichier:DéB2.zip" (en remplacent .zip par .fzz pour pouvoir l'ouvrir dans l'application) et en ajoutant un circuit d'amplificateur pour le micro éléctret.
Séance du 21/01 :
- Continuation du circuit imprimé sur Fritzing. (contradiction de la vue schématique et pcb ), lissage des angles droits et reduction de la place des composants sur la carte.
Séance du 25/01 :
- Continuation du pcb (routage terminé) et détourage des fils non reliés a la masse pour impression future.
Séance du 28/01 :
- Recherche des composants du circuit
- Commencement du code sur arduino.