Variables et types de données Arduino IDE

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:

  1. Les variables globales et locales Arduino
  2. Arrays Arduino: tableaux de données
  3. Arduino EEPROM exemples pour lire/écrire

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.





4 Replies to “Arduino variables types: int, byte, long, float, boolean”

  1. 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

    1. char message = Serial.read();
      String message =Serial.readStringUntil(‘\r’);
      tout dépendra du type d’arduino utilisé.

      1. Bonjour
        Je connaissais la fonction Serial.readString, mais a quoi sert ceci ?
        « Until(‘\r’) »
        Merci !
        Cordialement
        Rémi

        1. 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.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. Découvrez comment les données de vos commentaires sont traitées.