ARDUINO: Digital Read Serial

Digital Read Serial
Cet exemple vous montre comment surveiller l'état d'un commutateur en établissant une communication série entre votre Arduino et votre ordinateur via USB.
Matériels requis
      ·      Carte Arduino
      ·      Un bouton poussoir
      ·      Résistance de 10k ohm
      ·      fils de raccordement
      ·      plaque à trous
Circuit

Connectez trois fils à la carte. Les deux premiers, rouge et noir, se connectent aux deux longues rangées verticales sur le côté de la carte de test pour permettre l'accès à l'alimentation 5 volts et à la masse. Le troisième fil passe de la broche numérique 2 à une branche du bouton-poussoir. Cette même pin du bouton se connecte à travers une résistance pull-down (ici 10k ohms) à la masse. L'autre pin du bouton se connecte à l'alimentation 5 volts.
Les boutons poussoirs ou les commutateurs connectent deux points dans un circuit lorsque vous les appuyez. Lorsque le bouton-poussoir est ouvert (non pressé) il n'y a pas de connexion entre les deux branches du bouton-poussoir, donc la broche est connectée à la masse (à travers la résistance pull-down) et indique LOW ou 0. Lorsque le bouton est fermé), il fait une connexion entre ses deux pins, reliant la broche à 5 volts, de sorte que la broche se lit comme HIGH, ou 1.
Si vous déconnectez la broche d'E/S numérique de tout, la LED peut clignoter de manière erratique. C'est parce que l'entrée est "flottante" - c'est-à-dire qu'elle n'a pas une connexion solide à la tension ou à la masse, et elle retournera au hasard soit HAUTE, soit BASSE. C'est pourquoi vous avez besoin d'une résistance de pull-down dans le circuit.
Schématique

Code
Dans le programme ci-dessous, la toute première chose que vous ferez dans la fonction de configuration est de commencer les communications série, à 9600 bits de données par seconde, entre votre carte et votre ordinateur avec la ligne:
Serial.begin(9600);
Ensuite, initialisez la broche numérique 2, la broche qui lira la sortie de votre bouton, en entrée:
pinMode(2,INPUT);
Maintenant que votre configuration est terminée, déplacez-vous dans la boucle principale de votre code. Lorsque votre bouton est pressé, 5 volts circulent librement dans votre circuit, et quand il n'est pas pressé, la broche d'entrée sera connectée à la masse à travers la résistance de 10k ohms. Ceci est une entrée numérique, ce qui signifie que le commutateur ne peut être que dans un état activé (vu par votre Arduino comme un "1" ou HIGH) ou un état éteint (vu par votre Arduino comme un "0", ou LOW), avec rien entre.
La première chose que vous devez faire dans la boucle principale de votre programme est d'établir une variable pour contenir les informations provenant de votre commutateur. Puisque les informations provenant du commutateur seront soit "1" soit "0", vous pouvez utiliser un int type de données . Appelez cette variable sensorValue, et réglez-la pour qu'elle soit identique à celle qui est en train d'être lue sur la broche numérique 2. Vous pouvez accomplir tout cela avec une seule ligne de code:
int sensorValue = digitalRead(2);
Une fois que le bord a lu l'entrée, faites-le imprimer cette information sur l'ordinateur en tant que valeur décimale. Vous pouvez le faire avec la commande Serial.println () dans notre dernière ligne de code:
Serial.println(sensorValue);
Maintenant, lorsque vous ouvrez votre moniteur série dans le logiciel Arduino (IDE), vous verrez un flux de "0" si votre commutateur est ouvert, ou "1" si votre commutateur est fermé.
/ *
      DIY Electronics par Bessem BELGHITH 
      DigitalReadSerial
      Lit une entrée numérique sur la broche 2, imprime le résultat sur le          moniteur série
* / 


    // La broche numérique 2 est dotée d'un bouton-poussoir. Donnez-lui un      nom: 
  int pushButton = 2 ;

  // la routine d'installation s'exécute une fois lorsque vous appuyez sur      reset: 
  void setup ( ) {
  
// initialise la communication série à 9600 bits par seconde: 
  
Serial . commencer ( 9600 ) ;
  
// fait de la broche du bouton une entrée: 
  
pinMode (pushButton , INPUT ) ;
}

   // le sous-programme de la boucle est répété indéfiniment: 
void loop ( ) {
  
// lecture de la broche d'entrée: 
  
int buttonState = digitalRead ( pushButton ) ;
  
// affiche l'état du bouton: 
  
Serialprintln ( buttonState ) ;
  
delay ( 1 ) ;        // délai entre les lectures pour la stabilité 
}

Aucun commentaire:

Enregistrer un commentaire