Initiation Arduino (5ème séance)
Le vendredi 3 mai 2019
Nous allons devoir faire une petite halte, avant de reprendre la route des expériences !
Nous avons vu quelques exemples ensemble, toutefois, il faut faire quelques mises au point sur quelques éléments de base !
Les commentaires
Deux méthodes existent pour les commentaires :
- Commentaire sur une ligne, il suffira de précéder la partie commentaire par une double barre oblique (ou double slash) « // »
Ex : int MaVariable = 10; // explication de MaVariable - Commentaire sur plusieurs lignes, il faudra cette fois encadrer le contenu du commentaire par /* et */
Ex :
/*
Auteur : Toto Machin
Descriptif : cette application est destinée à ……
Date : 22/04/2019
Version 1.0.1
*/
Ce qui est l’équivalent de :
// Auteur : Toto Machin
// Descriptif : cette application est destinée à ……
// Date : 22/04/2019
// Version 1.0.1
Les types de variable
En langage C, toutes les variables doivent être typée
Vous oubliez d’en définir le type, vous aurez systématiquement une erreur durant la compilation
Voici le tableau des principaux types de variable
Type | Valeur | Taille | Ex |
---|---|---|---|
byte | 0 à 255 | 1 octet | byte mavaleur = 28; |
int | -32.768 à 32767 | 2 octets | int mavaleur = -1.024; |
unsigned int | 0 à 65.535 | 2 octets | unsigned int mavaleur = 28.500; |
float | -3.4028235E+38 à 3.4028235E+38 | 4 octets | float mavaleur = 3.1416; |
char | -128 à 127 | 1 octet/td> | char mavaleur = ‘a’; |
boolean | true ou false | 1 octet | boolean mavaleur = true; |
String | variable | variable | String MyString = "une chaîne de caractères" |
Array | variable | variable | int MyArray[] = {1,2,3,4,5}; char MyArray[10] = "Mon texte"; |
Sur les types de variable, vous pourrez trouver pas mal d’infos complémentaires sur : https://www.arduino.cc/reference/en/#variables
Opérateurs arithmétiques
Nom | Opérateur | Descriptif | Ex |
---|---|---|---|
Assignation | = | On assigne à la variable de gauche, le résultat ou la valeur de ce qui se trouve à droite | A = 7 + 10; donne 17 |
Addition | + | On additionne les 2 opérandes | A = 7 + 8; donne 15 |
Soustraction | – | On soustrait le second opérande du premier | A = 15 – 9; donne 6 |
Multiplication | * | On multiplie les deux opérandes | A = 3 * 4; donne 12 |
Division | / | On divise le numérateur par le dénominateur | A + 18 / 3; donne 6 |
Modulo | % | On donne comme résultat le reste après la division | A= 7 % 4; donne 3 |
Opérateurs arithmétiques composés
Nom | Opérateur | Descriptif | Ex |
---|---|---|---|
Incrémentation | ++ | On incrémente la variable par 1 | A++; |
Décrémentation | — | On décrémente la variable par 1 | A–; |
Addition composée | += | On incrémente une valeur, d’une autre valeur, tout en stockant le résultat dans le premier opérande | A += 3; équivalent à A = A + 3; |
Soustraction composée | -= | On décrémente une valeur, d’une autre valeur, tout en stockant le résultat dans le premier opérande | A -= 3; équivalent à A = A – 3; |
Multiplication composée | *= | On multiplie une valeur par une autre valeur tout en stockant le résultat dans le premier opérande | A *= 3; équivalent à A = A * 3; |
Division composée | /= | On divise une valeur par une autre valeur tout en stockant le résultat dans le premier opérande | A /= 3; équivalent à A = A / 3; |
Modulo composé | %= | On réalise le modulo d’une valeur par une autre valeur tout en stockant le résultat dans le premier opérande | A %= 4; équivalent à A = A % 4; |
OU composé (bit à bit) | |= | On réalise une opération bit à bit OU d’une valeur par une autre valeur tout en stockant le résultat dans le premier opérande. | A |= 4; équivalent à A = A | 4; |
ET composé (bit à bit) | &= | On réalise une opération bit à bit ET d’une valeur par une autre valeur tout en stockant le résultat dans le premier opérande | A &= 4; équivalent à A = A & 4; |
Opérateurs de comparaison
Nous utiliserons ces opérateurs de comparaison dans les structures de contrôle telles que IF / ELSE, SWITCH / CASE et dans les boucles FOR, WHILE et Do / WHILE
Nom | Opérateur | Descriptif | Exemple |
---|---|---|---|
Égal | == | On vérifie si la valeur des deux opérandes sont égales ou non, dans l’affirmative la condition devient vraie | if (A == 12) |
Différent | != | On vérifie si la valeur des deux opérandes sont différentes ou non, dans l’affirmative la condition devient vraie | if (A != 12) |
Plus petit que | < | On vérifie si la valeur de l’opérande gauche est plus petite que celle de droite, dans l’affirmative la condition devient vraie | if (A < 12) |
Plus grand que | > | On vérifie si la valeur de l’opérande gauche est plus grande que celle de droite, dans l’affirmative la condition devient vraie | if (A > 12) |
Inférieur ou égal à | <= | On vérifie si la valeur de l’opérande gauche est plus petite ou égale à celle de droite, dans l’affirmative la condition devient vraie | if (A <= 12) |
Supérieur ou égal à | >= | On vérifie si la valeur de l’opérande gauche est plus grande ou égale à celle de droite, dans l’affirmative la condition devient vraie | if (A >= 12) |
Formatage d’impression
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 |
//*************************************** //* * //* Initiation à Arduino par l'exemple * //* * //* Par Stievenart Freddy ON6FS * //* Version 1.0 - 13/03/2019 * //* * //*************************************** //* * //* Exercice 8 * //* Formatage de l'impression * //* * //*************************************** void setup() { Serial.print("Serial.print(78) donne "); Serial.println(78); Serial.print("Serial.print(1.23456) donne "); Serial.println(1.23456); Serial.print("Serial.print(1.23456, 0) donne "); Serial.println(1.23456, 0); Serial.print("Serial.print(1.23456, 2) donne "); Serial.println(1.23456, 2); Serial.print("Serial.print(1.23456, 4) donne"); Serial.println(1.23456, 4); Serial.print("Serial.print('N') donne "); Serial.println("N"); Serial.print("Serial.print('Hello world.') donne "); Serial.println("Hello world"); Serial.print("Serial.print(44, BIN) donne "); Serial.println(44, BIN); Serial.print("Serial.print(44, OCT) donne "); Serial.println(44, OCT); Serial.print("Serial.print(44, DEC) donne "); Serial.println(44, DEC); Serial.print("Serial.print(44, HEX) donne "); Serial.println(44, HEX); } void loop() { } |