|
|
Ligne 35 : |
Ligne 35 : |
| |Step_Content=Nous allons utiliser la bibliothèque LedControl (pour l'installer cliquer "outil" puis "Gérer les bibliothèques" est dans la recherche vous tapez LedControl et suivez les instructions). | | |Step_Content=Nous allons utiliser la bibliothèque LedControl (pour l'installer cliquer "outil" puis "Gérer les bibliothèques" est dans la recherche vous tapez LedControl et suivez les instructions). |
| | | |
− | Pour afficher un smiley, c'est avec le programme suivant :<pre> | + | Pour afficher un smiley, Plus haut dans les fichiers choisissez le programme "MatriceLed8X8-Smiley" |
− | /////////////////////////////////
| |
− | // //
| |
− | // Afficher des Pictos . //
| |
− | // Sur une matrice de LED 8X8 //
| |
− | // //
| |
− | /////////////////////////////////
| |
− | /* +-----+
| |
− | +----[PWR]-------------------| USB |--+
| |
− | | +-----+ |
| |
− | | GND/RST2 [ ][ ] |
| |
− | | MOSI2/SCK2 [ ][ ] A5/SCL[ ] |
| |
− | | 5V/MISO2 [ ][ ] A4/SDA[ ] |
| |
− | | AREF[ ] |
| |
− | | GND[ ] |
| |
− | | [ ]N/C SCK/13[ ] |
| |
− | | [ ]IOREF MISO/12[X] | DataIn (ou Din)
| |
− | | [ ]RST MOSI/11[X]~| CLK (pour Clock)
| |
− | | [ ]3V3 +---+ 10[X]~| CS (Load)
| |
− | VCC | [X]5v -| A |- 9[ ]~|
| |
− | GND | [X]GND -| R |- 8[ ] |
| |
− | | [ ]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 :
| |
− | - un Arduino
| |
− | - une matrice de LED MAX7219.
| |
− | - Quelques cable dupont
| |
− | | |
− | 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"
| |
− | | |
− | 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.
| |
− | // le dernier chiffre indique le nombre de matrice de LED (il peut y en avoir jusqu'à 8).
| |
− | // ici on n'en a qu'une.
| |
− | | |
− | void setup()
| |
− | {
| |
− | lc.shutdown(0,false); // Allule la matrice de led
| |
− | lc.setIntensity(0,1); // règle la luminosité (de 1 à 15) de la matrice en postion 0 (la première et la seule dans notre exemple).
| |
− | lc.clearDisplay(0); // efface la matrice (éteint toute les led).
| |
− | }
| |
− | | |
− | void loop()
| |
− | {
| |
− | lc.setRow(0,0,B00111100); // la fonction setRow s'utilise en mettant la position de la matrice, le numéro de ligne et l'octet qui gère la ligne. setRow(int adress, int ligne, byte octet).
| |
− | lc.setRow(0,1,B01000010);
| |
− | lc.setRow(0,2,B10100101);
| |
− | lc.setRow(0,3,B10000001);
| |
− | lc.setRow(0,4,B10100101);
| |
− | lc.setRow(0,5,B10011001);
| |
− | lc.setRow(0,6,B01000010);
| |
− | lc.setRow(0,7,B00111100); // Utilisez les documents de wikidébrouillard pour créer votre propres images.
| |
− | }
| |
− | </pre>Vous le copiez et le collez dans un fichier Arduino.
| |
| |Step_Picture_00=Afficher_des_pictos_sur_une_matrice_de_led_8X8_matriceled8X8coeur2.jpg | | |Step_Picture_00=Afficher_des_pictos_sur_une_matrice_de_led_8X8_matriceled8X8coeur2.jpg |
| }} | | }} |
Ligne 121 : |
Ligne 45 : |
| {{Tuto Step | | {{Tuto Step |
| |Step_Title=Réaliser des animations : Space Invaders | | |Step_Title=Réaliser des animations : Space Invaders |
− | |Step_Content=Le cinéma c'est c'est une succession d'images, nous allons faire pareil avec le code suivant.<pre> | + | |Step_Content=Le cinéma c'est c'est une succession d'images, nous allons faire pareil avec le code suivant. |
− | /////////////////////////////////
| |
− | // //
| |
− | // Space Invader //
| |
− | // Sur une matrice de LED 8X8 //
| |
− | // //
| |
− | /////////////////////////////////
| |
− | /* +-----+
| |
− | +----[PWR]-------------------| USB |--+
| |
− | | +-----+ |
| |
− | | GND/RST2 [ ][ ] |
| |
− | | MOSI2/SCK2 [ ][ ] A5/SCL[ ] |
| |
− | | 5V/MISO2 [ ][ ] A4/SDA[ ] |
| |
− | | AREF[ ] |
| |
− | | GND[ ] |
| |
− | | [ ]N/C SCK/13[ ] |
| |
− | | [ ]IOREF MISO/12[X] | DataIn (ou Din)
| |
− | | [ ]RST MOSI/11[X]~| CLK (pour Clock)
| |
− | | [ ]3V3 +---+ 10[X]~| CS (Load)
| |
− | VCC | [X]5v -| A |- 9[ ]~|
| |
− | GND | [X]GND -| R |- 8[ ] |
| |
− | | [ ]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 :
| |
− | - un Arduino
| |
− | - une matrice de LED MAX7219.
| |
− | - Quelques cable dupont
| |
− | | |
− | 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"
| |
− | | |
− | 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.
| |
− | // 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 invader1a[] =
| |
− | {
| |
− | B00011000, // Première image de l'envahisseur1
| |
− | B00111100,
| |
− | B01111110,
| |
− | B11011011,
| |
− | B11111111,
| |
− | B00100100,
| |
− | B01011010,
| |
− | B10100101
| |
− | };
| |
− | | |
− | byte invader1b[] =
| |
− | {
| |
− | B00011000, // Seconde image de l'envahisseur1
| |
− | B00111100, // chaque octet encode l'allumage de chaque LED d'une ligne.
| |
− | B01111110,
| |
− | B11011011,
| |
− | B11111111,
| |
− | B00100100,
| |
− | B01011010,
| |
− | B01000010
| |
− | };
| |
− | | |
− | byte invader2a[] =
| |
− | {
| |
− | B00100100, // Première image de l'envahisseur2
| |
− | B00100100,
| |
− | B01111110,
| |
− | B11011011,
| |
− | B11111111,
| |
− | B11111111,
| |
− | B10100101,
| |
− | B00100100
| |
− | };
| |
− | | |
− | byte invader2b[] =
| |
− | {
| |
− | B00100100, // Seconde image de l'envahisseur2
| |
− | B10100101,
| |
− | B11111111,
| |
− | B11011011,
| |
− | B11111111,
| |
− | B01111110,
| |
− | B00100100,
| |
− | B01000010
| |
− | };
| |
− | | |
− | void setup()
| |
− | {
| |
− | lc.shutdown(0,false); // Allule la matrice de led
| |
− | lc.setIntensity(0,1); // règle la luminosité (de 1 à 15) de la matrice en postion 0 (la première et la seule dans notre exemple).
| |
− | lc.clearDisplay(0); // efface la matrice (éteint toute les led).
| |
− | }
| |
− | | |
− | // Prendre les valeurs dans les tableaux et les afficher
| |
− | void sinvader1a()
| |
− | {
| |
− | for (int i = 0; i < 8; i++)
| |
− | {
| |
− | lc.setRow(0,i,invader1a[i]); // La fonction setRow allume chaque les LEDs de chaque ligne en appellant chaque octet.
| |
− | }
| |
− | }
| |
− | | |
− | void sinvader1b()
| |
− | {
| |
− | for (int i = 0; i < 8; i++)
| |
− | {
| |
− | lc.setRow(0,i,invader1b[i]);
| |
− | }
| |
− | }
| |
− | | |
− | void sinvader2a()
| |
− | {
| |
− | for (int i = 0; i < 8; i++)
| |
− | {
| |
− | lc.setRow(0,i,invader2a[i]);
| |
− | }
| |
− | }
| |
− | | |
− | void sinvader2b()
| |
− | {
| |
− | for (int i = 0; i < 8; i++)
| |
− | {
| |
− | lc.setRow(0,i,invader2b[i]);
| |
− | }
| |
− | }
| |
− | | |
− | void attac1()
| |
− | { // pour animer l'envahisseur, on affiche les deux images alternativement 10 fois
| |
− | for (int i=0; i <= 10; i++){
| |
− | sinvader1a();
| |
− | delay(dureeImage);
| |
− | sinvader1b();
| |
− | delay(dureeImage);
| |
− | }
| |
− | }
| |
− | | |
− | void attac2()
| |
− | { // pour animer l'envahisseur, on affiche les deux images alternativement 10 fois
| |
− | for (int i=0; i <= 10; i++){
| |
− | sinvader2a();
| |
− | delay(dureeImage);
| |
− | sinvader2b();
| |
− | delay(dureeImage);
| |
− | }
| |
− | }
| |
− | | |
− | void loop()
| |
− | {
| |
− | attac1(); // On affiche le premier envahisseur
| |
− | lc.clearDisplay(0); // on efface l'affichage
| |
− | delay(200);
| |
− | attac2();// On affiche le second envahisseur
| |
− | lc.clearDisplay(0); // on efface l'affichage
| |
− | delay(200);
| |
− | }
| |
− | </pre>
| |
| |Step_Picture_00=Afficher_des_pictos_sur_une_matrice_de_led_8X8_matriceled8X8-invaderA.jpg | | |Step_Picture_00=Afficher_des_pictos_sur_une_matrice_de_led_8X8_matriceled8X8-invaderA.jpg |
| |Step_Picture_01=Afficher_des_pictos_sur_une_matrice_de_led_8X8_matriceled8X8-invaderB.jpg | | |Step_Picture_01=Afficher_des_pictos_sur_une_matrice_de_led_8X8_matriceled8X8-invaderB.jpg |