Les activités Arduino UNO avec electro-robot by electro & Robot - HTML preview

PLEASE NOTE: This is an HTML preview only and some elements such as links or page numbers may be incorrect.
Download the book in PDF, ePub, Kindle for a complete version.

Attention : Nous vous rappelons qu'il est recommandé de faire attention lorsque vous manipulez votre carte Arduino. Si vous ne

disposez pas encore des compétences avancées en électronique, n'utilisez jamais une source d'énergie externe couplée avec votre

carte. Cela pourra vous endommager votre carte Arduino UNO.

 

Dans cette activité proposée, nous n'utilisons uniquement qu'une carte Arduino sans aucune autre source d'alimentation externe.

Comme vous l'avez remarqué, la GND (le point de référence 0V) dans notre circuit et celle de notre carte déployée.

 

Codage, compilation et téléversement

Afin de commencer à écriture de notre code en langue C++ sous Arduino IDE, nous allons définir un scénario simple pour le bon

fonctionnement pour notre appliation compteur dans l'ordre croissant numérique de 0 à 9 à base un afficheur de 7 segments tel

que:

 

1. Afficher 0, puis attendre 2 secondes,

2. Afficher 1, puis attendre 2 secondes,

3. Afficher 2, puis attendre 2 secondes,

4. Afficher 3, puis attendre 2 secondes,

5. Afficher 4, puis attendre 2 secondes,

6. Afficher 5, puis attendre 2 secondes,

7. Afficher 6, puis attendre 2 secondes,

8. Afficher 7, puis attendre 2 secondes,

9. Afficher 8, puis attendre 2 secondes,

10. Afficher 9, puis attendre 2 secondes → aller à l'étape 1.

 

Pour cela, nous allons mettre dans une matrice à 2 dimensions (une matrice est un tableau organisé en lignes et colonnes. Elle peut

contenir au minimum 2 dimensions ou plusieurs) les valeurs exprimées en 0 ou 1 qui nous indiquent respectivement éteindre ou allumer

les segments de notre afficheur à 7 segments. Par exemple, pour afficher le chiffre 0, nous aurons la série 1,1,1,1,1,1,0 et pour afficher le

chiffre 1, nous aurons la suite suivante 0,1,1,0,0,0,0. Ce qui nous donne la matrice suivante :

 

byte chiffres[10][7] = {

// a, b, c, d, e, f, g

{1,1,1,1,1,1,0}, // 0

{0,1,1,0,0,0,0}, // 1

{1,1,0,1,1,0,1}, // 2

{1,1,1,1,0,0,1}, // 3

{0,1,1,0,0,1,1}, // 4

{1,0,1,1,0,1,1}, // 5

{1,0,1,1,1,1,1}, // 6

{1,1,1,0,0,0,0}, // 7

{1,1,1,1,1,1,1}, // 8

{1,1,1,1,0,1,1} // 9

};

 

Ensuite, nous envoyons bloc par bloc via la fonction digitalWrite les différentes valeurs d'une ligne (que nous pouvons aussi appelé

vecteur) vers les sorties respectives de notre carte Arduino espacés de 2 secondes. Pour cela, nous allons écrire une fonction

afficherChiffre qui lit les valeurs d'une entrée (soir notre vecteur en question) vers les pins de notre carte numérotés de 4 à 10.

 

// Fonction d’affichage d’un chiffre

void afficherChiffre(int n) {

for (int i = 0; i < 8; i++) {

digitalWrite(segments[i], chiffres[n][i]);

}

}

 

Avec le tableau segment qui représente le tableau des broches dans l'ordre de notre afficheur 7 segments. Sa définition est comme suit :

 

// Tableau des broches dans l'ordre

int segments[] = {a, b, c, d, e, f, g};

 

Maintenant sous Arduino IDE, si nous écrivons notre code, nous aurons le code suivant :

 

// Définition des broches reliées à chaque segment de notre afficheur 7 segments

const int a = 4;

const int b = 5;

const int c = 6;

const int d = 7;

const int e = 8;

const int f = 9;

const int g = 10;

// Définition du tableau des segments de l'afficheur dans l'ordre alphabétique

int segments[] = {a, b, c, d, e, f, g};

// Déclaration de la matrice des états de chaque segment pour chaque affichage de chaque chiffre de 0 à 9

// Pour cela, nous définissons 1 pour un segment allumé et 0 pour un segment éteint

byte chiffres[10][7] = {

// a, b, c, d, e, f, g, dp

{1,1,1,1,1,1,0}, // 0

{0,1,1,0,0,0,0}, // 1

{1,1,0,1,1,0,1}, // 2

{1,1,1,1,0,0,1}, // 3

{0,1,1,0,0,1,1}, // 4

{1,0,1,1,0,1,1}, // 5

{1,0,1,1,1,1,1}, // 6

{1,1,1,0,0,0,0}, // 7

{1,1,1,1,1,1,1}, // 8

{1,1,1,1,0,1,1} // 9

};

void setup() {

// Définition de toutes les broches nécessaires pour notre programme comme pin de sortie for (int i = 0; i < 7; i++) {

pinMode(segments[i], OUTPUT);

}

}

void loop() {

// Boucle de 0 à 9

for (int n = 0; n <= 9; n++) {

afficherChiffre(n);

delay(2000); // attendre 2 seconde

}

}

// Fonction pour afficher un chiffre à partir de la matrice de définition de segments

void afficherChiffre(int n) {

for (int i = 0; i < 8; i++) {

digitalWrite(segments[i], chiffres[n][i]);

}

}

 

L'image ci-dessous nous présente notre code écrit sous Arduino IDE :

Find Your Next Great Read

Describe what you're looking for in as much detail as you'd like.
Our AI reads your request and finds the best matching books for you.

Showing results for ""

Popular searches:

Romance Mystery & Thriller Self-Help Sci-Fi Business