Binome2020-6

De Wiki de bureau d'études PeiP
Révision datée du 18 mars 2021 à 16:02 par Msaniez (discussion | contributions) (Mars)

Circuit micro-attiny

Janvier

18/01/2021 on cherche la fonctionnalité particulière de notre clé usb personalisée, on aimerait trouver un moyen original de dévérouiller la clé. On a plusieurs idées :

1/utiliser une photorésistance qui ne permettrait de déverouiller la clé que dans l'obscurité

2/détecter les sons ambients pour ne déverrouiller la clé que dans une condition particulière (fréquence précise,volume,...)

21/01/2021 On part sur l'idée du microphone. On aimerait pouvoir déverrouiller la clé usb en lui jouant une note précise/une mélodie si possible. On a trouvé le circuit à réaliser pour connecter le micro à l'ATtiny84 avec un système d'amplification pour pouvoir reconnaître un son. On apprend à utiliser Fritzing pour le recréer et à terme confectionner une version PCB.


Schéma du circuit

On va utiliser l'ATtiny84 comme micro-contrôleur pour ce premier circuit:

  • Attiny84.jpg
  • Attiny84 b.jpeg

25/01/2021 On continue le pcb sur Fritzing pour le circuit qui allume une LED lorsque le micro capte un son de fréquence donnée. On rajoute donc une led et une resistance sur une autre sortie de l'attiny. On a également ajusté les angles du circuits, en effet il faut limiterle nombre d'angles de pistes à 90°, il faut donc ajouter des points aux differents "virages". le circuit sera alimenté par une pile 3.3 V.

Version schématisée sur Fritzing

28/01/2021 On termine le pcb. On a appris à générer le plan de masse, à exporter le PCB en format lisible par la machine outil qui va l'usiner. En parallèle, on effectue quelques recherches pour le code de l'attiny. On va utiliser une carte Arduino uno comme intermédiaire de programmation. on recherche des bibliothèques Arduino qui nous permettraient de reconnaitre une frequence ou arduino

PCB sur Fritzing

Février

01/02/2021 Cinquième séance: On a trouvé un script Arduino permettant de récupérer la fréquence d'un son à partir d'un signal analogique. Ce script utilise la bibliothèque arduinoFFT.h (Fast Fourier Transform)

04/02/2021 On a commencé à souder les composants sur la carte, micro-controlleur puis les composants smd et enfin le micro traversant. On commence à chaque fois par gommer la surface où on soude pour retirer l'oxidation (pour que la soudure tienne dans le temps). On dépose ensuite de la brasure sur la portion de cuivre sur laquelle on soude,

11/02/2021 On commence à tester des programmes. On essaie de comprendre la data reçue du microphone

15/02/2021 souder un fil sur l'entrée A2, essayer de définir A2 en sortie, décharger le circuit puis repasser en entrée et faire l'acquisition


Mars

08/03/2021 Après plusieurs séances d'analyse à l'oscilloscope du signal, et un changement de résistance dans le circuit d'amplification (celle de 100K remplacée par une de 4,1K), on se heurte à plusieurs problèmes :

-les pics lors d'un bruit important sont faibles devant la tension moyenne mesurée à la sortie du condensateur

-certains (voire tous) ces pics sont négatifs, et donc notre programme avec un THRESHOLD ne peut pas les détecter car analogRead ne peut pas renvoyer de valeurs négatives

Pour résoudre ce 2eme problème, on pourrait bypass le condensateur à la fin du circuit d'amplification pour lire une tension oscillant autour de 2V (mesuré à l'oscillo à l'entrée du condensateur) et mesurer la variation relative de tension. Cette varition étant d'environ 60 mV avec notre système d'amplification actuel, cela représenterait une différence de 18 dans l'analogRead du programme.

15/03/2021 on essaye de téléverser vers la nouvelle carte (blanche) on a réussi(il fallait d'abor programmer l'Arduino pour que elle puisse programmer l'attiny)

18/03/2021 code:

#define THRESHOLD 400 -void setup() { pinMode(A1, OUTPUT); pinMode(A2, INPUT); } -void loop() { //lit la valeur envoyée par le micro int valeur; digitalWrite(A1, LOW); valeur=analogRead(A2); if (valeur >= THRESHOLD){ digitalWrite(A1, HIGH); } delay(50); }

Resources

http://elektor.presse.free.fr/fiches_livres/205%2050%20mini-projets/978-2-86661-205-4%2050%20mini-projets%20TDM+extrait.pdf

https://github.com/ArminJo/Arduino-FrequencyDetector (bibliothèque Frequency Detector)

https://www.hackster.io/lbf20012001/audio-frequency-detector-617856

https://github.com/kosme/arduinoFFT (bibliothèque arduinoFFT)

https://scienceprog.com/electret-condenser-microphone-amplifier-for-use-in-microcontroller-projects/