Bonjour,
Opérant mes premiers pas avec ARDUINO, j'ai maquetté un petit automatisme sur UNO. Certainement pas optimisé mais qui me satisfait. Je souhaite le pérenniser sur une carte NANO (officielle) mais damned il ne fonctionne plus !
En essayant d'isoler le problème, celui-ci semble tenir à mon écriture de conditions pour activer ou non les broches de sortie.
Plus je cherche, plus je butte, moins j'ai de capacité d'analyse. Merci de m'apporter votre éclairage.
Et pourquoi diable ça fonctionne sur UNO et pas sur NANO ?
Code : 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
33
34
35
36
37
38
39
40
41
42
43
44
45
46 // ========================= 1. ENTETE DECLARATIVE ====================================================== boolean A = 0; // Soit 6 variables pouvant prendre un état logique 0 ou 1 boolean B = 0; boolean C = 0; boolean D = 0; boolean E = 0; boolean F = 0; // ========================== 2. FONCTION SETUP = CODE D'INITIALISATION ================================= void setup() { // ------- Broches en sorties numériques ------- pinMode(6,OUTPUT); pinMode(7,OUTPUT); } // fin de la fonction void setup() //============================= 3. FONCTION LOOP = BOUCLE SANS FIN = COEUR DU PROGRAMME ================== void loop() { // Première écriture if (A + B + C) {digitalWrite(6,HIGH) ;} // Si l'une ou l'autre des variables A B ou C est vraie j'allume la pin 6 else {digitalWrite(6,LOW);} // En réalité la broche se met à l'état 1 (alors que 0 attendu dans le cas présent). Why ? // Deuxième écriture if ((D==1) || (E==1) || (F==1)) {digitalWrite(7,HIGH) ;} // Si l'une ou l'autre des variables D E ou F =1 j'allume la pin 6 else {digitalWrite(7,LOW);} // En réalité là également la broche se met à l'état 1. Why? delay(2000); } // fin de la fonction loop() - le programme recommence au début de la fonction loop sans fin // ================================== FIN DU PROGRAMME ===================================
Partager