Binome2019-8

De Wiki de bureau d'études PeiP
Révision datée du 22 mai 2020 à 13:16 par Mpourrie (discussion | contributions) (Code de la clé USB)

I - Réflexions sur le projet :

Séance du 27/01

Suite à nos toutes premières réflexions, nous pensons nous diriger vers la réalisation d'une clé USB2 classique, composée d'une première carte électronique associée à sa fonction principale, le stockage usb, et d'en superposer une seconde contenant un micro-haut-parleur, ainsi que les autres composants électroniques nécessaires à son bon fonctionnement.

Fonctionnalités à ajouter :

  • Sons particuliers lors des phases d'écriture de la clé, ou marquant la fin de celles-ci. --> Rajout d'un second microprocesseur éventuellement dirigé par le premier, qui déclencherait donc la lecture d'une piste son dans le haut parleur dans certaines situations. (puce MP3 nécessaire ?)
  • Vumètre indiquant le pourcentage de remplissage de la mémoire de la clé grâce a l'installation de différentes LED.
  • Ajout potentiel d'une batterie, qui peut amener des complications (peut-être), mais aussi de nombreuses possibilités telle que celle de pouvoir déclencher à distance une alarme quand la clé est perdue.

Séance du 10/02

Nous avons choisi d'installer en priorité un micro-haut-parleur et ainsi de laisser de côté les autres améliorations pour le moment.

  • Premières recherches pour trouver un haut parleur adapté. Les critères que nous recherchons principalement sont l'efficacité et la très petite taille, pour pouvoir être intégré facilement à la clé USB sans augmenter démesurément la taille de celle-ci :

Dans cette mesure nous avons trouvé deux potentiels haut-parleurs :

Problème de ce type de haut-parleur, il est apparemment fourni sans fils de connexions mais avec des bornes + ou -

Sourcingmap® 4 pcs 1W 8 Ohm 15x11x3.7mm

Ce modèle de haut-parleur, toujours de dimensions raisonnables, nous paraît être un bon choix pour notre projet, de par sa simplicité d'installation.

Au niveau de la réalisation, nous restons pour l'instant sur l'idée d'une carte électronique en deux étages, le premier identique au modèle proposé sur la page du BE, et pour le second, on se concentrerait sur la connexion du haut-parleur et éventuellement du vumètre si l'idée paraît toujours réalisable à l'issue de cette phase de réflexion.

II - Concrétisation du projet :

Séances du 02/03 et du 05/03

Découverte du logiciel de modélisation Fritzing, que nous utiliserons par la suite pour réaliser la carte éléctronique de notre clé USB. Elaboration d'un circuit imprimé simple destiné à la réalisation d'un dé électronique.

PCBB8.PNG

Dé électronique conceptualisé à l'aide du logiciel Fritzing.

Voici le schéma de notre dé électronique, ainsi que le fichier .fzz sous format .zip : Média: Projet_Cle_USB_2.zip

Séances du 09/03 et du 12/03

Réception de notre circuit imprimé, sur lequel nous avons commencé à souder le micro-contrôleur, l'ensemble des résistances ainsi que deux LEDs. Nous avons rencontré un problème lors de la soudure d'une des résistances, qui n'a pas l'air d'être fonctionnelle, ce qui posera problème lors du test du dé électronique.

Semaine du 16/03

Les problèmes liés au confinement ne nous ont pas permis d'avancer de manière significative sur notre projet.

Semaine du 23/03

Avancée sur le codage en C du programme permettant l'allumage et l'extinction des LEDs de notre clé USB grâce au logiciel Arduino.

Semaine du 30/03

Nous essayons de résoudre un probleme lié au bouton de notre dé électronique, pour cela nous devons examiner son PCB. Malheureusement la version du PCB dont nous avons besoin semble ne pas avoir été enregistrée par notre binome. Pour palier a cela nous avons effectué une tentative de reconstitution du PCB grâce aux fichiers gerber que j'ai pu récupérer dans le mail de Polytech faisant suite à la demande d'impression de la carte.

Voici le résultat obtenu :

Gerber.jpg.PNG

Finalement, grâce aux professeurs qui ont pu finir les soudures pour nous, on obtient cela pour notre dé électronique :

De elec.png

Le code utilisé pour faire fonctionner le dé électronique est le suivant :

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int nb()
 {
   return random(1,7);
 }
void setup()  
 {
   pinMode(0, OUTPUT);
   pinMode(1, OUTPUT);
   pinMode(2, OUTPUT);
   pinMode(3, OUTPUT);
   pinMode(4, OUTPUT);
   pinMode(5, OUTPUT);
   pinMode(6, OUTPUT);
   pinMode(9, INPUT_PULLUP);
   randomSeed(analogRead(A7)); // Patte inutilisée
 }
