Skip to main content

Nous vous proposons aujourd’hui un cours théorique sur le choix et l’utilisation des variables dans le langage Arduino. On a tous constaté un jour qu’il existait un grand nombre de type de variables dont certaines que nous avions jusqu’ici jamais utilisé. Mais alors pourquoi tant de types de variables ? Parce que choisir un type de variable qui correspond exactement à ce dont vous avez besoin est important pour des raisons de mémoire sur votre Arduino. En optimisant vos scripts, vous pourrez mieux exploiter votre Arduino. Suivez nous dans ce cours théorique plus que tutoriel et découvrez alors les principaux types de variables existants en langage Arduino.

  • Les variables numériques

Les variables numériques sont sans doute les variables les plus utilisé sur Arduino. Elles permettent de stocker des valeurs entières ou décimales qui occuperont plus ou moins d’espace. Ici, nous allons en présenter 8 qu’il nous semble important de connaitre.

Le premier type de variable que nous souhaitons aborder est « byte »
Byte définie une donnée codée sur 8 bits (donc un octet) et qui peut donc  prendre une valeur comprise en 0 et 255.

On peut écrire:

byte val = 98; // 98 en décimal

OU

byte val = B00101111; // 47 en binaire (le B signifie binaire)

Il nous parait important d’aborder le type « int » qui est sans doute le plus utilisé
Int est codé sur 2 octets, soit 16 bits et peut ainsi prendre une valeur comprise entre -32 768 et +32 768

On peut écrire:

int val = -6526;

Conjointement à int, il existe une version non signée, « unsigned int », toujours codée sur 2 octets donc 16 bits mais positif c’est-à-dire qu’il peut prendre une valeur comprise entre 0 et 65535.

On peut écrire:

unsigned int val = 34000;

Un autre type de variable, « word » permet de définir une variable avec les mêmes attributs que le type « unsigned int », c’est-à-dire une variable codée sur 2 octets, soit 16 bits, toujours positive et qui prend une valeur comprise entre 0 et 65535.

Dans le même principe, il existe « long » et sa version non signée « unsigned long » qui permet de définir une variable codée sur 4 octets, signée dans le cas de « long » et non-signée dans le cas « unsigned long ».

On peut écrire:

long val-15697536;

OU

unsigned long val = 15976254;

Enfin, le type de variable « float » est relativement important puisque c’est l’un des seuls qui permet de gérer les nombres à virgules. Comme dans tous les langages, on constatera que la virgule décimale est remplacée par un point…

On peut écrire:

float val = 1.76;

Enfin, pour des raisons de cohérence avec le langage C, le type de variable « double » existe en Arduino et permet les mêmes définitions que pour « float ».

Ainsi, on peut écrire:

double val = 1.76;
  • Les variables logiques

Les variables logiques, dites « booléennes » sont au nombre de deux cependant nous n’en traiteront qu’une, la seconde étant propre au définition de fonctions que nous aborderons sans doute dans un prochaine tutoriel.

Ainsi, il existe le type de variable « boolean » qui peut prendre deux valeurs: « true » ou « false ». Cette variable occupe un octet de mémoire.

On peut écrire:

boolean val = true;

OU

Boolean val = false;

Voilà pour ce premier cours théorique sur les variables. Nous espérons que cela vous permettra d’optimiser un peu mieux vos scripts Arduino. Optimiser la mémoire utilisée est un élément important dans la conception d’un système complexe et pouvoir choisir un type de variable qui correspond exactement à votre besoin.

Nous traiterons les variables de textuelles dans un prochain tutoriel car le sujet est vaste et complexe.

Bon développement à tous, merci d’être toujours plus nombreux à nous suivre !

Fabien Aubret

Co-fondateur SimpleDuino, Co-fondateur SimpleDomo. Ingénieur de l'Ecole Nationale Supérieure des Arts Et Métiers (ENSAM). Passionné d'électronique, d'informatique et des nouvelles technologies en général, j'ai à cœur de transmettre ce que d'autres ont pu m'apprendre.

Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.