Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédenteDernière révisionLes deux révisions suivantes |
microc:arduino:esnumeriques [2023/08/20 11:00] – [3.4 Générer un signal PWM] phil | microc:arduino:esnumeriques [2023/08/20 11:03] – [3.2 Lire l'état logique présent sur une broche] phil |
---|
{{ :arduino:arduino.png?nolink&100|}} | {{ :arduino:arduino.png?nolink&100|}} |
| |
==== 1. Généralités ==== | |
//« Dans un système à base de **microcontrôleur**, on appelle **entrées-sorties** les échanges d'informations entre le processeur et les périphériques qui lui sont associés. De la sorte, le système peut réagir à des modifications de son environnement, voire le contrôler. Elles sont parfois désignées par l'acronyme **I**/**O**, issu de l'anglais **Input**/**Output** ou encore **E**/**S** pour **entrées**/**sorties**. »// Source Wikipédia | |
| |
Pour éviter de faire référence à des valeurs électriques (tension ou intensité), on définit souvent l’état d’un signal numérique en utilisant la logique booléenne. | |
* **true** (« **1** » logique) correspondra par exemple à **5V** ou **3,3V** | |
* **false** (« **0** » logique) correspondra à **0V**. | |
| |
<callout type="primary" icon="true">Le nombre de broches d’un microcontrôleur est limité. Il est fréquent d’avoir plusieurs fonctionnalités sur une même broche.</callout> | |
| |
<callout type="warning" icon="true">Une sortie numérique conserve la dernière information qui lui a été envoyée. Elle se comporte comme une **mémoire**.</callout> | |
| |
---- | |
| |
==== 2. Les entrées/sorties numériques de la carte Arduino Uno ==== | |
Les entrées, sorties numériques sont numérotées entre **0** et **13** sur la carte. Certaines peuvent assurer plusieurs fonctions. Le symbole **~** identifie les broches capables de délivrer un signal PWM. | |
| |
{{ :arduino:esnum.png?nolink |}} | |
| |
<callout type="primary" icon="true">Le **schéma** de la carte est téléchargeable <html><a href="http://marcusjenkins.com/wp-content/uploads/2014/06/ARDUINO_V2.pdf" target="_blank">ici</a></html>.</callout> | |
==== 3. Programmation ==== | ==== 3. Programmation ==== |
| |
=== 3.1 Configurer une broche en entrée ou en sortie === | |
**Source** : <html><a href="https://www.arduino.cc/reference/en/language/functions/digital-io/pinmode/" target="_blank">pinMode()</a></html> sur le site <html><a href="https://www.arduino.cc/" target="_blank">arduino.cc</a></html> | |
| |
<callout type="tip" icon="true">**Configurer** une broche signifie qu'on précise qu'elle doit se comporter soit comme une entrée d'information, soit comme une sortie d'information.</callout> | |
| |
__Exemple__ | |
| |
<code cpp *.cpp> | |
// Sauf exception la configuration d'une broche se fait dans la fonction setup() | |
void setup() { | |
pinMode(13,OUTPUT); // la broche 13 se comporte comme une sortie | |
pinMode(12,INPUT); // la broche 12 se comporte comme une entrée, | |
// optionnel si la broche n'a pas été préalablement | |
// configurée en sortie, car c'est le mode par défaut | |
} | |
</code> | |
| |
=== 3.2 Lire l'état logique présent sur une broche === | |
**Source** : <html><a href="https://www.arduino.cc/reference/en/language/functions/digital-io/digitalread/" target="_blank">digitalRead()</a></html> sur le site <html><a href="https://www.arduino.cc/" target="_blank">arduino.cc</a></html> | |
| |
<callout type="tip" icon="true">La valeur lue sur une broche configurée en entrée doit être sauvegardée dans une **variable**.</callout> | |
| |
__Exemple__ | |
| |
<code cpp *.cpp> | |
// L'opération de lecture se fait dans la fonction loop(). | |
void loop() { | |
int valeur = digitalRead(12); // l'état logique présent sur la broche 12 est sauvegardé | |
// dans la variable valeur | |
} | |
</code> | |
| |
=== 3.3 Ecrire un état logique sur une broche === | === 3.3 Ecrire un état logique sur une broche === |