Binome2019-7 : Différence entre versions
(→Création physique du dé) |
(→Avancement sur la clé USB) |
||
(25 révisions intermédiaires par 2 utilisateurs non affichées) | |||
Ligne 5 : | Ligne 5 : | ||
Les circonstances ont évidemment perturbé notre projet. Nous nous sommes donc tout d'abord concentré sur la bonne marche d'un dé électronique USB. | Les circonstances ont évidemment perturbé notre projet. Nous nous sommes donc tout d'abord concentré sur la bonne marche d'un dé électronique USB. | ||
− | == | + | == Modélisation informatique du dé == |
+ | |||
+ | |||
Pour la réalisation du dé électronique, nous avons commencé par modéliser le PCB de la carte sur le logiciel Fritzing pour le faire imprimer. Le schéma électrique de la carte contient donc tous les composants électroniques qui s'y trouvent : microcontrôleur (attiny84), bouton, alimentation (batterie), 7 resistances, 7 leds. Une fois ces derniers positionnés et reliés entre eux, nous avons pu dessiner le PCB de la carte en prenant garde que les pistes ne se croisent pas afin d'éviter tout coupe circuit ou toute fausse transmission d'information. Les schéma et rendu du PCB sont à voir ci-dessous. | Pour la réalisation du dé électronique, nous avons commencé par modéliser le PCB de la carte sur le logiciel Fritzing pour le faire imprimer. Le schéma électrique de la carte contient donc tous les composants électroniques qui s'y trouvent : microcontrôleur (attiny84), bouton, alimentation (batterie), 7 resistances, 7 leds. Une fois ces derniers positionnés et reliés entre eux, nous avons pu dessiner le PCB de la carte en prenant garde que les pistes ne se croisent pas afin d'éviter tout coupe circuit ou toute fausse transmission d'information. Les schéma et rendu du PCB sont à voir ci-dessous. | ||
− | [[Fichier:PCB 1.png|500px| | + | [[Fichier:PCB 1.png|500px|PCB 1]] |
+ | |||
+ | |||
+ | [[Fichier:PCB 27.png|500px|PCB 27]] | ||
+ | |||
+ | == Réalisation matérielle du dé == | ||
+ | |||
+ | C'est une fois la carte imprimée en main que nous y avons soudé les différents composants planifiés. | ||
+ | Notre première séance de soudure réalisée à Polytech nous a donné la clé suivante : | ||
+ | |||
+ | [[Fichier:2euros.png|500px|2euros]] | ||
+ | |||
+ | |||
+ | Malheureusement, un voyou a dû dérober notre carte, nous avons donc dû recommencer cette dernière chez nous, grâce au matériel généreusement envoyé par notre prof adoré. Le résultat est comme suit : | ||
+ | |||
+ | [[Fichier:Avant.png|500px|Avant]] | ||
+ | |||
+ | [[Fichier:Arriere.png|500px|Arriere]] | ||
+ | |||
+ | == Codage du dé == | ||
+ | |||
+ | Une fois le dé complètement fabriqué, il ne reste plus qu'à coder notre microcontrôleur. On utilise à cette fin l'Arduino IDE. Le code ci-dessous permet de donner un chiffre aléatoire compris entre 1 et 6. A chacune de ces valeurs correspond une combinaison de leds qui permet son affichage par le dé. | ||
+ | |||
+ | Voici le code ci-dessous : | ||
+ | |||
+ | void extinction() { //Permet d'éteindre toutes les leds. Fonction de type "void" car ne fait qu'executer les instructions. | ||
+ | |||
+ | digitalWrite(0, LOW); //Ferme la première led | ||
+ | digitalWrite(1, LOW); //Ferme la deuxième led | ||
+ | digitalWrite(2, LOW); //Ferme la troisième led | ||
+ | digitalWrite(3, LOW); //Ferme la quatrième led | ||
+ | digitalWrite(4, LOW); //Ferme la cinquième led | ||
+ | digitalWrite(5, LOW); //Ferme la sixième led | ||
+ | digitalWrite(6, LOW); //Ferme la septième led | ||
+ | } | ||
+ | void controle_led(int nb) { //Allume les leds affectées à chaque nombre. | ||
− | + | //Paramétré par le chiffre à afficher. | |
+ | switch (nb) { //Idem qu'un if mais en non-booléen. | ||
+ | case 1: | ||
+ | digitalWrite(4, HIGH); | ||
+ | break; | ||
+ | case 2: | ||
+ | digitalWrite(1, HIGH); | ||
+ | digitalWrite(6, HIGH); | ||
+ | break; | ||
+ | case 3: | ||
+ | digitalWrite(0, HIGH); | ||
+ | digitalWrite(3, HIGH); | ||
+ | digitalWrite(4, HIGH); | ||
+ | break; | ||
+ | case 4: | ||
+ | digitalWrite(0, HIGH); | ||
+ | digitalWrite(1, HIGH); | ||
+ | digitalWrite(3, HIGH); | ||
+ | digitalWrite(6, HIGH); | ||
+ | break; | ||
+ | case 5: | ||
+ | digitalWrite(0, HIGH); | ||
+ | digitalWrite(1, HIGH); | ||
+ | digitalWrite(3, HIGH); | ||
+ | digitalWrite(6, HIGH); | ||
+ | digitalWrite(4, HIGH); | ||
+ | break; | ||
+ | case 6: | ||
+ | digitalWrite(0, HIGH); | ||
+ | digitalWrite(1, HIGH); | ||
+ | digitalWrite(2, HIGH); | ||
+ | digitalWrite(3, HIGH); | ||
+ | digitalWrite(5, HIGH); | ||
+ | digitalWrite(6, HIGH); | ||
+ | break; | ||
+ | } | ||
+ | } | ||
+ | |||
+ | int trouver() { | ||
+ | |||
+ | return random(1, 7); | ||
+ | } | ||
+ | |||
+ | //---------------------------------------------------- | ||
+ | |||
+ | void setup() { | ||
+ | |||
+ | pinMode(0, OUTPUT); | ||
+ | pinMode(1, OUTPUT); | ||
+ | pinMode(2, OUTPUT); | ||
+ | pinMode(3, OUTPUT); | ||
+ | pinMode(4, OUTPUT); | ||
+ | pinMode(5, OUTPUT); | ||
+ | pinMode(6, OUTPUT); | ||
+ | pinMode(9,INPUT_PULLUP); | ||
+ | } | ||
+ | |||
+ | void loop() { | ||
+ | |||
+ | if (digitalRead(9) == LOW) { | ||
+ | |||
+ | for (int i = 6; i >=1 ; i--) { // Sers à créer un décompte ( 6, 5, 4, 3, 2, 1...). | ||
+ | afficher(i); | ||
+ | delay(200); | ||
+ | extinction(); | ||
+ | } | ||
+ | controle_led(trouver()); //Affiche le nombre désigné final. | ||
+ | delay(3500); | ||
+ | toutEteindre(); | ||
+ | |||
+ | } | ||
+ | |||
+ | == Avancement sur la clé USB == | ||
+ | |||
+ | Grace au dé électronique, nous avons pu nous bien comprendre le fonctionnement de Fritzing et de l'Arduino | ||
+ | Malheureusement, dû aux dernières circonstances nous n'avons presque rien pu réaliser de ce que l'on souhaitait | ||
+ | |||
+ | Nous avons tout de même pu dresser une liste des composants nécessaires : | ||
+ | |||
+ | *un micro-processeur ATMega8u2 | ||
+ | *une LED | ||
+ | *des résistances | ||
+ | *une puce mémoire | ||
+ | *une alimentation | ||
== Chronologie == | == Chronologie == | ||
+ | |||
+ | |||
+ | Séances du 27/01 et du 10/02 : Découverte du BE et lancement de l'idée de créer plusieurs clés qui se connectent entre elles pour avoir plus de mémoire. | ||
+ | |||
+ | 17/02 : Découverte du logiciel Fritzing et ébauche d'un PCB pour la réalisation d'un dé éléctronique | ||
+ | |||
+ | 02/03 : Finalisation du PCB sur Fritzing | ||
Pour la réalisation d'un dé Utilisation de fritzing pour réaliser un PCB | Pour la réalisation d'un dé Utilisation de fritzing pour réaliser un PCB | ||
[[Fichier:quirin_martin_dé.zip]] | [[Fichier:quirin_martin_dé.zip]] | ||
− | == | + | 05/03 : Première (et dernière) séance de soudure du dé |
+ | |||
+ | Cessions d'écritures du code pour le dé durant plusieurs semaines | ||
+ | |||
+ | 20/04 : Réception des composants nécessaires a la création du dé | ||
+ | |||
+ | 25/04 : Première tentative de soudure | ||
+ | |||
+ | 12/05 : Possibilité de travailler ensemble donc finalisation de la soudure afin d'avoir un dé sans cours-circuit | ||
+ | |||
+ | 16-17-18/05 : Utilisation de l'Arduino pour terminer le dé qui fonctionne parfaitement | ||
+ | |||
+ | == Conclusion == | ||
+ | |||
+ | Même si ce projet n'a pas pu arriver à son terme, nous avons tout de même eu l'opportunité de pouvoir fabriquer un dé ce qui nous a permis de découvrir Fritzing et Arduino, mais aussi de bien progresser sur la soudure et d'élargir nos connaissances en matière d’électronique, qui beaucoup plus moindres en début de semestre. | ||
+ | De plus, nous avons pu apprendre à coder en C et C++, un langage tout nouveau pour nous | ||
+ | Ce Bureau d'études nous aura donc somme toute permis d'apprendre sur le thème de l'informatique et de l'électronique, expérience qui nous sera forcément utile dans le futur. |
Version actuelle datée du 23 mai 2020 à 15:04
Sommaire
Introduction
Par nos premières réflexions, nous avions décidé de créer une clé USB munie d'un système de led confirmant la connexion à un outil informatique. La deuxième idée était d'avoir 2 entrées sur la clé usb afin d'en brancher une deuxième et ainsi d'augmenter sa capacité, même si cette idée semblait assez compliquée a réaliser. Nous allions alors nous atteler à la création d'une clé USB mère (en contact avec le PC) sur laquelle serait venue se brancher d'autres clés filles. Les circonstances ont évidemment perturbé notre projet. Nous nous sommes donc tout d'abord concentré sur la bonne marche d'un dé électronique USB.
Modélisation informatique du dé
Pour la réalisation du dé électronique, nous avons commencé par modéliser le PCB de la carte sur le logiciel Fritzing pour le faire imprimer. Le schéma électrique de la carte contient donc tous les composants électroniques qui s'y trouvent : microcontrôleur (attiny84), bouton, alimentation (batterie), 7 resistances, 7 leds. Une fois ces derniers positionnés et reliés entre eux, nous avons pu dessiner le PCB de la carte en prenant garde que les pistes ne se croisent pas afin d'éviter tout coupe circuit ou toute fausse transmission d'information. Les schéma et rendu du PCB sont à voir ci-dessous.
Réalisation matérielle du dé
C'est une fois la carte imprimée en main que nous y avons soudé les différents composants planifiés. Notre première séance de soudure réalisée à Polytech nous a donné la clé suivante :
Malheureusement, un voyou a dû dérober notre carte, nous avons donc dû recommencer cette dernière chez nous, grâce au matériel généreusement envoyé par notre prof adoré. Le résultat est comme suit :
Codage du dé
Une fois le dé complètement fabriqué, il ne reste plus qu'à coder notre microcontrôleur. On utilise à cette fin l'Arduino IDE. Le code ci-dessous permet de donner un chiffre aléatoire compris entre 1 et 6. A chacune de ces valeurs correspond une combinaison de leds qui permet son affichage par le dé.
Voici le code ci-dessous :
void extinction() { //Permet d'éteindre toutes les leds. Fonction de type "void" car ne fait qu'executer les instructions.
digitalWrite(0, LOW); //Ferme la première led digitalWrite(1, LOW); //Ferme la deuxième led digitalWrite(2, LOW); //Ferme la troisième led digitalWrite(3, LOW); //Ferme la quatrième led digitalWrite(4, LOW); //Ferme la cinquième led digitalWrite(5, LOW); //Ferme la sixième led digitalWrite(6, LOW); //Ferme la septième led
}
void controle_led(int nb) { //Allume les leds affectées à chaque nombre.
//Paramétré par le chiffre à afficher. switch (nb) { //Idem qu'un if mais en non-booléen. case 1: digitalWrite(4, HIGH); break; case 2: digitalWrite(1, HIGH); digitalWrite(6, HIGH); break; case 3: digitalWrite(0, HIGH); digitalWrite(3, HIGH); digitalWrite(4, HIGH); break; case 4: digitalWrite(0, HIGH); digitalWrite(1, HIGH); digitalWrite(3, HIGH); digitalWrite(6, HIGH); break; case 5: digitalWrite(0, HIGH); digitalWrite(1, HIGH); digitalWrite(3, HIGH); digitalWrite(6, HIGH); digitalWrite(4, HIGH); break; case 6: digitalWrite(0, HIGH); digitalWrite(1, HIGH); digitalWrite(2, HIGH); digitalWrite(3, HIGH); digitalWrite(5, HIGH); digitalWrite(6, HIGH); break; }
}
int trouver() {
return random(1, 7);
}
//----------------------------------------------------
void setup() {
pinMode(0, OUTPUT); pinMode(1, OUTPUT); pinMode(2, OUTPUT); pinMode(3, OUTPUT); pinMode(4, OUTPUT); pinMode(5, OUTPUT); pinMode(6, OUTPUT); pinMode(9,INPUT_PULLUP);
}
void loop() {
if (digitalRead(9) == LOW) {
for (int i = 6; i >=1 ; i--) { // Sers à créer un décompte ( 6, 5, 4, 3, 2, 1...). afficher(i); delay(200); extinction(); } controle_led(trouver()); //Affiche le nombre désigné final. delay(3500); toutEteindre(); }
Avancement sur la clé USB
Grace au dé électronique, nous avons pu nous bien comprendre le fonctionnement de Fritzing et de l'Arduino Malheureusement, dû aux dernières circonstances nous n'avons presque rien pu réaliser de ce que l'on souhaitait
Nous avons tout de même pu dresser une liste des composants nécessaires :
- un micro-processeur ATMega8u2
- une LED
- des résistances
- une puce mémoire
- une alimentation
Chronologie
Séances du 27/01 et du 10/02 : Découverte du BE et lancement de l'idée de créer plusieurs clés qui se connectent entre elles pour avoir plus de mémoire.
17/02 : Découverte du logiciel Fritzing et ébauche d'un PCB pour la réalisation d'un dé éléctronique
02/03 : Finalisation du PCB sur Fritzing
Pour la réalisation d'un dé Utilisation de fritzing pour réaliser un PCB Fichier:Quirin martin dé.zip
05/03 : Première (et dernière) séance de soudure du dé
Cessions d'écritures du code pour le dé durant plusieurs semaines
20/04 : Réception des composants nécessaires a la création du dé
25/04 : Première tentative de soudure
12/05 : Possibilité de travailler ensemble donc finalisation de la soudure afin d'avoir un dé sans cours-circuit
16-17-18/05 : Utilisation de l'Arduino pour terminer le dé qui fonctionne parfaitement
Conclusion
Même si ce projet n'a pas pu arriver à son terme, nous avons tout de même eu l'opportunité de pouvoir fabriquer un dé ce qui nous a permis de découvrir Fritzing et Arduino, mais aussi de bien progresser sur la soudure et d'élargir nos connaissances en matière d’électronique, qui beaucoup plus moindres en début de semestre. De plus, nous avons pu apprendre à coder en C et C++, un langage tout nouveau pour nous Ce Bureau d'études nous aura donc somme toute permis d'apprendre sur le thème de l'informatique et de l'électronique, expérience qui nous sera forcément utile dans le futur.