Fonctions d'entrée et de sortie d'Arduino

Fonctions d'entrée et de sortie d'Arduino
Pour interfacer la carte Arduino avec différentes puces, capteurs, LED et autres périphériques intégrés, différentes fonctions sont utilisées pour l'entrée et la sortie. De même, pour exécuter le code compilé sur la carte Arduino, ces fonctions sont également utilisées. Ces fonctions d'entrée et de sortie définissent également les entrées et sorties du programme Arduino.

Fonctions d'entrée / sortie

Il existe cinq types de fonctions différents qui sont utilisés dans Arduino pour configurer ses entrées et sorties. Les fonctions de sortie d'entrée suivantes sont brièvement discutées dans ce discours:

  • Fonction PinMode ()
  • Fonction DigitalRead ()
  • Fonction DigitalWrite ()
  • Fonction analogread ()
  • fonction analogwrite ()

Fonction PinMode ()

Pour connecter les périphériques à la carte Arduino, ses épingles sont affectées à chaque appareil qui doit être connecté à la carte Arduino. Le numéro de broche est attribué dans le code Arduino en utilisant la fonction du mode PIN. La fonction du mode PIN a deux arguments: l'un est le numéro de broche, et l'autre est le mode de la broche. Les modes PIN sont divisés en trois types.

  • SAISIR
  • SORTIR
  • Input_pullup

SAISIR : Il définit la broche respective qui sera utilisée comme entrée pour Arduino.

SORTIR : Ce mode est utilisé lorsque l'instruction doit être donnée à tout appareil connecté.

Input_pullup : Ce mode est également utilisé pour attribuer l'état d'entrée à la broche. En utilisant ce mode, la polarité sera inversée de l'entrée donnée par exemple si l'entrée est élevée, cela signifie que le périphérique est désactivé et si l'entrée est faible, cela signifie que l'appareil est allumé. Cette fonction fonctionne à l'aide de résistances internes construites à Arduino.

Syntaxe : Pour utiliser le mode PIN, fonction La syntaxe suivante doit être suivie:

