diy:grove:grove
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édenteDernière révisionLes deux révisions suivantes | ||
diy:grove:grove [2020/04/03 17:28] – [Afficheur LCD RGB backlight] jbpuel | diy:grove:grove [2020/04/03 17:43] – [Utilisation d'un composant Grove] jbpuel | ||
---|---|---|---|
Ligne 5: | Ligne 5: | ||
L' | L' | ||
- | Par ailleurs, un shield de base Grove doit être installé sur la carte Arduino. Ce shield met à disposition ces mêmes connecteurs, | + | Par ailleurs, un shield de base Grove doit être installé sur la carte Arduino. Ce shield met à disposition ces mêmes connecteurs, |
- | Chaque | + | Chaque |
Par exemple, le connecteur numérique D3 correspond aux pins digital 3 et digital 4.\\ | Par exemple, le connecteur numérique D3 correspond aux pins digital 3 et digital 4.\\ | ||
Certains composants n' | Certains composants n' | ||
Ligne 13: | Ligne 13: | ||
===== Utilisation d'un composant Grove ===== | ===== Utilisation d'un composant Grove ===== | ||
- | On trouve toutes les informations sur l' | + | On trouve toutes les informations sur l' |
===== Programmes Grove ===== | ===== Programmes Grove ===== | ||
Ligne 28: | Ligne 28: | ||
[[diy: | [[diy: | ||
- | |||
- | |||
- | |||
- | ==== Télémetre Ultrasonic ranger ==== | ||
- | |||
- | <code C++> | ||
- | #include " | ||
- | |||
- | Ultrasonic telemetre(7); | ||
- | </ | ||
- | ensuite | ||
- | <code C++> | ||
- | long distance; // En centimetres, | ||
- | distance = telemetre.MeasureInCentimeters(); | ||
- | </ | ||
- | |||
- | ==== 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 === | ||
- | |||
- | 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); | ||
- | } | ||
- | </ | ||
- | |||
- | ==== 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); | ||
- | } | ||
- | </ | ||
- | |||
diy/grove/grove.txt · Dernière modification : 2020/04/03 17:44 de jbpuel