dreambox a écrit:
Dans les trois cas, tu as juste déclaré des variables en affectant des valeurs à ses variables
PotPin, ledPin et ledValue sont les variables
A0, 13 et 0 sont les valeurs
Comme on dit au Chiffres et aux Lettres: pas mieux!
Je pense que le problème vient de la différence avec SIOC qui confond variable et broche.
------------------------ Mode TUTO ON --------------------------------------------
Dans tout code Arduino, même le plus simple, il y a au moins deux sections, Setup() et loop().
Par exemple, dans l'éditeur de l'environnement de développement Arduino, avec la commande
Fichier/exemple/01-Basics/Bare minimum) on ouvre le fichier suivant:
- Code: Tout sélectionner
void setup(){
}
void loop(){
}
avec des accolades ouvrantes { et fermantes } pour chacune des sections.
1-La section Setup()Tout ce qui se trouve à l'intérieur de la section Setup() est exécuté une seule fois à l'initialisation de l'Arduino (en gros à la mise sous tension, au branchement sur le port USB ou après un appui sur le bouton Reset de la carte)
C'est dans cette section qu'on va indiquer à Arduino comment gérer les broches (pins):
- comme une entrée (avec l'instruction pinMode(XXX, INPUT) qui indique que la broche XXX sera configurée en entrée);
- comme une sortie (avec l'instruction pinMode(XXX, OUTPUT)qui indique que la broche XXX sera configurée en sortie);
- comme une entrée utilisant la résistance interne "Pull-Up" de 10 Kohms de chaque port (avec l'instruction pinMode(XXX,INPUT_PULLUP) OU BIEN en faisant suivre l'instruction pinMode(XXX,INPUT) par l'instruction digitalWrite(XXX,HIGH))
On comprend tout l'intérêt d'une ou plusieurs boucles "for" pour configurer les 70 broches d'une Arduino!
Maintenant rien n'empêche AVANT la section setup(), d'affecter le numéro de la broche à une variable, à qui on donne un nom intelligent du genre "ledPin" et à qui on affecte une valeur que l'on pourra ainsi changer plus facilement si besoin plutôt que plonger dans le code. Par exemple instruction du genre
- Code: Tout sélectionner
int ledPin=13
, déclare une variable de type "entier" (int) qu'on nomme "ledPin" et lui affecte en même temps la valeur 13.
Mais pour l'Arduino et son compilateur la variable pourrait aussi bien s'appeler TOTO ça marcherait pareil....(on peut aussi utiliser #define qui ne prendra aucune place dans le code compilé alors qu'une variable si...)
Dans la section Setup() on trouverait alors pour la broche 13 configurée en sortie:
pinMode(ledPin,OUTPUT)
ou
pinMode(TOTO,OUTPUT)
Dans la section Setup(), on va donc en profiter pour initialiser des variables en leur affectant leur valeurs d'origine genre quantité de carburant, tension batterie, état du train....
On peut également changer l'état des sorties au démarrage, par exemple allumer ou éteindre telle Led de manière à correspondre à un état précis avec l'instruction
- Code: Tout sélectionner
digitalWrite(XXX,HIGH)
ou
- Code: Tout sélectionner
digitalWrite(XXX,LOW)
. La broche devra bien entendu avoir été définie au préalable comme une sortie avec l'instruction pinMode!
On va aussi configurer la vitesse (en bits/sec) du port série (USB) (avec l'instruction
Serial.begin(ZZZZ), ZZZZ variant habituellement entre 9600 et 115200), etc....
La section loop()Comme son nom l'indique, cette section est répétée en boucle sans fin, jusqu'à ce qu'on débranche la carte ou qu'on appuie sur le bouton Reset.
On a donc intérêt à ne pas trop remplir cette section d'instructions, mais plutôt à faire des appels à des fonctions externes à la section loop(). Une fois la fonction externe exécutée, le code retourne automatiquement à l'instruction suivante dans la section loop(). La fonction externe peut elle même faire appel à d'autres fonctions externes, sur le principe des poupées russes!
------------------------------------ MODE TUTO OFF ---------------------------------
En rédigeant ces mots, je me rends compte qu'un extrait commenté d'un des codes de Link2Fs permettrait peut être d'en comprendre la structure, car il est vrai que je me suis un peu arraché les cheveux au début. On va finir mon déménagement et je m'y colle si ça peut intéresser quelqu'un
Amicalement
Jacques