Horloge digitale : Différence entre versions

De Les Fabriques du Ponant
Aller à : navigation, rechercher
Ligne 1 : Ligne 1 :
<pre>
+
<pre>/////////////////////////////////
/////////////////////////////////
 
 
//                            //
 
//                            //
 
//      Afficher des Pictos    //
 
//      Afficher des Pictos    //
Ligne 6 : Ligne 5 :
 
//                            //
 
//                            //
 
/////////////////////////////////
 
/////////////////////////////////
/*                                        +-----+
+
///////////////////////////////////////////////////////////////////
            +----[PWR]-------------------| USB |--+
+
//                          BROCHAGE                           //
            |                           +-----+  |
+
//                      _________________                        //
            |        GND/RST2  [ ][ ]            |
+
//                     /    D1 mini    \                      //
            |      MOSI2/SCK2  [ ][ ]  A5/SCL[ ] |
+
//                - |[ ]RST        TX[ ]| -                    //
            |          5V/MISO2 [ ][ ] A4/SDA[ ] | 
+
//                 - |[ ]A0        RX[ ]| -                    //
            |                             AREF[ ] |
+
//                -  |[ ]D0        D1[ ]| -                    //
            |                              GND[ ] |
+
//            Din -  |[X]D5        D2[ ]| -                   //
            | [ ]N/C                    SCK/13[ ] |  
+
//            CLK -  |[X]D6        D3[ ]| -                    //
            | [ ]IOREF                MISO/12[X] |   DataIn (ou Din)
+
//             CS -  |[X]D7        D4[ ]| LED_BUILTIN          //
            | [ ]RST                  MOSI/11[X]~|   CLK (pour Clock)
+
//                - |[ ]D8        GND[X]| -                   //
            | [ ]3V3    +---+              10[X]~|  CS (Load)
+
//                -  |[X]3V3 .      5V[ ]| -                    //
      VCC  | [X]5v    -| A |-               9[ ]~| 
+
//                    |       +---+       |                      //
      GND  | [X]GND  -| R |-              8[ ]
+
//                   |_______|USB|_______|                     //
            | [ ]GND  -| D |-                    |
+
///////////////////////////////////////////////////////////////////     
             | [ ]Vin  -| U |-              7[ ] |  
+
/*
            |          -| I |-              6[ ]~|   
 
            | [ ]A0    -| N |-               5[ ]~|   
 
            | [ ]A1    -| O |-              4[ ] |  
 
            | [ ]A2    +---+           INT1/3[ ]~|   
 
            | [ ]A3                    INT0/2[ ] |   
 
            | [ ]A4/SDA  RST SCK MISO    TX>1[ ] | 
 
            | [ ]A5/SCL  [ ] [ ] [ ]      RX<0[ ] |
 
            |           [ ] [ ] [ ]              |
 
            | UNO_R3    GND MOSI 5V  ____________/
 
              \_______________________/
 
 
 
 
Matériel :
 
Matériel :
- un Arduino
+
- 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(12,11,10,1);  // On défini un ensemble de matrice de led "lc". Dans l'ordre, on branche les broches Din sur la broche 12, CLK sur 11, CS sur 10.  
+
#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);
}