Objectifs
- Importance
- Comment générer une sortie TOR (LEDs)
- Comment lire une entrée TOR (Interrupteurs)
- Comment allumer une LED ou plusieurs
- Savoir les fonctions de bases des E/S
- Limitations
- Etc.
Importance
- Commande TOR
- Génération des signaux
- Transmission des données
- Contrôle commande
Configuration des pins: pinMode(NumPin, Mode);
Exemples
pinMode(0, INPUT);
pinMode(1, OUTPUT);
Générer une sortie TOR
digitalWrite(NumPin,Etat);
Exemple
digitalWrite(0,false);
digitalWrite(1,true);
Lire une entrée TOR
Etat=digitalRead(NumPin);
Exemples
bool Etat0,Etat1;
Etat0=digitalRead(0);
Etat0=digitalRead(1);
Commande des LEDs
#define PinIn1 1
#define PinIn2 2
#define PinIn3 3
#define PinOut1 4
#define PinOut2 5
byte in1,in2,in3, inSum;
void setup() {
// Init pin IN
pinMode(PinIn1, INPUT);
pinMode(PinIn2, INPUT);
pinMode(PinIn3, INPUT);
// Init pin OUT
pinMode(PinOut1, OUTPUT);
pinMode(PinOut2, OUTPUT);
}
void loop() {
// Lecture des entrées
in1=digitalRead(PinIn1);
in2=digitalRead(PinIn2);
in3=digitalRead(PinIn3);
inSum=in1+in2+in3; // 0, 1, 2, 3
// Affectation des sorties
digitalWrite(PinOut1, true);
digitalWrite(PinOut2, false);
delay(100*(inSum+1));
digitalWrite(PinOut1, false);
digitalWrite(PinOut2, true);
delay(100*(inSum+1));
}
Limitations des fonctions
- Lecture/écriture seule
- Code longue lorsque le nombre d’E/S est important
- Lecture/écriture séquentielle => introduction de la latence => réduction de la fréquence maximale
Sujets connexes
- Arduino augmenter entrées sorties
- Arduino sortie analogique
- Entrée sortie numérique
- Arduino Uno
- Entrée analogique Arduino
- Arduino lire l’état d’une sortie
- Arduino entrée analogique en digital
- Lire une entrée digital Arduino