INSTRUCTIONS ARDUINO. (2011)
Voici les instructions du langage de programmation d'ARDUINO,
les instructions générales proviennent du C/C++ et malgré un
rappel de certaines, je ferais une impasse dessus.
- Données, variables, constantes.
- Comparateurs, fonctions.
- Fonctions logiques (rappel).
- Fonctions logiques spécifiques.
- Fonctions numériques spécifiques.
- Fonctions analogiques spécifiques.
- Bibliothèques particulières.
- Fonctions particulières ...
- Fin.
Données, variables, constantes.
Valeur | Utilisé dans | Note |
false | variables booléennes, tests |
égal à 0 (zéro) |
true | différent de 0 (zéro) | |
HIGH | Entrées/sorties logiques | Sortie à +Vcc, en Entrée Vin>3V |
LOW | Sortie à 0V, en Entrée Vin<2V | |
INPUT | Définition des entrées/sorties (PinMode) | Ligne en entrée, l'instruction digitalWrite(n,HIGH) active un pull-Up |
OUTPUT | Ligne en sortie (max 40mA et la somme des sorties ne doit pas excéder 200mA). |
Décimal : tous nombres ne commençants pas par un zéro (ex : 120)
Binaire : nombre commençant par un B (ex B01010101)
Octal : nombre commençant par un zéro (ex 0137)
Hexa : nombre commençant par 0x (ex 0xFA5)
Variables :
Nom/Type |
Taille mémoire en octet | Valeur |
Note |
boolean | 1 | true | false | |
byte | 1 | 0 à 255 | |
int | 2 | -32768 à 32767 | |
unsigned int | 2 | 0 à 65535 | |
word | 2 | 0 à 65535 | Idem unsigned int |
long | 4 | -2147483648 à 2147483647 | |
unsigned long | 4 | 0 à 4294967295 | |
float | 4 | -3.4028235E+38 à 3.4028235E+38 | |
double | 4 | -3.4028235E+38 à 3.4028235E+38 | Idem float (pas de précision supplémentaire !) |
char | n+1 | -128 à 127, ASCII | |
unsigned char | 1 | 0 à 255 | Idem byte |
Ne pas oublier le "String" du C++, le char array[...] pour les chaînes de caractères...
Conversion de type :
Juste pour mémoire les conversions basiques,
byte();
int();
word(); ou word(poid-fort,poid-faible); pour deux valeurs en 8bits,
long();
float();
char();
Visibilité :
static permet de préserver le contenu d'une variable locale d'une fonction entre les appels à la fonction.
const défini une variable constante pour l'ensemble du programme.
volatile défini une variable à placer en RAM et non pas en registre, utilisé surtout avec les interruptions.
Comparateurs, fonctions (pour tests).
== (égal à)
!= (différent à)
< (plus petit que)
> (plus grand que)
<= (plus petit ou égal à)
>= (plus grand ou égal à)
&& (et)
|| (ou)
! (non) "inverse"
Fonctions logiques (rappel).
& (et) | 0110 & 0101 => 0100 |
| (ou) | 0110 | 0101 => 0111 |
^ (ou exclusif) | 0110 ^ 0101 => 0011 |
~ (non) | ~ 0110 => 1001 |
<< (shift gauche) | 01100000 << 2 => 10000000 |
>> (shift droit) | signé : 01100000 >>2
=> 11011000 non signé : 01100000 >>2 => 00011000 |
&= | x &= y; => x=0110, y=0101 donne x=0100 |
|= | x |= y; => x=0110, y=0101 donne x=0111 |
Fonctions logiques spécifiques.
pinMode(pin,mode); | Défini une broche
"pin" de l'ATmega en entrée (INPUT) ou sortie (OUTPUT) pin peut être les E/S logiques 0 à 13 (pour l'Arduino) ou Analogiques A0 à A5. |
digitalWrite(pin,value); | Défini le niveau de sortie de
la "pin" au niveau "value" HIGH ou LOW. Dans le cas ou la "pin" est en entrée, écrire un niveau HIGH connecte une résistance de Pull Up de 20Ko et un niveau LOW la déconnecte. |
digitalRead(pin); | Lit le niveau de l'entrée "pin". |
tone(pin,freq); tone(pin,freq,tps); |
Génère un signal carré sur la broche "pin", de fréquence "freq" en hertz et en option pendant le temps "tps" en millisecondes. |
noTone(pin); | Arrête la génération du signal carré sur la broche "pin". |
shiftOut(Dpin,Cpin,BitO,Val); | |
shiftIn(); | |
pulseIn(); |
lowByte(); | |
highByte(); | |
bitRead(); | |
bitWrite(); | |
bitSet(); | |
bitClear(); | |
bit(); |
Fonctions numériques spécifiques.
millis(); | |
micros(); | |
delay(); | |
delaymicroseconds(); |
attachInterrupt(); | |
detachInterrupt(); | |
interrupts(); | |
noInterrupts(); |
Fonctions analogiques spécifiques.
analogReference(); | |
analogRead(); | |
analogWrite(); |
Un certain nombre de bibliothèques spécifiques aux
accessoires de l'Arduino ont été écrites, de ces bibliothèques découlent
des instructions et des syntaxes spécifiques. Voici quelques points d'entrées
à partir des périphériques.
Fonctions particulières.
A venir...
A suivre...