void lancer(int a) {
 if (a==1)
 {
   digitalWrite(3,HIGH);
   
 }
 if (a==2)
 {
   digitalWrite(0,HIGH);
   digitalWrite(5,HIGH);
   
 }
 if (a==3)
 {
   digitalWrite(3,HIGH);
   digitalWrite(0,HIGH);
   digitalWrite(5,HIGH);
   
 }
 if (a==4)
 {
   digitalWrite(6,HIGH);
   digitalWrite(5,HIGH);
   digitalWrite(0,HIGH);
   digitalWrite(1,HIGH);
   
 }
 if (a==5)
 {
   digitalWrite(0,HIGH);
   digitalWrite(5,HIGH);
   digitalWrite(6,HIGH);
   digitalWrite(1,HIGH);
   digitalWrite(3,HIGH);
 }
 if (a==6)
 {
   digitalWrite(4,HIGH);
   digitalWrite(5,HIGH);
   digitalWrite(0,HIGH);
   digitalWrite(1,HIGH);
   digitalWrite(2,HIGH);
   digitalWrite(6,HIGH);
 }
}
void arret() {
 digitalWrite(0,LOW);
 digitalWrite(1,LOW);
 digitalWrite(2,LOW);
 digitalWrite(3,LOW);
 digitalWrite(4,LOW);
 digitalWrite(5,LOW);
 digitalWrite(6,LOW);
}
void loop() {
 int nombre;
 nombre = nb();
 if (digitalRead(9) == LOW) {
 lancer(nombre);
 delay(1000);
 arret();
 }
 }

Voici une démonstration de l'exécution du code ci-dessus à notre dé électronique : Média: demo_delec.mp4

Semaine du 27/04

Nous avons démarré la mise en place d'une amélioration de notre choix sur la vue schématique d'une clé usb fournie par les professeurs, toujours depuis le logiciel Fritzing. Notre but serait l'ajout d'un haut-parleur, par le biais d'un transistor MOSFET, le tout contrôlé par le micro-contrôleur atmega8u2 présent dans le schématic de départ de la clé USB.

Après quelques recherches et l'aide des enseignants, on finit par arriver à une portion de circuit dédiée au haut parleur, reliée à la broche PWM PD4 du micro-contrôleur :

Hp.png

Semaine du 04/05

Nous avons finalement réussi à avoir une représentation du circuit imprimé sur Fritzing avec l'ajout du haut parleur, en reliant les composants comme nous l'ont indiqué les professeurs.

Les vues de la face inférieure, puis supérieure de la clé USB sont celles ci-dessous :


Faceinfcleusb.png


Facesupcleusb.png


Voici le fichier .fzz sous format .zip de notre clé USB : Média: cleplaudpourrier.zip


Code de la clé USB

Enfin, nous avons travaillé sur les premices du codage de notre clé USB particulière équipée d'un haut parleur. Nous avons tout d'abord trouvé comment initialisé la programmation du haut parleur et comment lui faire jouer des notes de musique grâce à la fonction tone(). Voici le morceau de code effectuant cette action :


#include <stdio.h>
#include <stdlib.h>
#include <time.h>


const byte PIN_HP = 9; /* On définit une constante qui contient le numéro de la broche auquel est connecté le haut-parleur */


void setup 
{
    pinMode(PIN_HP, OUTPUT);
    tone(PIN_HP, 262); /* Le haut-parleur produira donc un son a une fréquence de 262 Hz, correspondant à un Do de 3eme harmonique C3 en notation internationale */
    tone(PIN_HP, 440): /* Ici on joue un La 440 Hz */
}


Les bases posées ici permettent donc de jouer basiquement des notes à une fréquence donnée. Voyons maintenant comment on peut gérer la notion de rythme entre les notes :


La fonction tone peut s'utiliser de la sorte : tone(numero_pin, frequence, durée). On peut ainsi gérer la durée en secondes du signal émis par le hautparleur. en combinaison avec la fonction delay(durée) qui nous permet d'attendre un certain temps avant de continuer le programme, on peut donc créer des mélodies :


void loop           /* Un exemple de mélodie jouable grâce à une fonction loop, mélodie toutefois de piètre qualité */
{
    tone(PIN_HP, 440, 200);
    delay(200);
    tone(PIN_HP, 440, 200);
    delay(200);
    tone(PIN_HP, 440, 200);
    delay(200);
    tone(PIN_HP, 260, 200);
    delay(200);
}


Finalement, on pourrait meme construire un programme, qui serait capable en utilisant ces outils et certains code de traductions de jouer une mélodie passée en paramètre :

III - Retours sur le projet :

En somme, ce projet dont le but était, à partir d'un fichier préétabli par les enseignants, d'apporter une amélioration de notre choix au circuit intégré d'une clé USB, nous a conforté dans notre choix d'orientation pour notre cycle ingénieur. Bien que malmené par le confinement, il nous a permis de découvrir les prémices de la microélectronique, et les différentes étapes qui composent l'élaboration de tels systèmes : la partie conception, avec un logiciel informatique spécialisé dans le domaine des circuits intégrés (Fritzing), mais également la partie codage, que l'on a abordée avec le logiciel Arduino pour faire fonctionner un dé électronique, réalisé comme une entrée en matière de ce bureau d'étude.