Binome2019-6

De Wiki de bureau d'études PeiP
Révision datée du 9 avril 2020 à 15:56 par Lmaes (discussion | contributions) (AMÉLIORATION)


INTRODUCTION

L'objectif de ce bureau d'étude est la conception et la réalisation d'une clé USB personnalisée.

Pour se faire, nous devrons créer un circuit éléctronique ou PCB (Printed Circuit Board) à l’aide du logiciel Fritzing. Suite à cela, nous allons souder les composants électroniques nécessaires sur notre PCB. Puis nous programmerons le micro-contrôleur pour gérer la communication USB et accéder à la mémoire. Enfin, nous fabriquerons un boîtier à notre clé USB.

A cette clé USB devra être réalisée une amélioration, à savoir une option qui sera développée dans la partie "AMELIORATION" de notre page.

COMPÉTENCES & MATÉRIELS UTILISÉS

Afin de réaliser le dé numérique nous avons eu besoin du matériel suivant:

  • D'un micro-processeurs, un ATMega328ATMega328.jpg
  • D'une plaque de cuivre sur laquelle va être imprimé notre circuit.
  • De 7 leds pour l'affichage.
  • Et de 7 résistances.


Afin de créer notre clé USB, nous allons utilisés les matériaux suivants:

  • Un écran LCD de 0.91" ce qui contribue à notre amélioration de la clé. LCD.jpg
  • Du micro-contrôleur AVR, l'ATMega16u2 qui possède l'électronique nécessaire à la gestion d'un bus USB 2.0. ATMega16u2.png
  • Une mémoire de capacité de 128Gb. Memoire.jpg

PROJET INTERMÉDIAIRE

CODE

Voici le code réalisé afin de faire fonctionner le projet intermédiaire, à savoir "le dé numérique".

void setup() {

  int led0 = 0;
  int led1 = 1;
  int led2 = 2;
  int led3 = 3;
  int led4 = 4;
  int led5 = 5;
  int led6 = 6;
  int bouton = 9;
  randomSeed(analogRead(0));
  pinMode(led0,OUTPUT);
  pinMode(led1,OUTPUT);
  pinMode(led2,OUTPUT);
  pinMode(led3,OUTPUT);
  pinMode(led4,OUTPUT);
  pinMode(led5,OUTPUT);
  pinMode(led6,OUTPUT);
  pinMode(bouton,INPUT);

}

 void de1(int led3){
   digitalWrite(led3, HIGH);
 }
 void de2(int led5, int led1)
 {
   digitalWrite(led5, HIGH);
   digitalWrite(led1, HIGH);
 }
 void de3(int led1,int led3,int led5)
 {
   digitalWrite(led1, HIGH);
   digitalWrite(led3, HIGH);
   digitalWrite(led5, HIGH);
 }
 void de4(int led1,int led0,int led5,int led6)
 {
   digitalWrite(led1, HIGH);
   digitalWrite(led0, HIGH);
   digitalWrite(led5, HIGH);
   digitalWrite(led6, HIGH);
 
 }
 void de5(int led0,int led1,int led3,int led5,int led6)
 {
   digitalWrite(led0, HIGH);
   digitalWrite(led1, HIGH);
   digitalWrite(led3, HIGH);
   digitalWrite(led5, HIGH);
   digitalWrite(led6, HIGH);

 }
 void de6(int led0,int led1,int led2,int led4,int led5,int led6){
    digitalWrite(led0, HIGH);
    digitalWrite(led1, HIGH);
    digitalWrite(led2, HIGH);
    digitalWrite(led4, HIGH);
    digitalWrite(led6, HIGH);
    digitalWrite(led5, HIGH);
 }

