Ligne 1 : |
Ligne 1 : |
| {{ARDX-NAV}} | | {{ARDX-NAV}} |
| | | |
− | {{traduction}}
| |
| == .: Programmation Suite :. == | | == .: Programmation Suite :. == |
| {{bloc-etroit|text=Dans cette seconde partie, nous allons nous pencher sur les opérateurs et le contrôle des entrées/sorties de l'Arduino. | | {{bloc-etroit|text=Dans cette seconde partie, nous allons nous pencher sur les opérateurs et le contrôle des entrées/sorties de l'Arduino. |
| | | |
− | Voyez [[http://ardx.org/PROG ardx.org/PROG] pour une référence complète (''anglais''). | + | Voyez [http://ardx.org/PROG ardx.org/PROG] pour une référence complète (''anglais''). |
| }} | | }} |
| | | |
− | == Opérateurs mathématiques == | + | == Opérateurs de comparaison == |
| + | Opérateurs utilisés pour des comparaisons logiques. |
| | | |
− | {{traduction}} | + | {| class="wikitable" border="1" |
| + | |- |
| + | | align="center" | Opérateur |
| + | | align="center" | Description |
| + | |- style="font-size: 90%" |
| + | | align="left" | == |
| + | | align="left" | (égal à)<br />Ex : 12 == 10 est faux ({{fname|False}}) ou 12 == 12 est vrai ({{fname|True}}) |
| + | |- style="font-size: 90%" |
| + | | align="left" | != |
| + | | align="left" | (différent de)<br />Ex: 12 != 10 est vrai ({{fname|True}}) ou 12 != 12 est faux ({{fname|False}}) |
| + | |- style="font-size: 90%" |
| + | | align="left" | < |
| + | | align="left" | (moins que, inférieur à)<br />Ex : 12 < 10 est faux ({{fname|False}}) ou 12 < 12 est faux ({{fname|False}}) ou 12 < 14 est vrai ({{fname|True}}) |
| + | |- style="font-size: 90%" |
| + | | align="left" | > |
| + | | align="left" | (plus grand que, supérieur à)<br />Ex : 12 > 10 est vrai ({{fname|True}}) ou 12 > 12 est faux ({{fname|False}}) ou 12 > 14 est faux ({{fname|False}}) |
| + | |} |
| + | |
| + | {{underline|Note:}} Il est possible de combiner les <,> avec le signe =. Ainsi, la combinaison >= (plus grand ou égal) permet d'écrire un test 12 >= 12 qui, cette fois, sera vrai ({{fname|True}}). De façon similaire, vous pourrez écrire une comparaison <= (inférieur ou égal). |
| + | |
| + | == Structure de contrôle == |
| + | L'ordre des séquences exécutées dépendent du programme, voici quelques éléments de contrôles élémentaires précisant au programme comment il doit fonctionner (il y en a bien plus de décrit sur le site). |
| + | |
| + | === Si Alors Sinon === |
| + | <nowiki>if(condition){ } |
| + | else if( condition ){ } |
| + | else { }</nowiki> |
| + | |
| + | Cela exécute le code entre les accolades si la condition "{{fname|if}}" est vraie ({{fname|True}}), sinon il va tester la condition "{{fname|else if}}" pour exécuter le bloc associé. |
| + | |
| + | Si cette condition est également fausse alors il exécutera le code du bloc "{{fname|else}}". |
| + | |
| + | === Boucle For === |
| + | <nowiki>for(int i = 0; i < #répétition; i++) { }</nowiki> |
| + | |
| + | Utilisé quand vous voulez exécuter un bout de code un nombre précis de fois (utilise i++ pour compter ou i-- pour décompter ou bien utiliser une variable) |
| + | |
| + | == Contrôle digital == |
| + | Votre carte Arduino dispose de broches d'entrée/sortie, voici comment les contrôler. |
| + | |
| + | <nowiki>pinMode(pin, mode); |
| + | digitalWrite(pin, value); |
| + | int digitalRead(pin);</nowiki> |
| + | |
| + | === pinMode === |
| + | <nowiki>pinMode(pin, mode);</nowiki> |
| + | |
| + | {{fname|pinMode}} est utilisé pour déclarer le mode d'une broche. "pin" est le numéro de la broche que vous voulez contrôler (0-19). |
| + | |
| + | Le mode peut-être soit {{fname|INPUT}} (entrée), soit {{fname|OUTPUT}} (sortie). |
| + | |
| + | === digitalWrite === |
| + | <nowiki>digitalWrite(pin,value);</nowiki> |
| + | |
| + | Une fois la broche déclarée comme OUTPUT avec {{fname|pinName}}, elle peut être mise soit à l'état {{fname|HIGH}} (niveau logique haut, potentiel tiré à +5 volts) ou l'état {{fname|LOW}} (niveau logique bas, potentiel tiré à la masse/ground). |
| + | |
| + | * pin: est le numéro de broche |
| + | * value: le niveau logique désiré (soit {{fname|HIGH}} ou {{fname|LOW}} |
| + | |
| + | === digitalRead === |
| + | <nowiki>int digitalRead(pin);</nowiki> |
| + | |
| + | Une fois la broche déclarée comme {{fname|INPUT}} avec {{fname|pinMode}}, vous pouvez lire l'état de cette broche et savoir si elle est placée au niveau haut ({{fname|HIGH}}, au potentiel +5 volts) ou niveau bas ({{fname|LOW}}, potentiel de la masse/GND, soit 0 volt) par le montage. |
| + | |
| + | == Contrôle analogique == |
| + | Arduino est une machine digitale mais elle est capable de fonctionner dans le monde analogique grâce à des astuces. |
| + | |
| + | Voici comment gérer les cas non digitaux. |
| + | |
| + | === analogWrite === |
| + | <nowiki>int analogWrite(pin,value);</nowiki> |
| + | |
| + | Certaines broches d'Arduino supporte la modulation d'impulsion (3, 5, 6, 9, 10, 11). |
| + | |
| + | Cela active et désactive la broche très rapidement, la faisant agir "comme" une sortie analogique. cela s'appelle un signal PWM. |
| + | |
| + | La valeur utilisée est un nombre entre 0 (0% de cycle utile approximativement 0v) et 255 (100% de cycle utile ~5 volts). |
| + | |
| + | === analogRead === |
| + | <noiki>int analogRead(pin);</nowiki> |
| + | |
| + | Quand une broche analogique est déclarée comme entrée ({{fname|INPUT}}) à l'aide de {{fname|pinMode}}, vous pouvez y lire sa tension. |
| + | |
| + | La valeur retournée est entre 0 (pour 0 volts) et 1024 (pour 5 volts). |
| | | |
| {{ARDX-TRAILER}} | | {{ARDX-TRAILER}} |