Binome2019-11 : Différence entre versions

De Wiki de bureau d'études PeiP
(Calcul de la résistance)
(Initiation aux logiciels)
Ligne 68 : Ligne 68 :
 
   //Le port 4 correspond à la led 7
 
   //Le port 4 correspond à la led 7
 
   //Le port 1 correspond au bouton
 
   //Le port 1 correspond au bouton
   //J'ai pris le chiffre des pattes de attiny alternative pinout comme vous avez dit
+
   //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;
 
   int etat_btn=0;
 
   const int etat_de[7][7]={                        //Ici, les états que peut prendre notre dé en foncion du chiffre obtenu.
 
   const int etat_de[7][7]={                        //Ici, les états que peut prendre notre dé en foncion du chiffre obtenu.
Ligne 83 : Ligne 83 :
 
   void setup() {
 
   void setup() {
 
     // put your setup code here, to run once:
 
     // put your setup code here, to run once:
     pinMode(10,OUTPUT); // On indique de les broches 10 à 3 peuvent recevoir du courant
+
     pinMode(0,OUTPUT); // On indique de les broches 10 à 3 peuvent recevoir du courant
     pinMode(9,OUTPUT);
+
     pinMode(1,OUTPUT);
     pinMode(8,OUTPUT);
+
    pinMode(2,OUTPUT);
     pinMode(7,OUTPUT);
+
    pinMode(3,OUTPUT);
 +
     pinMode(4,OUTPUT);
 +
     pinMode(5,OUTPUT);
 
     pinMode(6,OUTPUT);
 
     pinMode(6,OUTPUT);
     pinMode(5,OUTPUT);
+
     pinMode(9,INPUT_PULLUP);
    pinMode(4,OUTPUT);
 
    pinMode(1,INPUT_PULLUP);
 
 
     randomSeed(analogRead(0)); //On initialise notre random
 
     randomSeed(analogRead(0)); //On initialise notre random
 
   }
 
   }
Ligne 96 : Ligne 96 :
 
   void loop() {
 
   void loop() {
 
     // put your main code here, to run repeatedly:
 
     // put your main code here, to run repeatedly:
     etat_btn == digitalRead(1);
+
     etat_btn == digitalRead(9);
 
     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;
 
       chiffre_de=random(1,7);
 
       chiffre_de=random(1,7);
 
       for(i=0;i<7;i++){
 
       for(i=0;i<7;i++){
         digitalWrite(10-i,etat_de[chiffre_de][i]);}} //On effectue les actions à faire pour les 7 leds
+
         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
 
   // Je n'ai pas mis de delay() puisque le programme marche seulement apres l'appui du btn

Version du 24 mars 2020 à 12:36



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 poussoire


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...)

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

  //Le port 10 correspond à la led 1
  //Le port 9 correspond à la led 2
  //Le port 8 correspond à la led 3
  //Le port 7 correspond à la led 4
  //Le port 6 correspond à la led 5
  //Le port 5 correspond à la led 6
  //Le port 4 correspond à la led 7
  //Le port 1 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;
  const int etat_de[7][7]={                        //Ici, les états que peut prendre notre dé en foncion du chiffre obtenu.
    {LOW,LOW,LOW,LOW,LOW,LOW,LOW},
    {LOW,LOW,LOW,HIGH,LOW,LOW,LOW},
    {HIGH,LOW,LOW,LOW,LOW,LOW,HIGH},
    {HIGH,LOW,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(0,OUTPUT); // On indique de les broches 10 à 3 peuvent recevoir du courant
   pinMode(1,OUTPUT);
   pinMode(2,OUTPUT);
   pinMode(3,OUTPUT);
   pinMode(4,OUTPUT);
   pinMode(5,OUTPUT);
   pinMode(6,OUTPUT);
   pinMode(9,INPUT_PULLUP);
   randomSeed(analogRead(0)); //On initialise notre random
 }
  
 void loop() {
   // put your main code here, to run repeatedly:
   etat_btn == digitalRead(9);
   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

(A voir si le programme marche ou pas)

A venir : le code test de notre carte si ci-dessus de marche pas

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.5V, 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