***
Visualisation de 4 entrées sur l ‘afficheur OLE42178P
Mise à jour le 19/01/2017
Le but de cet exemple n’est pas d’optimisé le programme mais de montrer le principe de fonctionnement de celui-ci.
Matériel nécessaire
– 1 Carte Arduino Mega 2560
– 1 Carte Grove Mega Shield
– 1 Afficheur Oled 96×96 OLE42178P
– 1 Bouton poussoir ou un fil shunt
A savoir
– la fonction d’initialisation setup() qui est exécutée une seule fois au démarrage. Cette fonction est utilisée pour initialiser les variables, le sens des broches, les librairies utilisées
– la fonction “boucle sans fin” loop() qui est exécutée en boucle une fois que la fonction setup() a été exécutée une fois.
– Toutes les lignes qui commencent par // sont ignorées par le compilateur et sont appelées des commentaires. Les commentaires sont des lignes de texte incluses dans le programme, de plus elles n’occupent aucun espace mémoire dans le microcontrôleur
– Le code de la fonction est compris entre des accolades qui sont en quelque sorte les “bornes” délimitant la fonction. Les accolades sont un élément majeur de la programmation en langage C. Elles sont utilisées dans plusieurs constructions différentes.
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 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 |
// // // *************************************************** // * Programme réaliser par RedOhm * // * * // * 1- Positionnement d'un texte sur plusieurs * // * lignes * // * 2- une pause de 3 secondes * // * 3- efface l'ecran * // * 4- Un petite menu pour controler les entrees * // * * // * * // * * // * H.Mazelin * // *************************************************** //Cette bibliothèque vous permet de communiquer avec des périphériques I2C #include <Wire.h> //bibliothèque de gestion de l’afficheur SeeedGrayOLED.h #include <SeeedGrayOLED.h> // avr/pgmspace.h .Afin de Stocker les données dans la mémoire // Flash (mémoire programme) au lieu de la mémoire SRAM #include <avr/pgmspace.h> //definition du numéro de la broche pour le boutons poussoirs //correspondant const int entree03Pin = 3; const int entree05Pin = 5; const int entree07Pin = 7; const int entree09Pin = 9; // variable pour la lecture de l'état des boutons poussoirs int entree03State = 0; int entree05State = 0; int entree07State = 0; int entree09State = 0; // Un programme Arduino doit impérativement contenir cette fonction . // Elle ne sera exécuter une seule fois au démarrage du microcontroleur // Elle sert à configurer globalement les entrées sorties // etc… ( void setup ) void setup() { Wire.begin(); //initialiser les broches des boutons-poussoirs en entrées pinMode(entree03Pin, INPUT); pinMode(entree05Pin, INPUT); pinMode(entree07Pin, INPUT); pinMode(entree09Pin, INPUT); //initialiser l'écran OLED SEEED SeeedGrayOled.init(); //Effacer l'écran SeeedGrayOled.clearDisplay(); //Réglage du mode d'affichage en normal SeeedGrayOled.setNormalDisplay(); // Passez en mode vertical pour l'affichage du texte SeeedGrayOled.setVerticalMode(); { //Réglez le niveau Niveaux de gris. Ne importe quel nombre entre 0-15. SeeedGrayOled.setGrayLevel(15); //position du curseur pour régler ligne 1, colonne 0 SeeedGrayOled.setTextXY(1,0); // Afficher RedOhm SeeedGrayOled.putString("RedOhm"); //position du curseur pour régler ligne 2, colonne 3 SeeedGrayOled.setTextXY(2,3); // Afficher Bonjour SeeedGrayOled.putString("bonjour"); //position du curseur pour régler ligne 5, colonne 3 SeeedGrayOled.setTextXY(5,0); // Afficher Exercice SeeedGrayOled.putString("Exercice"); //position du curseur pour régler ligne 6, colonne 5 SeeedGrayOled.setTextXY(7,5); // Afficher N 86 SeeedGrayOled.putString("N 86"); // pause de 3 secondes delay (3000); //initialiser l'écran OLED SEEED SeeedGrayOled.init(); //Effacer l'écran SeeedGrayOled.clearDisplay(); } } // Le programme principal s’exécute par une boucle infinie appelée Loop () void loop() { //position du curseur pour régler ligne 0, colonne 0 SeeedGrayOled.setTextXY(0,0); // Etat entrées SeeedGrayOled.putString("Etat entree"); // lire l'état de la valeur du bouton poussoir entree03State = digitalRead(entree03Pin); //vérifie si le bouton est appuyé if (entree03State == HIGH) { //position du curseur pour régler ligne 2, colonne 0 SeeedGrayOled.setTextXY(2,0); // Afficher E-3 ->ON SeeedGrayOled.putString("E-3 ->ON "); } else { //position du curseur pour régler ligne 2, colonne 0 SeeedGrayOled.setTextXY(2,0); // Afficher E-3 ->OFF SeeedGrayOled.putString("E-3 ->OFF"); } // lire l'état de la valeur du bouton poussoir entree05State = digitalRead(entree05Pin); ////vérifie si le bouton est appuyé if (entree05State == HIGH) { //position du curseur pour régler ligne 3, colonne 0 SeeedGrayOled.setTextXY(3,0); // Afficher E-5 ->ON SeeedGrayOled.putString("E-5 ->ON "); } else { //position du curseur pour régler ligne 3, colonne 0 SeeedGrayOled.setTextXY(3,0); // Afficher E-5 ->OFF SeeedGrayOled.putString("E-5 ->OFF"); } // lire l'état de la valeur du bouton poussoir entree07State = digitalRead(entree07Pin); //vérifie si le bouton est appuyé if (entree07State == HIGH) { //position du curseur pour régler ligne 4, colonne 0 SeeedGrayOled.setTextXY(4,0); // Afficher E-7 ->ON SeeedGrayOled.putString("E-7 ->ON "); } else { //position du curseur pour régler ligne 4, colonne 0 SeeedGrayOled.setTextXY(4,0); // Afficher E-7 ->OFF SeeedGrayOled.putString("E-7 ->OFF"); } // lire l'état de la valeur du bouton poussoir entree09State = digitalRead(entree09Pin); //vérifie si le bouton est appuyé if (entree09State == HIGH) { //position du curseur pour régler ligne 5, colonne 0 SeeedGrayOled.setTextXY(5,0); // Afficher E-9 ->ON SeeedGrayOled.putString("E-9 ->ON "); } else { //position du curseur pour régler ligne 5, colonne 0 SeeedGrayOled.setTextXY(5,0); // Afficher E-9 ->OFF SeeedGrayOled.putString("E-9 ->OFF"); } } |