Binome2020-2

De Wiki de bureau d'études PeiP
Révision datée du 18 avril 2021 à 18:48 par Adeletan (discussion | contributions) (Introduction)

Introduction

L'objectif de ce bureau d'étude est de concevoir entièrement une clé USB personnalisée. Pour cela, nous passerons par plusieurs étapes :


  • Réalisation du circuit électronique à l'aide du logiciel Fritzing.
  • Soudage des différents composants sur notre clé.
  • Programmation du microcontrôleur de la clé en Arduino.
  • Conception de d'un boitier pour notre clé.

Matériel/Composant

schema
micro-contrôleur ATMega16u2
schema
carte mémoire Adesto64Mb

Tout d'abord, pour la création de notre clé usb, nous aurons besoin d'un micro-contrôleur AVR. Plus précisément, nous choisirons l'ATMega16u2.

De plus, pour notre clé USB, nous utiliserons une mémoire AT45DB641E (64Mb) car celle-ci est adaptée à notre mciro-contrôleur.


schema
LED CMS
schema
Bouton

2 LED ( une rouge et une verte )

6 boutons


Projet Intermédiaire

Avant de concevoir notre clé usb, on réalise d'abord un projet intermédiaire. Ce projet à pour but de nous faire travailler seulement sur la fonctionnalité supplémentaire de notre clé usb sur une carte avec un micro-contrôleur (ATTiny84) plus facile à souder que celui que l'on utilisera pour la clé (ATMega16u2).

Fichier:Projet intermediaire.zip

PCB  : Vue schématique

Circuit schema fritzing.png


PCB  : Vue circuit-imprimé

Circuit imprime fritzing.png


PCB  : Vide

Circuit imprime vide.png


PCB Soudé

Pcb complet.png


Code test projet intermédiaire

 #include <Password.h>
 const int ledred = 8;
 const int ledgreen = 7;
 // Dans notre cas on va dire que notre mot de passe sera 1234
 Password password = Password("1234"); 
 void setup() 
{
 // on définit les branches de 0 à 5 en résistance PULLUP
 for( int i= 0; i<6; i++){
   pinMode(i,INPUT_PULLUP);
} 
 // Les 2 LED sont définies commes des OUTPUT
 pinMode(ledred,OUTPUT);
 pinMode(ledgreen,OUTPUT);
} 
 void loop() 
{ 
 // La LED de confimation reste éteinte
 digitalWrite(ledgreen, LOW);  
 // Tant que le mdp n'est pas bon, la LED rouge reste éteinte
 if(password.evaluate()==false)
 digitalWrite(ledred, HIGH); 
 // Les chiffres de 1 à 5 sont attribués aux 5 premiers boutons, à chaque fois qu'on appuie sur un bouton, le mdp s'incrémente d'un chiffre
 // Le dernier bouton est le bouton validé
 if (digitalRead(1)==LOW)
 {password.append('1');
 delay(50);
 } 
 
 if (digitalRead(0)==LOW)
 {password.append('2');
 delay(50);
 }
 
 if (digitalRead(2)==LOW)
 {password.append('3');
 delay(50);
 }
 
 if (digitalRead(3)==LOW)
 {password.append('4');
 delay(50);
 }
 
 if (digitalRead(4)==LOW)
 {password.append('5');
 delay(50);
 }
 // En appuyant sur ce bouton, on vérifie si le mot de passe proposé est équivalent au mot de passe de base
 // Si il ne correspond pas, la LED rouge clignotte et le mdp se réinitialise
 // Si il correspond, la LED Verte s'allume
 if (digitalRead(5)==LOW)
 {if (!( password.evaluate()))
   {digitalWrite(ledred,LOW);
   delay(50);
   digitalWrite(ledred,HIGH);
   delay(50);
   digitalWrite(ledred,LOW);
   delay(50);
   digitalWrite(ledred,HIGH);
   delay(50);
   digitalWrite(ledred,LOW);
   delay(50);
   password.reset();
   }
 else 
 {digitalWrite(ledred, LOW);
 digitalWrite(ledgreen, HIGH);
 delay(300);
 password.reset();}}}


Projet Final : Clef à déverrouillage par code

PCB final

Fichier:Cle USB Groupe2 Antoine-Telian.zip

Chronologie

- 18/01/2021

Présentation du bureau d'étude et choix de la fonctionnalité supplémentaire à ajouter sur notre clé USB.

- 21/01/2021

L'idée retenue est de réaliser une clé USB dévérouillable par un code pin à l'aide de boutons sur la clé.

On y placera aussi deux leds : une rouge pour indiquer si le code n'est pas rentré ou s'il est faut et une led verte qui indiquera si le code est bon.

- 25/01/2021

On réalise d'abord notre Projet intermédiaire. Celui-ci consiste à concevoir une première carte dont le micro-contrôleur est l'ATTiny84. Nous concevons cette première carte avec notre fonctionnalité supplémentaire.

Initiation au logiciel Fritzing pour la réalisation de circuit imprimé.

- 28/01/2021

On continue la réalisation de notre circuit imprimé sur Fritzing en plaçant correctement nos différents composants.

- 01/02/2021

Commencement du programme pour notre Projet intermédiaire sur Arduino.

- 04/02/2021

Fin de la conception de notre circuit imprimé sur Fritzing après avoir ajouté la batterie et l'ICSP.

Nous avons continué notre programme arduino pour notre Projet intermédiaire.

- 08/02/2021

Impression de la carte.

Fin de notre programme arduino pour notre projet intermédiaire.

- 11/02/2021

Début de la soudure des composants (micro-contrôleur, boutons)

- 15/02/2021

Soudage des composants (résistances, LED)

- 18/02/2021

Fin de la soudure (câbles)

Test du programme arduino avec succès

-8/03/2021

Factorisation du code avec des boucles suite aux conseils de Rex.

-11/03/2021

Conception du PCB de la clef sur inkscape.

-18/03/2021

Exportation du fichier d'inkscape sur fritzing et ajout des composants nécessaires.

-22/03/2021

Branchements des composants sur le Fritzing.

-25/03/2021

Fin élaboration du pcb sur Fritzing.

Carte commandée

La carte est commandée, le dessin SVG de la carte a du être refait, il n'était pas correct. Des modifications ont été effectuées au niveau du routage. En particulier descendre les distances pour la DRC à 0.15 millièmes d'inch n'était pas très malin. Les fichiers ci-dessous :

Fichiers SVG : Fichier:ClefUSBAntoineTelianSVG.zip.

Fichier Fritzing source : Fichier:ClefUSBAntoineTelian.zip.