Binome2019-11 : Différence entre versions

De Wiki de bureau d'études PeiP
(Calcul de la résistance)
(Initiation aux logiciels)
Ligne 53 : Ligne 53 :
 
- 7 résistances de 220 ohm de préférence
 
- 7 résistances de 220 ohm de préférence
  
- une batterie et un bouton poussoire
+
- une batterie et un bouton poussoir
  
  
Dans un temps, on a crée le schéma PCB de notre dé, puis nous avons relier les composants ensemble sur le schéma "circuit imprimé" dans le logiciel Fritzing (Image à venir après fin confinement...)
+
Dans un temps, on a crée le schéma PCB de notre dé, puis nous avons relier les composants ensemble sur le schéma "circuit imprimé" dans le logiciel Fritzing  
 +
 
 +
[[Fichier:Schéma_dé.PNG|600px|thumb|left|Schéma de notre dé]]
 +
[[Fichier:PCB_dé.PNG|600px|thumb|left|PCB de notre dé]]
  
 
Ensuite, nous avons programmer notre ATtiny84 à l'aide de l'IDE Arduino, dans un premier temps, nous avons crée ce programme :
 
Ensuite, nous avons programmer notre ATtiny84 à l'aide de l'IDE Arduino, dans un premier temps, nous avons crée ce programme :
Ligne 71 : Ligne 74 :
 
   int led[7]={0,1,2,3,4,5,6};
 
   int led[7]={0,1,2,3,4,5,6};
 
   int etat_btn=0;
 
   int etat_btn=0;
   const int etat_de[7][7]={                        //Ici, les états que peut prendre notre dé en foncion du chiffre obtenu.
+
  BTN =9
 +
   const int etat_de[7][7]={                        //Ici, les états que peut prendre notre dé en fonction du chiffre obtenu.
 
     {LOW,LOW,LOW,LOW,LOW,LOW,LOW},
 
     {LOW,LOW,LOW,LOW,LOW,LOW,LOW},
 
     {LOW,LOW,LOW,HIGH,LOW,LOW,LOW},
 
     {LOW,LOW,LOW,HIGH,LOW,LOW,LOW},
     {HIGH,LOW,LOW,LOW,LOW,LOW,HIGH},
+
     {LOW,HIGH,LOW,LOW,LOW,LOW,HIGH},
     {HIGH,LOW,LOW,HIGH,LOW,LOW,HIGH},
+
     {LOW,HIGH,LOW,HIGH,LOW,LOW,HIGH},
 
     {HIGH,HIGH,LOW,LOW,LOW,HIGH,HIGH},
 
     {HIGH,HIGH,LOW,LOW,LOW,HIGH,HIGH},
 
     {HIGH,HIGH,LOW,HIGH,LOW,HIGH,HIGH},
 
     {HIGH,HIGH,LOW,HIGH,LOW,HIGH,HIGH},
Ligne 91 : Ligne 95 :
 
     pinMode(led[6],OUTPUT);
 
     pinMode(led[6],OUTPUT);
 
     pinMode(BTN,INPUT_PULLUP);
 
     pinMode(BTN,INPUT_PULLUP);
     randomSeed(analogRead(0)); //On initialise notre random
+
     //randomSeed(analogRead(0)); //On initialise notre random
 +
    //Serial.begin(9600)
 
   }
 
   }
 
    
 
    
 
   void loop() {
 
   void loop() {
 
     // put your main code here, to run repeatedly:
 
     // put your main code here, to run repeatedly:
     etat_btn == digitalRead(9);
+
     etat_btn = digitalRead(BTN);
 
     if ( etat_btn == LOW ){ //On regarde si notre capteur (à la broche 3) est allumé : "low" puisque input_pullup inverse le mode input
 
     if ( etat_btn == LOW ){ //On regarde si notre capteur (à la broche 3) est allumé : "low" puisque input_pullup inverse le mode input
 
       int chiffre_de,i;
 
       int chiffre_de,i;
Ligne 105 : Ligne 110 :
 
   // Je n'ai pas mis de delay() puisque le programme marche seulement apres l'appui du btn
 
   // Je n'ai pas mis de delay() puisque le programme marche seulement apres l'appui du btn
  
(A voir si le programme marche ou pas)
+
Ce code marche avec notre carte.
 
 
A venir : le code test de notre carte si ci-dessus de marche pas
 
  
 
= <div class="mcwiki-header" style="border-radius: 15px; padding: 15px; font-weight: bold; text-align: center; font-size: 80%; background: #C2E5FF; vertical-align: top; width: 98%;"> '''Création de notre clé usb''' </div> =
 
= <div class="mcwiki-header" style="border-radius: 15px; padding: 15px; font-weight: bold; text-align: center; font-size: 80%; background: #C2E5FF; vertical-align: top; width: 98%;"> '''Création de notre clé usb''' </div> =

Version du 27 mars 2020 à 14:47



Introduction

Le but de notre projet est de fabriquer une clé usb avec une fonctionnalité originale : la fusion entre alarme et une horloge. Nous allons créer en parallèle avec la clé usb, un véritable réveil portatif.


Fonctionnalité et matériel utilisé

Fonctionalités de la clé :


- Capacité de la mémoire

- Vitesse de lecture (entre basse et haute vitesse)


Fonctionalités ajoutées :


- Affichage de l'heure
Micro-contrôleur AVR ATMega16u2

- Bipeur à chaque changement d'heure

- ...


Matériel utilisé :


- Carte électronique

- Micro-contrôleur AVR

- Mémoire et autre composants (résistances, condensateurs...)

-

Initiation aux logiciels

Pour nous familiariser avec les logiciels Fritzing et IDE Arduino, nous avons crée un dé, voici les composants pour la création de notre dé :


- ATtiny84 avec 14 pattes

- 7 leds vertes

- 7 résistances de 220 ohm de préférence

- une batterie et un bouton poussoir


Dans un temps, on a crée le schéma PCB de notre dé, puis nous avons relier les composants ensemble sur le schéma "circuit imprimé" dans le logiciel Fritzing

Schéma de notre dé
Fichier:PCB dé.PNG
PCB de notre dé

Ensuite, nous avons programmer notre ATtiny84 à l'aide de l'IDE Arduino, dans un premier temps, nous avons crée ce programme :

  //Le port 0 correspond à la led 1
  //Le port 1 correspond à la led 2
  //Le port 2 correspond à la led 3
  //Le port 3 correspond à la led 4
  //Le port 4 correspond à la led 5
  //Le port 5 correspond à la led 6
  //Le port 6 correspond à la led 7
  //Le port 9 correspond au bouton
  //J'ai pris le chiffre des pattes de attiny84 non-alternative pinout comme vous avez dit
  int led[7]={0,1,2,3,4,5,6};
  int etat_btn=0;
  BTN =9
  const int etat_de[7][7]={                        //Ici, les états que peut prendre notre dé en fonction du chiffre obtenu.
    {LOW,LOW,LOW,LOW,LOW,LOW,LOW},
    {LOW,LOW,LOW,HIGH,LOW,LOW,LOW},
    {LOW,HIGH,LOW,LOW,LOW,LOW,HIGH},
    {LOW,HIGH,LOW,HIGH,LOW,LOW,HIGH},
    {HIGH,HIGH,LOW,LOW,LOW,HIGH,HIGH},
    {HIGH,HIGH,LOW,HIGH,LOW,HIGH,HIGH},
    {HIGH,HIGH,HIGH,LOW,HIGH,HIGH,HIGH},
  };
  
  void setup() {
   // put your setup code here, to run once:
   pinMode(led[0],OUTPUT); // On indique de les broches 10 à 3 peuvent recevoir du courant
   pinMode(led[1],OUTPUT);
   pinMode(led[2],OUTPUT);
   pinMode(led[3],OUTPUT);
   pinMode(led[4],OUTPUT);
   pinMode(led[5],OUTPUT);
   pinMode(led[6],OUTPUT);
   pinMode(BTN,INPUT_PULLUP);
   //randomSeed(analogRead(0)); //On initialise notre random
   //Serial.begin(9600)
 }
  
 void loop() {
   // put your main code here, to run repeatedly:
   etat_btn = digitalRead(BTN);
   if ( etat_btn == LOW ){ //On regarde si notre capteur (à la broche 3) est allumé : "low" puisque input_pullup inverse le mode input
     int chiffre_de,i;
     chiffre_de=random(1,7);
     for(i=0;i<7;i++){
       digitalWrite(led[i],etat_de[chiffre_de][i]);}} //On effectue les actions à faire pour les 7 leds
 }
 // Je n'ai pas mis de delay() puisque le programme marche seulement apres l'appui du btn

Ce code marche avec notre carte.

Création de notre clé usb

Nous avons repris la clé usb issue du fichier "Cle_usb_bisv2.fzz" (On peut toujours changer si nécessaire)
Afficheur 7seg ou création d'un afficheur

Cependant, comment va t'on crée notre horloge?

On va faire un programme, avec un micro-controleur contrôlant un afficheur 7seg : exemple [1]

Schéma de base de notre circuit

Voici le matériel :

- 11 résistances

- afficheur 4 chiffres 7seg [2]

- Micro-controleur (à voir le modèle)

- transistor (à voir le modèle)

Premier schéma de notre circuit 7 segments
















( Le modèle du transistor, valeur de résistance et le micro-contrôleur reste à changer )

Calcul de la résistance

Voici les données de notre afficheur 7seg : Tension direct des leds : 2.2V, Courant direct des leds : 20mA. Par un calcul simple, il nous faut des résistances de 55Ω pour les leds

LA SUITE JEUDI 26 MARS 2020