diy: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édente | ||
diy:grove [2020/04/03 10:43] – [Afficheur Barre de LED] jbpuel | diy:grove [2020/04/03 15:29] (Version actuelle) – supprimée jbpuel | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | ====== Environnement Grove ====== | ||
- | |||
- | ===== Informations générales ===== | ||
- | |||
- | L' | ||
- | |||
- | Par ailleurs, un shield de base Grove doit être installé sur la carte Arduino. Ce shield met à disposition ces mêmes connecteurs, | ||
- | |||
- | Chaque connecteur assure le câblage de 4 pins (5v, GND, et pins numérotées).\\ | ||
- | Par exemple, le connecteur numérique D3 correspond aux pins digital 3 et digital 4.\\ | ||
- | Certains composants n' | ||
- | |||
- | ===== Utilisation d'un composant Grove ===== | ||
- | |||
- | On trouve toutes les informations sur l' | ||
- | |||
- | ===== Exemples de composants ===== | ||
- | |||
- | ==== Afficheur LCD RGB backlight ==== | ||
- | |||
- | Une fois installée la bibliothèque dans l'IDE Arduino, on dispose de fichiers d' | ||
- | |||
- | <code C++> | ||
- | #include < | ||
- | #include " | ||
- | |||
- | rgb_lcd lcd; // Déclare un objet de type rgb_lcd | ||
- | |||
- | void setup() { | ||
- | lcd.begin(16, | ||
- | } | ||
- | </ | ||
- | Les fonctions suivantes sont disponibles pour l' | ||
- | <code C++> | ||
- | lcd.setCursor(0, | ||
- | lcd.print(" | ||
- | lcd.clear(); | ||
- | lcd.blink(); | ||
- | lcd.noblink(); | ||
- | lcd.autoscroll(); | ||
- | lcd.noAutoscroll(); | ||
- | lcd.cursor(); | ||
- | lcd.noCursor(); | ||
- | lcd.display(); | ||
- | lcd.noDisplay(); | ||
- | lcd.setRGB(255, | ||
- | lcd.setPWM(couleur, | ||
- | // Couleurs prédéfinies, | ||
- | lcd.blinkLED(); | ||
- | lcd.noBlinkLED(); | ||
- | lcd.scrollDisplayLeft(); | ||
- | lcd.scrollDisplayRight(); | ||
- | // Ne gère pas le saut de ligne, mais le texte revient dans l' | ||
- | </ | ||
- | Enfin, on peut créer des caractère personnalisés. | ||
- | <code C++> | ||
- | // Créer le dessin avant le setup dans une grille de 5x8 pixels | ||
- | byte dessin[8] = { | ||
- | 0b00000, | ||
- | 0b01010, | ||
- | 0b11111, | ||
- | 0b11111, | ||
- | 0b11111, | ||
- | 0b01110, | ||
- | 0b00100, | ||
- | 0b00000 | ||
- | }; | ||
- | lcd.createChar(n, | ||
- | lcd.write(n); | ||
- | // Si besoin, forcer le type : (unsigned char)n | ||
- | </ | ||
- | |||
- | ==== 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.\\ | ||
- | |||
- | |||
- | Les fonctions disponibles sont : | ||
- | |||
- | <code C++> | ||
- | setGreenToRed | ||
- | setLevel | ||
- | setLed | ||
- | toggleLed | ||
- | setBits | ||
- | getBits | ||
- | </ | ||
diy/grove.1585910635.txt.gz · Dernière modification : de jbpuel