Arduino #20: les entrées/sorties E/S TOR

Objectifs

  1. Importance
  2. Comment générer une sortie TOR (LEDs)
  3. Comment lire une entrée TOR (Interrupteurs)
  4. Comment allumer une LED ou plusieurs
  5. Savoir les fonctions de bases des E/S
  6. Limitations
  7. 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

Articles

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Anti-Robot *