PinMode (numéro d'épingle, mode de broche);

Fonctions DigitalRead () et DigitalWrite ()

Il y a 14 broches numériques dans l'Arduino Uno qui peuvent être utilisées pour les fonctions de lecture et d'écriture. Lorsque l'état d'une broche spécifique doit être connu, la fonction DigitalRead () est utilisée. Cette fonction est une fonction de type retour car elle indique l'état de la broche dans sa sortie.

De même, lorsqu'un état doit être affecté à n'importe quelle broche, une fonction numériquewrite () est utilisée. La fonction numériquewrite () a deux arguments l'un est le numéro de broche et l'autre est l'état qui sera défini par l'utilisateur.

Les deux fonctions sont de type booléen, donc seuls deux types d'états sont utilisés dans la fonction d'écriture numérique, l'un est élevé et l'autre est faible. Pour utiliser DigitalRead () et DigitalWrite (), la syntaxe suivante doit être utilisée:

DigitalRead (numéro d'épingle);
DigitalWrite (numéro d'épingle, état);

Exemple

Dans l'exemple mentionné ci-dessous, les fonctions PinMode (), DigitalRead () et DigitalWrite () sont utilisées:

int boutonpin = 2;
int ledpin = 12;
// Les variables changeront:
INT ButtonState;
void setup()
En série.commencer (9600);
PinMode (LEDPin, sortie);
pinMode (boutonpin, input_pullup);

VOID LOOP ()
ButtonState = DigitalRead (ButtonPin);
En série.println (ButtonState);
if (ButtonState == 1)
// Allumez la LED:
DigitalWrite (LEDPin, 1);
autre
// éteindre la LED:
DigitalWrite (LEDPin, 0);

Dans l'exemple de code, une LED est faite activée et désactivée à l'aide des fonctions d'entrée et de sortie et également un bouton-poussoir est utilisé.

D'abord le numéro de broche pour le bouton et la LED est déclarée et la sortie Input_pullup est donnée au bouton comme son mode, puis la LED reçoit la sortie comme son mode.

Pour lire l'état du bouton, il doit être en mode d'entrée, c'est pourquoi Input_pullup est donné au bouton et dans la fonction de configuration à l'aide du mode PIN, les broches déclarées sont attribuées à Arduino pour le bouton et le LED.

De même, après cela, la boucle lit l'état initial du bouton en utilisant la fonction DigitaraD ().Si l'état du bouton est élevé, la LED sera donnée à l'état élevé, ce qui signifie que la LED s'allumera. Cependant, si l'état du bouton est bas.

Étant donné que l'entrée_pullup est utilisé pour un bouton qui inverse les entrées du bouton comme changer haut en bas et vice versa. Ainsi, lorsque le programme est compilé, la LED s'allume également et en appuyant sur le bouton, la LED s'éteindra.

Sortir

fonctions analogread () et analogwrite ()

L'Arduino Uno a 6 ports analogiques qui peuvent être utilisés par ces fonctions de lecture et d'écriture analogiques. La fonction analogread () lira l'état de la broche analogique et renverra une valeur sous forme de nombres dans la plage de 0 à 1024 pour la résolution de 10 bits et pour une résolution de 12 bits, la plage sera de 0 à 4095.

La résolution du bit est la conversion analogique à numérique, donc pour 10 bits, la plage peut être calculée par 2 ^ 10 et pour 12 bits, il sera respectivement de 2 ^ 12. Cependant, pour attribuer un état à toute broche analogique sur l'Arduino uno, la fonction analogwrite () est utilisée. Il générera l'onde de modulation d'impulsion et l'état sera défini en donnant son cycle de service qui varie de 0 à 255.

La principale différence entre les fonctions analogiques et numériques est que le numérique définit les données sous la forme de haute ou bas tandis que l'analogue donne les données sous la forme d'un cycle de service de la modulation de largeur d'impulsion. La syntaxe de la lecture et de l'écriture analogiques est donnée et après cela, un exemple de code est donné à des fins d'illustration:

Analogread (numéro de broche);
analogwrite (numéro d'épingle, valeur de pin);

Exemple

Pour démontrer l'utilisation de DigitalRead () et DigitalWrite () Fonctionne un programme Arduino pour modifier la luminosité LED est compilé. La luminosité de la LED est modifiée à l'aide du potentiomètre qui est connecté à la broche analogique A3 de l'Arduino. La fonction analogread () lit la sortie du potentiomètre puis les valeurs du potentiomètre sont scalérisées à l'aide de la fonction de carte. Une fois la valeur scalérisée, elle est donnée à la LED.

int led_pin = 4;
void setup()
En série.commencer (9600);
pinMode (LED_PIN, sortie);

VOID LOOP ()
int analogValue = analogread (a3);
INT LIMINTSS = MAP (AnalogValue, 0, 1023, 0, 255);
analogwrite (LED_pin, luminosité);
En série.print ("Analog:");
En série.print (analogValue);
En série.imprimer (", luminosité:");
En série.println (luminosité);
retard (100);

Lorsque la valeur du potentiomètre est nulle, cela signifie que la résistance est maximale et il n'y aura pas de tension fournie à la LED. Ainsi, la valeur de la luminosité sera également nulle, donc la LED restera en dehors de l'état.

Lorsque la valeur du potentiomètre est diminué, la valeur de la luminosité augmentera et donc la LED sera à l'état.

Conclusion

Les fonctions de sortie d'entrée jouent une partie très importante en ce qui concerne les appareils d'interfaçage avec Arduino ou lors de la réalisation de projets matériels. Ces fonctions sont des éléments constitutifs de chaque projet Arduino. Dans cette écriture, les fonctions de sortie d'entrée sont discutées en détail avec l'aide d'exemples de codes.