Vous êtes sur la page 1sur 3

Résumé Arduino

- Type de variable :

double : ce type offre une précision deux fois supérieure


à celle du float. Dans le cas du microcontrôleur Arduino,
les deux types sont synonymes : double = float. - Les opérateurs logiques:

String : Ce n'est plus vraiment un type, mais un Objet, au


sens de la POO. Pour faire simple dans un premier temps,
considérons qu'il s'agit d'une chaîne de caractères.
-----------------------------------------------------------------------------
- La fonction :

➢ Une fonction possède un type de retour, un nom, des


paramètres d'entrée.

➢ Si la fonction ne renvoie aucune donnée, son type de


retour sera void. Si elle ne prend aucun paramètre, on
pourra soit ne rien mettre entre les parenthèses.

➢ Si la fonction renvoie une donnée, elle devra le faire


avec le mot-clef return. - Les conditions:

Exemple 1 :
int multiplication (int a, int b){
int c ;
c=a*b;
return c ;
}
Exemple 2 :
void ledTest(){
if (capteur > consigne)
digitalWrite(ledPin, LOW);
else
digitalWrite(ledPin, HIGH);
}
- Exemples de function : - Les boucles :
La boucle for:
• map(): for(int compteur = 0 ; compteur < 10 ; compteur++)
Syntaxe : {
map(value, fromLow, fromHigh, toLow, toHigh) // fonction à répéter
}
Exp: La boucle while :
int val = analogRead(0); while( /*condition à tester */)
val = map(val, 0, 1023, 0, 255); {
//les instructions à répéter tant que la condition
• millis(): est vérifiée
Syntaxe: unsigned long time = millis() }
Exp: La boucle infinie :
unsigned long timeNow = 0 while (true) {
if (millis() > timeNow + 5000) { // instructions exécutées à l'infini
timeNow = millis(); }
digitalRead(I1_Pin);
} La boucle do...while :
• sprintf() :
do {
pour afficher a un texte est des variable à la fois. // instructions de la boucle
Exp: } while (condition);
int age1 = 42; -----------------------------------------------------------------------------
int age2 = 5; - Instructions conditionnelles :
char prenom1[10] = "Ben";
char prenom2[10] = "Luc"; if…else :
char message[16] = "";
sprintf(message,"%s:%2d,%s:%2d",prenom1, age1, if (condition) {
prenom2, age2); // instruction(s) exécutée(s) si la condition est vraie
}
la console: else {
// instruction(s) exécutée(s) si la condition est fausse
Ben:42,Luc: 5 }
Exp :

if (digitalRead(pinCapteur) == HIGH) { // si un train est


détecté
digitalWrite(pinDEL, HIGH); // allume la DEL
}
else { // sinon
digitalWrite(pinDEL, LOW); // éteint la DEL
}
}
Switch…Case :
switch (var) {
case label1:
// statements
break;
case label2:
// statements
break;
default:
// statements
break;
}
Exp : Les interruptions:

• En utilisant la librairie TimerOne :

#include <TimerOne.h>
void setup() {
Timer1.initialize(periode_en_micro_seconde);
Timer1.attachInterrupt(lfonction_interrompue);
}

• Les interruptions externes INT0 et INT1 :


Syntaxe :
attachInterrupt(digitalPinToInterrupt(pin), ISR, mode);
ou bien : attachInterrupt(pin, ISR, mode);

Paramètres :
----------------------------------------------------------------------- pin : 2ou3 pour l’auduino uno
- Afficheur LCD :
• ISR : la routine d’interruption
Librairie : LiquidCrystal.h
• Mode:
Brochage :
• LOW : l’interruption est déclenchée quand la broche
concernée est LOW.
• CHANGE :l’interruption est déclenchée quand la broche
concernée change d’état, c’est à dire passe de LOW à HIGH
ou bien de HIGH à LOW.
• RISING : l’interruption est déclenchée quand la broche
concernée passe de LOW à HIGH
• FALLING : l’interruption est déclenchée quand la broche
concernée passe de HIGH à LOW.
• En utilisant la librairie millis() :

unsigned long timeNow = 0


Code : if (millis() > timeNow + 5000) {
timeNow = millis();
const int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2; routine_Interruption();
LiquidCrystal lcd(rs, en, d4, d5, d6, d7); }
void setup() {
// set up the LCD's number of columns and rows: •
lcd.begin(16, 2);
// Print a message to the LCD.
lcd.print("hello, world!");
}
les foction de la classe LiquideCrystal :

begin(nbr_de_colonnes, nbr_de_lignes)
home() :l’équivalent de setCursor(0, 0)
setCursor(ligne, colonne)
print() ou write()
clear()