Horloge digitale : Différence entre versions
Ligne 1 : | Ligne 1 : | ||
− | <pre> | + | <pre>///////////////////////////////// |
− | ///////////////////////////////// | ||
// // | // // | ||
// Afficher des Pictos // | // Afficher des Pictos // | ||
Ligne 6 : | Ligne 5 : | ||
// // | // // | ||
///////////////////////////////// | ///////////////////////////////// | ||
− | / | + | /////////////////////////////////////////////////////////////////// |
− | + | // BROCHAGE // | |
− | + | // _________________ // | |
− | + | // / D1 mini \ // | |
− | + | // - |[ ]RST TX[ ]| - // | |
− | + | // - |[ ]A0 RX[ ]| - // | |
− | + | // - |[ ]D0 D1[ ]| - // | |
− | + | // Din - |[X]D5 D2[ ]| - // | |
− | + | // CLK - |[X]D6 D3[ ]| - // | |
− | + | // CS - |[X]D7 D4[ ]| LED_BUILTIN // | |
− | + | // - |[ ]D8 GND[X]| - // | |
− | + | // - |[X]3V3 . 5V[ ]| - // | |
− | + | // | +---+ | // | |
− | + | // |_______|USB|_______| // | |
− | + | /////////////////////////////////////////////////////////////////// | |
− | | [ ] | + | /* |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
Matériel : | Matériel : | ||
− | - un | + | - un Wemos |
- une matrice de LED MAX7219. | - une matrice de LED MAX7219. | ||
- Quelques cable dupont | - Quelques cable dupont | ||
+ | tutoriel disponible sur : http://wikidebrouillard.dokit.io/wiki/Afficher_des_pictos_sur_une_matrice_de_led_8X8 | ||
Programme inspiré des exemples de la bibliothèque "LedControl.h" | Programme inspiré des exemples de la bibliothèque "LedControl.h" | ||
Ligne 53 : | Ligne 42 : | ||
#include "LedControl.h" | #include "LedControl.h" | ||
− | LedControl lc=LedControl( | + | #define CS_broche D7 |
+ | #define CLK_broche D6 | ||
+ | #define DIN_broche D5 | ||
+ | |||
+ | LedControl lc=LedControl(DIN_broche,CLK_broche,CS_broche,4); | ||
+ | // On défini un ensemble de matrice de led "lc". | ||
+ | // Dans l'ordre, on branche les broches Din sur la broche D5, CLK sur D6, CS sur D7. | ||
// le dernier chiffre indique le nombre de matrice de LED (il peut y en avoir jusqu'à 8). | // le dernier chiffre indique le nombre de matrice de LED (il peut y en avoir jusqu'à 8). | ||
// ici on n'en a qu'une. | // ici on n'en a qu'une. |
Version du 18 janvier 2019 à 11:46
///////////////////////////////// // // // Afficher des Pictos // // Sur une matrice de LED 8X8 // // // ///////////////////////////////// /////////////////////////////////////////////////////////////////// // BROCHAGE // // _________________ // // / D1 mini \ // // - |[ ]RST TX[ ]| - // // - |[ ]A0 RX[ ]| - // // - |[ ]D0 D1[ ]| - // // Din - |[X]D5 D2[ ]| - // // CLK - |[X]D6 D3[ ]| - // // CS - |[X]D7 D4[ ]| LED_BUILTIN // // - |[ ]D8 GND[X]| - // // - |[X]3V3 . 5V[ ]| - // // | +---+ | // // |_______|USB|_______| // /////////////////////////////////////////////////////////////////// /* Matériel : - un Wemos - une matrice de LED MAX7219. - Quelques cable dupont tutoriel disponible sur : http://wikidebrouillard.dokit.io/wiki/Afficher_des_pictos_sur_une_matrice_de_led_8X8 Programme inspiré des exemples de la bibliothèque "LedControl.h" ___ / ___ \ |_| | | /_/ _ ___ _ |_| |___|_| |_ ___|_ _| |___| |_| Les petits Débrouillards - CC-By-Sa http://creativecommons.org/licenses/by-nc-sa/3.0/ Antony Le Goïc-Auffret */ #include "LedControl.h" #define CS_broche D7 #define CLK_broche D6 #define DIN_broche D5 LedControl lc=LedControl(DIN_broche,CLK_broche,CS_broche,4); // On défini un ensemble de matrice de led "lc". // Dans l'ordre, on branche les broches Din sur la broche D5, CLK sur D6, CS sur D7. // le dernier chiffre indique le nombre de matrice de LED (il peut y en avoir jusqu'à 8). // ici on n'en a qu'une. unsigned long dureeImage=200; // Durée d'affichage de chaque image // Pour créer une image, il faut allumer ou éteindre certaines led // Les valeurs qui gèrent l'allumage de chaque LED sont dans un tableau (0 = led éteinte, 1 = Led Allulmée). byte coeurPetit[] = //le tableau contient 8 octet (byte), chaque octet code une ligne de la matrice de led { B00000000, B00110110, B01111111, B01111111, B00111110, B00011100, B00001000, B00000000 }; byte coeur[] = { B01100110, B11111111, B11111111, B11111111, B01111110, B00111100, B00011000, B00000000 }; byte coeurGros[] = { B11101110, B11111111, B11111111, B11111111, B11111110, B01111100, B00111000, B00010000 }; void setup() { lc.shutdown(0,false); // Allule la matrice de led lc.setIntensity(0,1); // règle la luminosité (de 1 à 10) lc.clearDisplay(0); // efface la matrice (éteint toute les les led). } // Prendre les valeurs dans les tableaux et les afficher void battement1() { for (int i = 0; i < 8; i++) { lc.setRow(0,i,coeurPetit[i]); } } void battement2() { for (int i = 0; i < 8; i++) { lc.setRow(0,i,coeur[i]); } } void battement3() { for (int i = 0; i < 8; i++) { lc.setRow(0,i,coeurGros[i]); } } void loop() { battement1(); // on affiche la première image du petit coeur. delay(dureeImage); // pendant une durée de dureeImage millisecondes battement2(); // on affiche la seconde image delay(dureeImage); // etc... battement3(); delay(dureeImage); battement2(); delay(dureeImage); }