void loop() {

 int led0=0;
 int led1=1;
 int led2=2;
 int led3=3;
 int led4=4;
 int led5=5;
 int led6=6; 
 int bouton=9;
 int etat = 0 ;
 etat = digitalRead(bouton);
 int  numero_des = 0;
 digitalWrite(led0, LOW);
 digitalWrite(led1, LOW);
 digitalWrite(led2, LOW);
 digitalWrite(led3, LOW);
 digitalWrite(led4, LOW);
 digitalWrite(led5, LOW);
 digitalWrite(led6, LOW);
 if( etat==LOW)
 {
   numero_des = random(1,7);
   de6(led0,led1,led2,led4,led5,led6);
   delay(350);
   digitalWrite(led0, LOW);
   digitalWrite(led1, LOW);
   digitalWrite(led2, LOW);
   digitalWrite(led3, LOW);
   digitalWrite(led4, LOW);
   digitalWrite(led5, LOW);
   digitalWrite(led6, LOW);
   delay(350);
   de5(led0,led1,led3,led5,led6);
   delay(350);
   digitalWrite(led0, LOW);
   digitalWrite(led1, LOW);
   digitalWrite(led2, LOW);
   digitalWrite(led3, LOW);
   digitalWrite(led4, LOW);
   digitalWrite(led5, LOW);
   digitalWrite(led6, LOW);
   delay(350);
   de4(led1,led0,led5,led6);
   delay(350);
   digitalWrite(led0, LOW);
   digitalWrite(led1, LOW);
   digitalWrite(led2, LOW);
   digitalWrite(led3, LOW);
   digitalWrite(led4, LOW);
   digitalWrite(led5, LOW);
   digitalWrite(led6, LOW);
   delay(350);
   de3(led1,led3,led5);
   delay(350);
   digitalWrite(led0, LOW);
   digitalWrite(led1, LOW);
   digitalWrite(led2, LOW);
   digitalWrite(led3, LOW);
   digitalWrite(led4, LOW);
   digitalWrite(led5, LOW);
   digitalWrite(led6, LOW);
   delay(350);
   de2(led5,led1);
   delay(350);
   digitalWrite(led0, LOW);
   digitalWrite(led1, LOW);
   digitalWrite(led2, LOW);
   digitalWrite(led3, LOW);
   digitalWrite(led4, LOW);
   digitalWrite(led5, LOW);
   digitalWrite(led6, LOW);
   delay(350);
   de1(led3);
   delay(350);
   digitalWrite(led0, LOW);
   digitalWrite(led1, LOW);
   digitalWrite(led2, LOW);
   digitalWrite(led3, LOW);
   digitalWrite(led4, LOW);
   digitalWrite(led5, LOW);
   digitalWrite(led6, LOW);
   delay(1500);
 
   if (numero_des==1)
   { 
     de1(led3);
     delay(2500);
     }
   
   if (numero_des==2)
   { 
     de2(led5,led1);
     delay(2500);
     
     } 
   if (numero_des==3)
   {
     de3(led1,led3,led5);
     delay(2500);
     } 
   
   if (numero_des==4)
   {
     de4(led1,led0,led5,led6);
     delay(2500);
     } 
     
   if (numero_des==5)
   {
     de5(led0,led1,led3,led5,led6);
     delay(2500);
     } 
    
   if (numero_des==6)
   {
     de6(led0,led1,led2,led4,led5,led6);
     delay(2500);
    } 
 }

}

CHRONOLOGIE

  • 27/01/2020 : Lors de cette séance, nous avons pris connaissance du bureau détude, à savoir, la création d'une clé USB. Cette séance a permis de mettre les bases du sujet et d'inviter à la réflexion au niveau de l'amélioration que nous pouvons apporté.

  • 10/02/2020 : Nous nous sommes mis d'accord sur le petit plus de notre clé. C'est en faisant des recherches sur des écrans LCD que nous avons décidé de travailler sur l'amélioration expliquée dans la partie suivante.

  • 02/03/2020 : Nous nous sommes familiarisés avec le logiciel Fritzing en élaborant le circuit imprimé d'un dé numérique.

  • 05/03/2020 : Lors de cette nouvelle séance nous avons finalisé la réalisation du circuit imprimé du dé numérique. Celui-ci terminé, nous avons donc lancé son impression.

  • 09/03/2020 : Nous avons élaboré le programme du dé numérique sur l'IDE Arduino. En effet grâce à la fonction random, nous lançons le dé, qui nous donne un chiffre entre 1 et 6. Selon le chiffre obtenu, certaine(s) LED s'allume(nt) et le dé affiche le chiffre obtenu.

  • 12/03/2020 : Cette séance nous a permis d'apprendre à souder les différents composants du dé numérique sur notre circuit imprimé. Ont été soudés : les résistances, le micro-controleur ainsi que le bouton qui sert à lancer le dé, soit de relancer le programme informatique.
Carte face.jpg

  • 19/03/2020 : Lors de cette séance, nous avons réglé les problèmes de code rencontrés (en effet le numéro des PIN ne coïncidaient pas avec celles mentionnées dans le code). Nous avons également pu imaginer une stratégie afin de mettre en place notre amélioration (celle-ci sera développée dans la partie « AMELIORATION » de notre wiki).

  • 23/03/2020 : Cette séance était dédiée à la mise en place de notre amélioration sur le logiciel Fritzing.

  • 26/03/2020 : Nous avons continué le Fritzing de la solution.

  • 30/03/2020 : Lors de cette séance, nous avons continué le schematic de notre clé sur Fritzing et commencé le code de celle-ci.

  • 02/03/2020 : Cette séance nous a permis de terminer le schematic de notre clé USB.

  • 06/04/2020 : Toujours sur le logiciel Fritzing, nous avons placé des connecteurs afin de connecter nos deux cartes puis élaboré le PCB de celles-ci. De plus, du côté code, nous avons pu initialiser l'écran LCD.

AMÉLIORATION

Afin d'ajouter un petit plus à notre clé USB, nous avons eu l'idée d'incorporer un écran LCD.
Cet écran permettra à l'utilisateur de vérifier la capacité de stockage restante mais aussi d'afficher le nom des fichiers à chaque fois que ceux-ci sont ajoutés à la clé.
De plus, un fichier lourd met un certain temps à se transférer sur une clé USB. Ainsi notre barre de stockage fonctionnera telle un vumètre et montrera l'évolution du transfert du fichier.

Afin de mettre en place les éléments que nous voulons ajouter à notre clé USB, nous allons associer un second micro-contrôleur sur lequel sera connecté l'écran LCD et les composants qui nous permettront d'afficher notre barre de stockage/vu-mètre.

Voici ci-dessous le schematic de notre solution réalisé à partir du logiciel Fritzing.

texte descriptif





CONCLUSION

Ceci est la conclusion