Binome2019-2 : Différence entre versions
(→Illustration du dé électronique) |
(→Devant du dé) |
||
Ligne 170 : | Ligne 170 : | ||
== Devant du dé == | == Devant du dé == | ||
− | [[Fichier:dédevantB2.jpg | + | [[Fichier:dédevantB2.jpg]] |
== Derrière du dé == | == Derrière du dé == |
Version du 7 avril 2020 à 17:49
Sommaire
Introduction
L'objectif de ce nouveau bureau d'étude est de concevoir et créer une clé USB en créant un circuit électronique, en soudant des composants électroniques et en programmant le micro-processeur. L'objectif supplémentaire de bureau d'étude est d'ajouter à notre clé USB une ou plusieurs fonctionnalités qui la rendra unique.
Matériel utilisé
• Circuit imprimé
• Micro-contrôleur
• Mémoire
• Micro-interrupteurs
• Microphone
Code informatique
Code du dé électronique
#include <stdio.h> #include <stdlib.h> #include <time.h> #define LED1 0 #define LED2 1 #define LED3 2 #define LED4 3 #define LED5 4 #define LED6 5 #define LED7 6 int Tableaupin[7]= {5,4,1,3,6,2,0}; int BROCHE_BOUTON=7; void setup() { // initialisation Serial.begin(9600); pinMode(Tableaupin[LED1], OUTPUT); pinMode(Tableaupin[LED2], OUTPUT); pinMode(Tableaupin[LED3], OUTPUT); pinMode(Tableaupin[LED4], OUTPUT); pinMode(Tableaupin[LED5], OUTPUT); pinMode(Tableaupin[LED6], OUTPUT); pinMode(Tableaupin[LED7], OUTPUT); pinMode(BROCHE_BOUTON,INPUT_PULLUP); digitalWrite(Tableaupin[LED1],HIGH); delay(200); digitalWrite(Tableaupin[LED1],LOW); digitalWrite(Tableaupin[LED2],HIGH); delay(200); digitalWrite(Tableaupin[LED2],LOW); digitalWrite(Tableaupin[LED3],HIGH); delay(200); digitalWrite(Tableaupin[LED3],LOW); digitalWrite(Tableaupin[LED4],HIGH); delay(200); digitalWrite(Tableaupin[LED4],LOW); digitalWrite(Tableaupin[LED5],HIGH); delay(200); digitalWrite(Tableaupin[LED5],LOW); digitalWrite(Tableaupin[LED6],HIGH); delay(200); digitalWrite(Tableaupin[LED6],LOW); digitalWrite(Tableaupin[LED7],HIGH); delay(200); digitalWrite(Tableaupin[LED7],LOW); randomSeed(analogRead(0)); } int random_a_b(int a,int b) //fonction qui renvoie un nombre entre a inclus et b exclus { return random()%(b-a) +a; } //fct nombre de leds allumées void de1T() { digitalWrite(Tableaupin[LED4],HIGH); delay(1000); } void de2T() { digitalWrite(Tableaupin[LED3],HIGH); digitalWrite(Tableaupin[LED5],HIGH); delay(1000); } void de3T() { digitalWrite(Tableaupin[LED3],HIGH); digitalWrite(Tableaupin[LED4],HIGH); digitalWrite(Tableaupin[LED5],HIGH); delay(1000); } void de4T() { digitalWrite(Tableaupin[LED1],HIGH); digitalWrite(Tableaupin[LED3],HIGH); digitalWrite(Tableaupin[LED5],HIGH); digitalWrite(Tableaupin[LED7],HIGH); delay(1000); } void de5T() { digitalWrite(Tableaupin[LED1],HIGH); digitalWrite(Tableaupin[LED3],HIGH); digitalWrite(Tableaupin[LED4],HIGH); digitalWrite(Tableaupin[LED5],HIGH); digitalWrite(Tableaupin[LED7],HIGH); delay(1000); } void de6T() { digitalWrite(Tableaupin[LED1],HIGH); digitalWrite(Tableaupin[LED2],HIGH); digitalWrite(Tableaupin[LED3],HIGH); digitalWrite(Tableaupin[LED5],HIGH); digitalWrite(Tableaupin[LED6],HIGH); digitalWrite(Tableaupin[LED7],HIGH); delay(1000); } // fonct eteint lampe void de6F() { digitalWrite(Tableaupin[LED1],LOW); digitalWrite(Tableaupin[LED2],LOW); digitalWrite(Tableaupin[LED3],LOW); digitalWrite(Tableaupin[LED4],LOW); digitalWrite(Tableaupin[LED5],LOW); digitalWrite(Tableaupin[LED6],LOW); digitalWrite(Tableaupin[LED7],LOW); } //fonction d'affichage resultat final void loop() { int LED; // partie selection dé if (digitalRead(BROCHE_BOUTON) == HIGH){ LED=random_a_b(0,6); de6F(); } unsigned char test=(digitalRead(BROCHE_BOUTON)==LOW); switch (LED) { case 0: if (test) de1T(); break; case 1: if (test) de2T(); break; case 2: if (test) de3T(); break; case 3: if (test) de4T(); break; case 4: if (test) de5T(); break; case 5: if (test) de6T(); break; } }
Illustration du dé électronique
Devant du dé
Derrière du dé
Vidéo du dé
Chronologie
27/01/2020
Idée : Synthèse vocale qui décrit tout ce que la clef fait
10/02/2020
Nouvelle idée pour remplacer la précédente : Clé qui se verrouille/déverrouille et pour la déverrouiller de façon originale : crier dessus
Recherche de notre microphone : https://fr.farnell.com/kingstate/kecg2740pbj/microphone-miniature-electret/dp/1299885?gclid=EAIaIQobChMIntmX98TG5wIVVJnVCh1wkga7EAQYAiABEgL_XfD_BwE&gross_price=true&mckv=GxWpbYpX_dc%7Cpcrid%7C80993908502%7C&CMP=KNC-GFR-GEN-SHOPPING-1299885
17/02/2020 & 02/03/2020
Nous avons appris à utiliser le logiciel Fritzing en réalisant le Schematic et le PCB d'un circuit imprimé. Le but est ici de créer un dé avec des leds.
Voici le circuit du dé (face avant) que nous avons réalisé :
Voici le circuit du dé (face arrière) que nous avons réalisé :
09/03/2020
Programmation du dé et début de la soudure
12/03/2020
Fin de la soudure et de la programmation du dé
Test ReX 15/03/2020, Après quelques soudures le programme suivant passe sur l'ATtiny84 :
#define MAX_LED 7 int leds[]={0,1,2,3,4,5,6}; void setup() { int i; for(i=0;i<MAX_LED;i++) pinMode(leds[i], OUTPUT); } void loop() { int i; for(i=0;i<MAX_LED;i++) digitalWrite(leds[i], HIGH); delay(1000); for(i=0;i<MAX_LED;i++) digitalWrite(leds[i], LOW); delay(1000); }
Démonstration de l'exécution : media:binome2019-2-test1.mp4.
16/03/2020
Première séance via chat.plil.fr Test sur la carte, corrections de bugs dans le programme Test à l'aide d'un Arduino Uno et des composants disponibles chez Eve :
19/03/2020
Finalisation du dé électronique et début de la conception de la carte de la clef USB sur Fritzing.
23/03/2020
Nous avions pris la cle_usb_bis du wiki mais nous avons remarqué qu'il n'y avait pas d'I/O analogique donc nous avons pris la clé "plus simple" (cle_usb sur le wiki). Nous avons ensuite ajouté un microphone et un amplificateur :
26/03/2020
Nous avons modifié notre schematic afin qu'il soit plus clair et nous avons changé d'I/O de l'ATMega8u2 le micro afin d'être sur une I/O analogique: