Bonjour à tous
Je me lance dans un projet perso avec un Attiny 5 et j'ai des difficultés pour détecter l'appui d'un bouton relié à une entrée. Je suis électronicien de base pas programmeur.
Voici le code
Code C : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32 // déclaration des variables locales int var1; int regport = 0; // setup void setup () { DDRB = 0b0100; // on configure PB3 en sortie PORTB = 0b0100; // PB3 à l'état haut regport =PINB; // regport enregistre l'état des entrées du portB } // création de la fonction delay por Attiny5 void delay (int millis) { for (volatile unsigned int i = 34*millis; i>0; i--); } // boucle principale void loop () { var1 = PINB; // Var1 prend l'état des entrées du portB // test si Var1 est différent de regport pour savoir si l'entrée B0 à changé d'état if(var1!= regport){ PORTB = 0b0000; // on mets la sortie PB3 à zéro delay(200); // on attends 200 milisecondes PORTB = 0b0100; // on mets la sortie PB3 à un } }
le datasheet https://ww1.microchip.com/downloads/...S40002060A.pdf
Je vous joint le schéma
Ma difficulté et sur le test de l'entrée PB0 je ne suis pas sur que ce soit bon car le code tel qu'il est ecrit tourne en boucle en faisant clignoter la led alors que je voudrait simplement l'éteindre 200 millisecondes à chaque appui sur le bouton .
Si vous avez des pistes soit coté hard ou coté soft je suis preneur
Partager