Mise à jour le 20/10/2019 :Dans cet article ,nous allons traiter du principe du fonctionnement du module circulaire MR4131
Sommaire :
- Fonctionnement du disque MR4131.
- Fonctionnement MR4131 avec un potentiomètre
- Matériel nécessaire pour cette démonstration .
- Programme Arduino uno . Faire defiler les leds en fonction de la position du potentiometre .
- Video.Tutoriel sur le module circulaire MR 4131 .
- A savoir sur l’utilisation des informations sur le module MR4131D
- Pour tout problème
- Retour au menu tutoriel .
Fonctionnement du disque MR4131 |
.
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 |
// // // //#################################################################### // // Programme : Pilotage des led du disque MR4131 // Version 1.00 // Par :RedOhm Mazelin-H // // Connections: // * BOARD -> ARDUINO // * GND -> GND // * OE -> 2 // * SDA -> A4 // * SCL -> A5 // * +5V -> 5V // // A savoir: // Module circulaire basé sur un PCA9635, comportant 16 Leds bleues possédant // chacune 2 segments soit 32 segments au total. // //####################################################################### // Librairie constructeur #include <pca9635.h> // je charge la bibliothèque qui nous permet de communiquer // avec les composants utilisant le protocole I2C #include <Wire.h> // library used with I2C protocol pca9635 PCA9635; // --------------------------------------------------------------------------- // Un programme Arduino doit impérativement contenir la fonction "setup" // Elle ne sera exécutée une seule fois au démarrage du microcontroleur // Elle sert à configurer globalement les entrées sorties // --------------------------------------------------------------------------- void setup() { // Déclare la pin de l'arduino en sortie ( la pin 2) pinMode(OEpin, OUTPUT); // je forçe ma sortie à zéro digitalWrite(OEpin, LOW); //Initialise la librairie Wire et se connecte au bus I2C en tant que maître Wire.begin(); //initialisation du module PCA9635.initialize(); } // --------------------------------------------------------------------------- // Le programme principal s’exécute par une boucle infinie appelée Loop () // --------------------------------------------------------------------------- void loop() { // detaillons une ligne de commande // PCA9635.setBrightness cette fonction nous permet de valider // la led choisie dans notre exemple la led numero 0 // PCA9635.setBrightness(PWM0,0); // et la valeur se trouvant derriere le numero de led PWM0 indique la // valeur de la luminosité PCA9635.setBrightness(PWM0,255); PCA9635.setBrightness(PWM1,255); PCA9635.setBrightness(PWM2,0); PCA9635.setBrightness(PWM3,0); PCA9635.setBrightness(PWM4,0); PCA9635.setBrightness(PWM5,0); PCA9635.setBrightness(PWM6,0); PCA9635.setBrightness(PWM7,0); PCA9635.setBrightness(PWM8,0); PCA9635.setBrightness(PWM9,0); PCA9635.setBrightness(PWM10,0); PCA9635.setBrightness(PWM11,0); PCA9635.setBrightness(PWM12,0); PCA9635.setBrightness(PWM13,0); PCA9635.setBrightness(PWM14,0); PCA9635.setBrightness(PWM15,0); // Met le programme en pause pendant la durée (en millisecondes) spécifiée // en tant que paramètre. // dans notre exemple 2000 millisecondes daonc 2 secondes delay(2000); } |
.
Retour au sommaire
Fonctionnement du disque MR4131 avec un potentiomètre |
.
Matériel nécessaire pour cette démonstration .
1 carte arduino uno : La carte Arduino Uno est basée sur un ATMega328 cadencé à 16 MHz. C’est la plus récente et la plus économique carte à microcontrôleur d’Arduino. Des connecteurs situés sur les bords extérieurs du circuit imprimé permettent d’enficher une série de modules complémentaires.
1 Module Grove Base Shield 103030000 : Le module Grove Base Shield de Seeedstudio est une carte d’interface permettant de raccorder facilement, rapidement et sans soudure les capteurs et les actionneurs Grove de Seeedstudio sur une carte compatible Arduino. Il est compatible notamment avec les cartes Arduino Uno, Leonardo, Seeeduino, etc. Ce shield comporte un sélecteur le rendant compatible avec les microcontrôleurs 3,3 ou 5 Vcc.
Il est équipé de 16 connecteurs 4 broches dont 4 entrées analogiques, 7 entrées-sorties logiques, 4 interfaces I2C et 1 interface UART.
Brochage des connecteurs: GND – +Vcc – signal 2 – signal 1
.
1 Module potentiomètre Grove 101020048
Ce module potentiomètre compatible Grove délivre un signal analogique et est équipé d’une résistance de 10 kΩ idéale pour une utilisation avec les cartes Arduino ou compatibles.
Ce module se raccorde sur une entrée analogique du Grove Base Shield ou du Mega Shield via un câble 4 conducteurs . Il est similaire au COM22735P mais le connecteur est au dos du circuit pour pouvoir le placer sur une façade.
- Interface : compatible Grove
- Alimentation : 5 Vcc
- Potentiomètre : 10 kΩ
- Rotation : 300°
- Dimensions : 20 x 20 x 30 mm
- Référence Seeedstudio : 101020048 (remplace SEN11303P)
.
Programme Arduino uno . Faire defiler les leds en fonction de la position du potentiometre
.
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 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 |
// // // //#################################################################### // // Programme : Pilotage des led du disque MR4131 // Version 1.00 // Par :RedOhm Mazelin-H // // Connections: // * BOARD -> ARDUINO // * GND -> GND // * OE -> 2 // * SDA -> A4 // * SCL -> A5 // * +5V -> 5V // // Objectif de ce programme : Faire defiler les leds en fonction de la position // du potentiometre // // A savoir: // Module circulaire basé sur un PCA9635, comportant 16 Leds bleues possédant // chacune 2 segments soit 32 segments au total. // //####################################################################### // Librairie constructeur #include <pca9635.h> // je charge la bibliothèque qui nous permet de communiquer // avec les composants utilisant le protocole I2C #include <Wire.h> // library used with I2C protocol pca9635 PCA9635; // le potentiomètre, est branché sur la broche analogique 1 const int potar = 1 ; // Variable pour stoker la valeur lue sur la broche analogique 1 int valeurlue ; // --------------------------------------------------------------------------- // Un programme Arduino doit impérativement contenir la fonction "setup" // Elle ne sera exécutée une seule fois au démarrage du microcontroleur // Elle sert à configurer globalement les entrées sorties // --------------------------------------------------------------------------- void setup() { // démarrage de la liaison série reglage de la vitesse à 9600 baud Serial.begin(9600); // on attent que le port de communication soit pret while(!Serial); // Déclare la pin de l'arduino en sortie ( la pin 2) pinMode(OEpin, OUTPUT); // je forçe ma sortie à zéro digitalWrite(OEpin, LOW); //Initialise la librairie Wire et se connecte au bus I2C en tant que maître Wire.begin(); //initialisation du module PCA9635.initialize(); // Forçage des valeurs des leds à 0 donc extinction des leds PCA9635.setBrightness(PWM0,0); PCA9635.setBrightness(PWM1,0); PCA9635.setBrightness(PWM2,0); PCA9635.setBrightness(PWM3,0); PCA9635.setBrightness(PWM4,0); PCA9635.setBrightness(PWM5,0); PCA9635.setBrightness(PWM6,0); PCA9635.setBrightness(PWM7,0); PCA9635.setBrightness(PWM8,0); PCA9635.setBrightness(PWM9,0); PCA9635.setBrightness(PWM10,0); PCA9635.setBrightness(PWM11,0); PCA9635.setBrightness(PWM12,0); PCA9635.setBrightness(PWM13,0); PCA9635.setBrightness(PWM14,0); PCA9635.setBrightness(PWM15,0); } // --------------------------------------------------------------------------- // Le programme principal s’exécute par une boucle infinie appelée Loop () // --------------------------------------------------------------------------- void loop() { // Stockage de la valeur analogique dans la variable valeurlue valeurlue = analogRead(potar); // on affiche la valeur lue sur la liaison série Serial.print("valeurlue = "); // affiche la valeur du potentiometre pour eventuellement deboguer Serial.println(valeurlue); delay(20); // detaillons une ligne de commande // PCA9635.setBrightness cette fonction nous permet de valider // la led choisie dans notre exemple la led numero 0 // PCA9635.setBrightness(PWM0,0); // et la valeur se trouvant derriere le numero de led PWM0 indique la // valeur de la luminosité if (( valeurlue > 0)&&(valeurlue <63)) { PCA9635.setBrightness(PWM0,255); PCA9635.setBrightness(PWM1,0); PCA9635.setBrightness(PWM2,0); PCA9635.setBrightness(PWM3,0); PCA9635.setBrightness(PWM4,0); PCA9635.setBrightness(PWM5,0); PCA9635.setBrightness(PWM6,0); PCA9635.setBrightness(PWM7,0); PCA9635.setBrightness(PWM8,0); PCA9635.setBrightness(PWM9,0); PCA9635.setBrightness(PWM10,0); PCA9635.setBrightness(PWM11,0); PCA9635.setBrightness(PWM12,0); PCA9635.setBrightness(PWM13,0); PCA9635.setBrightness(PWM14,0); PCA9635.setBrightness(PWM15,0); } else if (( valeurlue > 64)&&(valeurlue <127)) { PCA9635.setBrightness(PWM0,0); PCA9635.setBrightness(PWM1,255); PCA9635.setBrightness(PWM2,0); PCA9635.setBrightness(PWM3,0); PCA9635.setBrightness(PWM4,0); PCA9635.setBrightness(PWM5,0); PCA9635.setBrightness(PWM6,0); PCA9635.setBrightness(PWM7,0); PCA9635.setBrightness(PWM8,0); PCA9635.setBrightness(PWM9,0); PCA9635.setBrightness(PWM10,0); PCA9635.setBrightness(PWM11,0); PCA9635.setBrightness(PWM12,0); PCA9635.setBrightness(PWM13,0); PCA9635.setBrightness(PWM14,0); PCA9635.setBrightness(PWM15,0); } else if (( valeurlue > 127)&&(valeurlue <190)) { PCA9635.setBrightness(PWM0,0); PCA9635.setBrightness(PWM1,0); PCA9635.setBrightness(PWM2,255); PCA9635.setBrightness(PWM3,0); PCA9635.setBrightness(PWM4,0); PCA9635.setBrightness(PWM5,0); PCA9635.setBrightness(PWM6,0); PCA9635.setBrightness(PWM7,0); PCA9635.setBrightness(PWM8,0); PCA9635.setBrightness(PWM9,0); PCA9635.setBrightness(PWM10,0); PCA9635.setBrightness(PWM11,0); PCA9635.setBrightness(PWM12,0); PCA9635.setBrightness(PWM13,0); PCA9635.setBrightness(PWM14,0); PCA9635.setBrightness(PWM15,0); } else if (( valeurlue > 190)&&(valeurlue <253)) { PCA9635.setBrightness(PWM0,0); PCA9635.setBrightness(PWM1,0); PCA9635.setBrightness(PWM2,0); PCA9635.setBrightness(PWM3,255); PCA9635.setBrightness(PWM4,0); PCA9635.setBrightness(PWM5,0); PCA9635.setBrightness(PWM6,0); PCA9635.setBrightness(PWM7,0); PCA9635.setBrightness(PWM8,0); PCA9635.setBrightness(PWM9,0); PCA9635.setBrightness(PWM10,0); PCA9635.setBrightness(PWM11,0); PCA9635.setBrightness(PWM12,0); PCA9635.setBrightness(PWM13,0); PCA9635.setBrightness(PWM14,0); PCA9635.setBrightness(PWM15,0); } else if (( valeurlue > 253)&&(valeurlue <316)) { PCA9635.setBrightness(PWM0,0); PCA9635.setBrightness(PWM1,0); PCA9635.setBrightness(PWM2,0); PCA9635.setBrightness(PWM3,0); PCA9635.setBrightness(PWM4,255); PCA9635.setBrightness(PWM5,0); PCA9635.setBrightness(PWM6,0); PCA9635.setBrightness(PWM7,0); PCA9635.setBrightness(PWM8,0); PCA9635.setBrightness(PWM9,0); PCA9635.setBrightness(PWM10,0); PCA9635.setBrightness(PWM11,0); PCA9635.setBrightness(PWM12,0); PCA9635.setBrightness(PWM13,0); PCA9635.setBrightness(PWM14,0); PCA9635.setBrightness(PWM15,0); } else if (( valeurlue > 316)&&(valeurlue <379)) { PCA9635.setBrightness(PWM0,0); PCA9635.setBrightness(PWM1,0); PCA9635.setBrightness(PWM2,0); PCA9635.setBrightness(PWM3,0); PCA9635.setBrightness(PWM4,0); PCA9635.setBrightness(PWM5,255); PCA9635.setBrightness(PWM6,0); PCA9635.setBrightness(PWM7,0); PCA9635.setBrightness(PWM8,0); PCA9635.setBrightness(PWM9,0); PCA9635.setBrightness(PWM10,0); PCA9635.setBrightness(PWM11,0); PCA9635.setBrightness(PWM12,0); PCA9635.setBrightness(PWM13,0); PCA9635.setBrightness(PWM14,0); PCA9635.setBrightness(PWM15,0); } else if (( valeurlue > 379)&&(valeurlue <442)) { PCA9635.setBrightness(PWM0,0); PCA9635.setBrightness(PWM1,0); PCA9635.setBrightness(PWM2,0); PCA9635.setBrightness(PWM3,0); PCA9635.setBrightness(PWM4,0); PCA9635.setBrightness(PWM5,0); PCA9635.setBrightness(PWM6,255); PCA9635.setBrightness(PWM7,0); PCA9635.setBrightness(PWM8,0); PCA9635.setBrightness(PWM9,0); PCA9635.setBrightness(PWM10,0); PCA9635.setBrightness(PWM11,0); PCA9635.setBrightness(PWM12,0); PCA9635.setBrightness(PWM13,0); PCA9635.setBrightness(PWM14,0); PCA9635.setBrightness(PWM15,0); } else if (( valeurlue > 442)&&(valeurlue <505)) { PCA9635.setBrightness(PWM0,0); PCA9635.setBrightness(PWM1,0); PCA9635.setBrightness(PWM2,0); PCA9635.setBrightness(PWM3,0); PCA9635.setBrightness(PWM4,0); PCA9635.setBrightness(PWM5,0); PCA9635.setBrightness(PWM6,0); PCA9635.setBrightness(PWM7,255); PCA9635.setBrightness(PWM8,0); PCA9635.setBrightness(PWM9,0); PCA9635.setBrightness(PWM10,0); PCA9635.setBrightness(PWM11,0); PCA9635.setBrightness(PWM12,0); PCA9635.setBrightness(PWM13,0); PCA9635.setBrightness(PWM14,0); PCA9635.setBrightness(PWM15,0); } else if (( valeurlue > 505)&&(valeurlue <568)) { PCA9635.setBrightness(PWM0,0); PCA9635.setBrightness(PWM1,0); PCA9635.setBrightness(PWM2,0); PCA9635.setBrightness(PWM3,0); PCA9635.setBrightness(PWM4,0); PCA9635.setBrightness(PWM5,0); PCA9635.setBrightness(PWM6,0); PCA9635.setBrightness(PWM7,0); PCA9635.setBrightness(PWM8,255); PCA9635.setBrightness(PWM9,0); PCA9635.setBrightness(PWM10,0); PCA9635.setBrightness(PWM11,0); PCA9635.setBrightness(PWM12,0); PCA9635.setBrightness(PWM13,0); PCA9635.setBrightness(PWM14,0); PCA9635.setBrightness(PWM15,0); } else if (( valeurlue > 568)&&(valeurlue <631)) { PCA9635.setBrightness(PWM0,0); PCA9635.setBrightness(PWM1,0); PCA9635.setBrightness(PWM2,0); PCA9635.setBrightness(PWM3,0); PCA9635.setBrightness(PWM4,0); PCA9635.setBrightness(PWM5,0); PCA9635.setBrightness(PWM6,0); PCA9635.setBrightness(PWM7,0); PCA9635.setBrightness(PWM8,0); PCA9635.setBrightness(PWM9,255); PCA9635.setBrightness(PWM10,0); PCA9635.setBrightness(PWM11,0); PCA9635.setBrightness(PWM12,0); PCA9635.setBrightness(PWM13,0); PCA9635.setBrightness(PWM14,0); PCA9635.setBrightness(PWM15,0); } else if (( valeurlue > 631)&&(valeurlue <694)) { PCA9635.setBrightness(PWM0,0); PCA9635.setBrightness(PWM1,0); PCA9635.setBrightness(PWM2,0); PCA9635.setBrightness(PWM3,0); PCA9635.setBrightness(PWM4,0); PCA9635.setBrightness(PWM5,0); PCA9635.setBrightness(PWM6,0); PCA9635.setBrightness(PWM7,0); PCA9635.setBrightness(PWM8,0); PCA9635.setBrightness(PWM9,0); PCA9635.setBrightness(PWM10,255); PCA9635.setBrightness(PWM11,0); PCA9635.setBrightness(PWM12,0); PCA9635.setBrightness(PWM13,0); PCA9635.setBrightness(PWM14,0); PCA9635.setBrightness(PWM15,0); } else if (( valeurlue > 694)&&(valeurlue <767)) { PCA9635.setBrightness(PWM0,0); PCA9635.setBrightness(PWM1,0); PCA9635.setBrightness(PWM2,0); PCA9635.setBrightness(PWM3,0); PCA9635.setBrightness(PWM4,0); PCA9635.setBrightness(PWM5,0); PCA9635.setBrightness(PWM6,0); PCA9635.setBrightness(PWM7,0); PCA9635.setBrightness(PWM8,0); PCA9635.setBrightness(PWM9,0); PCA9635.setBrightness(PWM10,0); PCA9635.setBrightness(PWM11,255); PCA9635.setBrightness(PWM12,0); PCA9635.setBrightness(PWM13,0); PCA9635.setBrightness(PWM14,0); PCA9635.setBrightness(PWM15,0); } else if (( valeurlue > 767)&&(valeurlue <830)) { PCA9635.setBrightness(PWM0,0); PCA9635.setBrightness(PWM1,0); PCA9635.setBrightness(PWM2,0); PCA9635.setBrightness(PWM3,0); PCA9635.setBrightness(PWM4,0); PCA9635.setBrightness(PWM5,0); PCA9635.setBrightness(PWM6,0); PCA9635.setBrightness(PWM7,0); PCA9635.setBrightness(PWM8,0); PCA9635.setBrightness(PWM9,0); PCA9635.setBrightness(PWM10,0); PCA9635.setBrightness(PWM11,0); PCA9635.setBrightness(PWM12,255); PCA9635.setBrightness(PWM13,0); PCA9635.setBrightness(PWM14,0); PCA9635.setBrightness(PWM15,0); } else if (( valeurlue > 830)&&(valeurlue <893)) { PCA9635.setBrightness(PWM0,0); PCA9635.setBrightness(PWM1,0); PCA9635.setBrightness(PWM2,0); PCA9635.setBrightness(PWM3,0); PCA9635.setBrightness(PWM4,0); PCA9635.setBrightness(PWM5,0); PCA9635.setBrightness(PWM6,0); PCA9635.setBrightness(PWM7,0); PCA9635.setBrightness(PWM8,0); PCA9635.setBrightness(PWM9,0); PCA9635.setBrightness(PWM10,0); PCA9635.setBrightness(PWM11,0); PCA9635.setBrightness(PWM12,0); PCA9635.setBrightness(PWM13,255); PCA9635.setBrightness(PWM14,0); PCA9635.setBrightness(PWM15,0); } else if (( valeurlue > 893)&&(valeurlue <956)) { PCA9635.setBrightness(PWM0,0); PCA9635.setBrightness(PWM1,0); PCA9635.setBrightness(PWM2,0); PCA9635.setBrightness(PWM3,0); PCA9635.setBrightness(PWM4,0); PCA9635.setBrightness(PWM5,0); PCA9635.setBrightness(PWM6,0); PCA9635.setBrightness(PWM7,0); PCA9635.setBrightness(PWM8,0); PCA9635.setBrightness(PWM9,0); PCA9635.setBrightness(PWM10,0); PCA9635.setBrightness(PWM11,0); PCA9635.setBrightness(PWM12,0); PCA9635.setBrightness(PWM13,0); PCA9635.setBrightness(PWM14,255); PCA9635.setBrightness(PWM15,0); } else if (( valeurlue > 956)&&(valeurlue <1023)) { PCA9635.setBrightness(PWM0,0); PCA9635.setBrightness(PWM1,0); PCA9635.setBrightness(PWM2,0); PCA9635.setBrightness(PWM3,0); PCA9635.setBrightness(PWM4,0); PCA9635.setBrightness(PWM5,0); PCA9635.setBrightness(PWM6,0); PCA9635.setBrightness(PWM7,0); PCA9635.setBrightness(PWM8,0); PCA9635.setBrightness(PWM9,0); PCA9635.setBrightness(PWM10,0); PCA9635.setBrightness(PWM11,0); PCA9635.setBrightness(PWM12,0); PCA9635.setBrightness(PWM13,0); PCA9635.setBrightness(PWM14,0); PCA9635.setBrightness(PWM15,255); } else { } } |
vidéo sur le module circulaire MR4131D |
.
.
Retour au sommaire
A savoir sur l’utilisation des informations sur le module MR4131D |
Les informations sur les caractéristiques et spécificités du module circulaire à leds bleues MR4131D qui sont fournis sur cette page correspondent aux informations des fiches techniques du constructeur si malgré le soin apporté à la réalisation de cet article une erreur s’est glissée dans ces lignes nous ne pourrions en être tenu responsable.
Les programmes , schémas et autres que ceux donnés par le constructeur font parti des montages utiles à nos applications si malgré le soin apporté à nos montages une erreur s’est glissée dans ces lignes nous ne pourrions en être tenu responsable .
L’ensemble des informations techniques de cet article a été utilisé pour nos applications, elles vous sont fournies comme un exemple de document de travail. Mais nous ne pourrions être tenu responsables d’une mauvaise utilisation de celle-ci.
.
Retour au sommaire
Pour tout probléme |
Pour tout problème de téléchargement ou pour nous suivre sur les réseaux sociaux voici les plateformes sur lesquelles nous éditons.
Cliquez sur celle qui vous intéresse .
.
Retour au sommaire