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:15] – [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 ==== | ||
| - | |||
| - | Plusieurs fonctions disponibles : | ||
| - | * affichage d'un niveau : setLevel() | ||
| - | * affichage d'une ou plusieurs barres : setBits() | ||
| - | * lecture de l' | ||
| - | |||
| - | Dans le cas d'un niveau, c'est un entier entre 0 et 10. En revanche pour définir l' | ||
| - | |||
| - | Les fonctions disponibles sont : | ||
| - | |||
| - | <code C++> | ||
| - | Grove_LED_Bar | ||
| - | setGreenToRed | ||
| - | setLevel | ||
| - | setLed | ||
| - | toggleLed | ||
| - | setBits | ||
| - | getBits | ||
| - | </ | ||
diy/grove.1585908914.txt.gz · Dernière modification : de jbpuel
