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);
}
