Binome2019-11 : Différence entre versions
(→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 | + | //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( | + | pinMode(0,OUTPUT); // On indique de les broches 10 à 3 peuvent recevoir du courant |
− | pinMode( | + | pinMode(1,OUTPUT); |
− | pinMode( | + | pinMode(2,OUTPUT); |
− | pinMode( | + | pinMode(3,OUTPUT); |
+ | pinMode(4,OUTPUT); | ||
+ | pinMode(5,OUTPUT); | ||
pinMode(6,OUTPUT); | pinMode(6,OUTPUT); | ||
− | pinMode( | + | pinMode(9,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( | + | 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( | + | 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
Sommaire
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 :
- 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)
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)
( 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