diy:grove:afficheurs
Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
| diy:grove:afficheurs [2020/04/03 17:28] – jbpuel | diy:grove:afficheurs [2020/04/03 17:40] (Version actuelle) – [Afficheur 4 chiffres] jbpuel | ||
|---|---|---|---|
| Ligne 2: | Ligne 2: | ||
| ===== Afficheur LCD RGB backlight ===== | ===== Afficheur LCD RGB backlight ===== | ||
| - | |||
| - | Une fois installée la bibliothèque dans l'IDE Arduino, on dispose de fichiers d' | ||
| <code C++> | <code C++> | ||
| Ligne 55: | Ligne 53: | ||
| </ | </ | ||
| + | ===== Afficheur Barre de LED ===== | ||
| + | Cet afficheur est composé de 10 barres (Leds), 8 vertes, 1 orange et 1 rouge.\\ | ||
| + | On peut les piloter individuellement ou bien considérer qu' | ||
| + | |||
| + | Pour définir individuellement l' | ||
| + | C'est sous cette forme qu'est attendu le paramètre de la fonction setBits et le résultat renvoyé par la fonction getBits. | ||
| + | |||
| + | Pour définir un niveau, c'est un entier entre 0 et 10.\\ | ||
| + | |||
| + | |||
| + | Le programme suivant utilise toutes les fonctions disponibles : | ||
| + | |||
| + | <code C++> | ||
| + | #include < | ||
| + | |||
| + | Grove_LED_Bar barre(7, 6, 1, LED_BAR_10); | ||
| + | // Orientation : 1 = Vert à Rouge, 0 = Rouge à Vert - Autre type : LED_CIRCULAR_24 | ||
| + | |||
| + | unsigned int etat; | ||
| + | |||
| + | void setup() { | ||
| + | barre.begin(); | ||
| + | barre.setGreenToRed(1); | ||
| + | } | ||
| + | |||
| + | void loop() { | ||
| + | // Adressage individuel des Leds : setBits, getBits, setLed, toggleLed | ||
| + | barre.setBits(0x0); | ||
| + | delay(1000); | ||
| + | barre.setBits(0x3ff); | ||
| + | delay(1000); | ||
| + | barre.setBits(0b000000000000001); | ||
| + | delay(1000); | ||
| + | barre.setBits(0b000000000010100); | ||
| + | delay(1000); | ||
| + | etat = barre.getBits(); | ||
| + | etat <<= 1; // Décalage à gauche (Led 4 et 6) | ||
| + | barre.setBits(etat); | ||
| + | delay(1000); | ||
| + | etat >>= 2; // Décalage de 2 positions à droite (Led 2 et 4) | ||
| + | barre.setBits(etat); | ||
| + | delay(1000); | ||
| + | barre.setLed(1, | ||
| + | barre.setLed(2, | ||
| + | barre.toggleLed(7); | ||
| + | delay(2000); | ||
| + | // Adressage des Leds par niveaux | ||
| + | for (int i = 0; i <= 10; i++) { | ||
| + | barre.setLevel(i); | ||
| + | delay(500); | ||
| + | } | ||
| + | delay(1000); | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | ===== Afficheur 4 chiffres ===== | ||
| + | |||
| + | Dans la bibliothèque TM1637 fournie pour Grove, plusieurs fonctions d' | ||
| + | ==== Avec la bibliothèque Grove (modifiée) ==== | ||
| + | |||
| + | <code C++> | ||
| + | #include " | ||
| + | |||
| + | // Définition des pins pour TM1637 : connecter sur D6 du shield Grove | ||
| + | const int CLK = 6; | ||
| + | const int DIO = 7; | ||
| + | TM1637 afficheur(CLK, | ||
| + | |||
| + | void setup() { | ||
| + | afficheur.init(); | ||
| + | afficheur.set(BRIGHT_TYPICAL); | ||
| + | } | ||
| + | |||
| + | void loop() { | ||
| + | int potar = analogRead(A0); | ||
| + | int val = map(potar, | ||
| + | delay(150); | ||
| + | afficheur.displayNum(val); | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | ==== Avec la bibliothèque alternative TM1637Display ==== | ||
| + | |||
| + | Bibliothèque de [[https:// | ||
| + | [[https:// | ||
| + | |||
| + | <code C++> | ||
| + | #include < | ||
| + | |||
| + | // Définition des pins pour TM1637 : connecter sur D6 du shield Grove | ||
| + | const int CLK = 6; | ||
| + | const int DIO = 7; | ||
| + | |||
| + | TM1637Display afficheur(CLK, | ||
| + | |||
| + | void setup() { | ||
| + | afficheur.clear(); | ||
| + | afficheur.setBrightness(2); | ||
| + | } | ||
| + | |||
| + | void loop() { | ||
| + | int potar = analogRead(A0); | ||
| + | int val = map(potar, | ||
| + | delay(150); | ||
| + | afficheur.showNumberDec(val); | ||
| + | } | ||
| + | </ | ||
diy/grove/afficheurs.1585934917.txt.gz · Dernière modification : de jbpuel
