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.

Retour.

Données, variables, constantes.

Données/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é :

Up

Comparateurs, fonctions (pour tests).

Comparateurs numériques

Fonctions booléennes

Up

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

Up

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();

 

Up

Fonctions numériques spécifiques.

 
millis();
micros();
delay();
delaymicroseconds();

 
attachInterrupt();
detachInterrupt();
interrupts();
noInterrupts();

 

Up

Fonctions analogiques spécifiques.

 
analogReference();
analogRead();
analogWrite();

 

Up

Bibliothèques particulières.

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.
Interface Série Interface série (Rx/Tx)
Interface série logicielle pour toutes les E/S digitales.
Protocole Firmata.
EEPROM Utilisation de l'EEPROM interne.
Ethernet Bibliothèque "officielle".
Webduino, bibliothèque et exemples supplémentaires.
Afficheur LCD Pour piloter les afficheurs en 4 ou 8 bits.
SD Pour les cartes SD et SDHC en FAT 16 ou 32.
Servo-moteur Piloter vos servos moteurs de RC.
Moteur pas à pas Piloter les moteurs à 2 ou 4 fils.
SPI Piloter le bus série MISO/MOSI/SCK/SS.
WIRE Piloter le bus I2C ou TWI, SDA/SCL.

 

Up

Fonctions particulières.

Up

FIN

A suivre...

Up

Retour Robotique

Retour platines.