Un type de données (variables Arduino) est une cellule de mémoire avec un nom qui contient une valeur numérique ou alphabétique. Avec les types de données numériques (variables), vous pouvez effectuer toutes les opérations mathématiques: multiplication, division, addition, soustraction, conversion vers un autre type de données, etc. Les variables sont écrites dans un programme sous la forme suivante: <type> <nom> = <valeur>;
Ce dont vous aurez besoin
- Arduino Uno / Arduino Nano / Arduino Mega
Matériel supplémentaire sur ce sujet:
Si la valeur d’une variable globale ou locale n’est pas définie, une valeur de 0 est attribuée. Les variables qui ne peuvent pas être modifiées dans le programme après avoir été déclarées sont appelées constantes. Pour définir une constante, ajoutez const devant le type de données de la variable. Le tableau suivant montre les types de données Arduino qui peuvent être utilisés lors de l’écriture d’un programme pour le microcontrôleur.
Tableau variables et types de données Arduino IDE
| Type | Taille en mémoire | Valeurs min | Valeurs max |
| boolean | 1 octet (8 bits) | false | true |
| byte | 1 octet (8 bits) | 0 | 255 |
| char | 1 octet (8 bits) | -128 | 127 |
| int | 2 octet (16 bits) | -32768 | 32767 |
| unsigned int | 2 octet (16 bits) | 0 | 65535 |
| long | 4 octet (32 bits) | -2147483648 | 2147483647 |
| unsigned long | 4 octet (32 bits) | 0 | 4294967295 |
| float, double | 4 octet (32 bits) | -3.4028235E+38 | 3.4028235E+38 |
Arduino: Boolean ou bool
Un “boolean” est un booléen. Il s’agit d’une donnée ne pouvant prendre que 2 valeurs: true (vrai) ou false (faux). Il est également possible de remplacer true par 1 et false par 0 pour un booléen. Chaque variable booléenne occupe un byte de mémoire.
Arduino Byte
Une donnée byte peut stocker un nombre non signé sur 8 bits, de 0 à 255.
Arduino Char
Les données Char sont des données pouvant contenir un caractère. C’est un type de donnée qui occupe un octet de mémoire. caractère s’écrit dans une variable char entre guillemets simples comme ceci: ‘A’. Pour écrire plusieurs caractères, ce qu’on appelle aussi une chaîne de caractères (string), on utilisera les guillemets doubles comme ceci: “ABC”.
Arduino Short
Une donnée de type short peut stocker un nombre entier sur 16 bits quel que soit la carte Arduino utilisée : de -32 768 à 32 767 (soit une valeur minimale de -215 et une valeur maximale de 215-1).
Arduino Int
Les données int représentent les données de stockage des nombres entiers. Il s’agit du type de donnée principal pour le stockage des nombres. Int stocke une valeur sur 16 bits, soit 2 octets. Cela donne une fourchette de -32 768 à 32 767 (soit une valeur minimale de -215 et une valeur maximale de 215-1).
Arduino Unsigned Int
Les Unsigned Int fonctionnent de la même manière que les Int. La différence ici, c’est que les nombres négatifs ne sont plus pris en compte. Le nombre est toujours encodé sur 2 bytes, soit 16 bits, soit 2 octets. La plage positive est donc plus grande : de 0 à 65 535 (216-1). Les Arduino Due, MKR1000, Zero étant sur des nombres en 32 bits, la plage de ce type de données se situe entre 0 et 4 294 967 295 (232-1).
Arduino Long
Les variables Long peuvent stocker des nombres entiers sur 4 bytes, soit 32 bits : de -2 147 483 648 (-231) à 2 147 483 647 (231+1).
Arduino Unsigned long
Les variables Unsigned long peuvent stocker des nombres non signés entiers sur 32 bits : de 0 à 4 294 967 295 (232-1).
Arduino Float
Le type de données float permet de stocker un nombre à virgule flottante. Les variables float sont souvent utilisées pour approcher les valeurs analogiques et continues car la donnée float possède une plus grande résolution que les nombres entiers.
Arduino Double
Sur Arduino UNO et autres cartes munies de processeur ATMEGA, une donnée double fonctionne exactement de la même manière qu’une donnée float. Elle occupe également 32 bits, sans gain de précision supplémentaire. Par contre sur Arduino Due, MKR1000 ou Zero, la donnée double occupe 64 bits, ce qui offre plus de précision.
Arduino conversion des types de variables (données)
Dans Arduino IDE, une conversion de variable est la conversion d’une valeur de variable à un type différent. Par exemple, vous souhaitez convertir un type de données byte en type de données int dans un programme. Pour ce faire, indiquez le type de variable souhaité entre parenthèses avant la variable à convertir – le résultat renverra une variable avec le nouveau type de données. Voici un exemple de conversion explicite de variables Arduino:
byte x = 150; int y = (int)x;
float x = 15,4; int y = (int)x;
Conclusion. Connaître les types de variables vous aidera à utiliser correctement la capacité de mémoire de la carte Arduino, ce qui permettra au microcontrôleur de travailler beaucoup plus rapidement et plus efficacement. L’utilisation de variables permet de ne pas mémoriser de valeur, il suffit de se référer à un emplacement mémoire par un nom donné: declaration variable arduino – boolean, byte, int, long, float, double, unsigned long, unsigned int.








Bonjour,
Ici il n’est question que de variables numériques
et comment manipule-t-on les chaînes de caractères ?
J’ai besoin d’une variable dans laquelle je veux stocker le message reçu par un module Bluetooth HC-06
de manière à m’en servir dans le programme.
Dans tous les langages, il existe des chaines de caractères dans lesquelles on peut stocker du texte dans l’arduino je cherche désespérément depuis plusieurs jours comment faire.
Je voudrais quelque chose du genre : » Message = HC06Serie.read(); « ,
Message étant la variable texte.
Quelle solution préconisez-vous.
Cordialement
char message = Serial.read();
String message =Serial.readStringUntil(‘\r’);
tout dépendra du type d’arduino utilisé.
Bonjour
Je connaissais la fonction Serial.readString, mais a quoi sert ceci ?
« Until(‘\r’) »
Merci !
Cordialement
Rémi
La fonction Serial.read() lit les données en octets. Cela signifie que si vous écrivez la commande int a=Serial.read(); les données sont stockées dans a en octets. La fonction Serial.readString() lit les données série dans une chaîne de caractères. Cela signifie que pour String a=Serial.readString(); la commande a enregistre la chaîne.