![]() |
Dernière révision : mars 2025 |
![]() |
![]() |
![]() |
![]() |
![]() | ![]() |
Sommaire Introduction L’électronique et l’informatique ont profondément modifié notre société. C’est certainement la révolution industrielle la plus rapide de l’histoire de l’humanité. Aujourd'hui, les systèmes embarqués sont omniprésents dans notre vie quotidienne et nous emmènent vers un monde de plus en plus connecté, avec ses avantages et ses inconvénients... L’auteur ne pourra en aucun cas être tenu responsable des dommages qui résulteraient de l’utilisation des informations publiées sur ce site, sous licence Creative Commons BY-NC-SA. Toute reproduction ou modification d'un document, même partielle, est autorisée à condition que son origine et le nom de l'auteur soient clairement indiqués (BY), qu'il soit utilisé à des fins non commerciales (NC), que son mode de diffusion soit identique au document initial (SA), et que cela ne porte pas atteinte à l’auteur. Ce document présente un projet utilisant une carte ESP8266, en espérant toujours être le plus clair et précis possible. Malgré tout le soin apporté à la rédaction, l'auteur vous remercie de bien vouloir le contacter si vous relevez la moindre erreur ou omission, et vous souhaite une agréable lecture. Objectif Afficher un texte défilant sur des matrices 8 x 8 leds (module MAX7219), avec maj OTA. Niveau ![]() Matériel utilisé
Programme (sketch) // afficher un texte défilant sur des matrices 8 x 8 leds (module MAX7219), // avec maj OTA #include <ESP8266WiFi.h> #include <ArduinoOTA.h> #include <LedControl.h> #include <Wire.h> #define nom_wifi "" // à modifier ! #define mdp_wifi "" // à modifier ! #define nom_ota "MAX7219" #define mdp_ota "" // à modifier ! #define nbr_modules 8 #define PIR 2 IPAddress ip(192,168,1,44); IPAddress masque(255,255,255,0); IPAddress passerelle(192,168,1,1); IPAddress dns(192,168,1,1); LedControl module=LedControl(13,14,15,nbr_modules); // DIN, CLK, CS unsigned char date_ds1307[11],heure_ds1307[9]; unsigned char debut=0,texte[256],nbr_car,tab_car[8]; void delayMilliseconds(unsigned temps) { unsigned i=0; while (i<temps) { yield(); delayMicroseconds(1000); i++; } } void lire_ds1307() { unsigned char date_heure[7],i=0; Wire.beginTransmission(0x68); // adresse I2C du circuit DS1307 (104) Wire.write(0x00); // adresse du premier registre à lire Wire.endTransmission(); // ne pas déplacer (instruction à mettre après le dernier "write") ! Wire.requestFrom(0x68,7); while (Wire.available()>0) date_heure[i++]=Wire.read(); // jour du mois date_ds1307[0]=(date_heure[4]>>4)+48; date_ds1307[1]=(date_heure[4]&0x0F)+48; date_ds1307[2]='/'; // mois date_ds1307[3]=(date_heure[5]>>4)+48; date_ds1307[4]=(date_heure[5]&0x0F)+48; date_ds1307[5]='/'; // année date_ds1307[6]='2'; date_ds1307[7]='0'; date_ds1307[8]=(date_heure[6]>>4)+48; date_ds1307[9]=(date_heure[6]&0x0F)+48; date_ds1307[10]=0; // heures heure_ds1307[0]=(date_heure[2]>>4)+48; heure_ds1307[1]=(date_heure[2]&0x0F)+48; heure_ds1307[2]=':'; // minutes heure_ds1307[3]=(date_heure[1]>>4)+48; heure_ds1307[4]=(date_heure[1]&0x0F)+48; heure_ds1307[5]=':'; // secondes heure_ds1307[6]=(date_heure[0]>>4)+48; heure_ds1307[7]=(date_heure[0]&0x0F)+48; heure_ds1307[8]=0; } void init_tab_car(unsigned char car) { switch (car) { // espace case 32 : tab_car[0]=0b00000000; tab_car[1]=0b00000000; tab_car[2]=0b00000000; tab_car[3]=0b00000000; tab_car[4]=0b00000000; tab_car[5]=0b00000000; tab_car[6]=0b00000000; tab_car[7]=0b00000000; break; // ! case 33 : tab_car[0]=0b00010000; tab_car[1]=0b00010000; tab_car[2]=0b00010000; tab_car[3]=0b00010000; tab_car[4]=0b00010000; tab_car[5]=0b00000000; tab_car[6]=0b00010000; tab_car[7]=0b00000000; break; // " case 34 : tab_car[0]=0b00101000; tab_car[1]=0b00101000; tab_car[2]=0b00101000; tab_car[3]=0b00000000; tab_car[4]=0b00000000; tab_car[5]=0b00000000; tab_car[6]=0b00000000; tab_car[7]=0b00000000; break; // # case 35 : tab_car[0]=0b00101000; tab_car[1]=0b00101000; tab_car[2]=0b01111100; tab_car[3]=0b00101000; tab_car[4]=0b01111100; tab_car[5]=0b00101000; tab_car[6]=0b00101000; tab_car[7]=0b00000000; break; // $ (€) case 36 : tab_car[0]=0b00011000; tab_car[1]=0b00100100; tab_car[2]=0b01111000; tab_car[3]=0b00100000; tab_car[4]=0b01111000; tab_car[5]=0b00100100; tab_car[6]=0b00011000; tab_car[7]=0b00000000; break; // % case 37 : tab_car[0]=0b00000000; tab_car[1]=0b01100100; tab_car[2]=0b01101000; tab_car[3]=0b00010000; tab_car[4]=0b00101100; tab_car[5]=0b01001100; tab_car[6]=0b00000000; tab_car[7]=0b00000000; break; // & case 38 : tab_car[0]=0b00110000; tab_car[1]=0b01001000; tab_car[2]=0b01001000; tab_car[3]=0b00110000; tab_car[4]=0b00110100; tab_car[5]=0b01001000; tab_car[6]=0b00110100; tab_car[7]=0b00000000; break; // ' case 39 : tab_car[0]=0b00010000; tab_car[1]=0b00010000; tab_car[2]=0b00100000; tab_car[3]=0b00000000; tab_car[4]=0b00000000; tab_car[5]=0b00000000; tab_car[6]=0b00000000; tab_car[7]=0b00000000; break; // ( case 40 : tab_car[0]=0b00001000; tab_car[1]=0b00010000; tab_car[2]=0b00100000; tab_car[3]=0b00100000; tab_car[4]=0b00100000; tab_car[5]=0b00010000; tab_car[6]=0b00001000; tab_car[7]=0b00000000; break; // ) case 41 : tab_car[0]=0b00100000; tab_car[1]=0b00010000; tab_car[2]=0b00001000; tab_car[3]=0b00001000; tab_car[4]=0b00001000; tab_car[5]=0b00010000; tab_car[6]=0b00100000; tab_car[7]=0b00000000; break; // * case 42 : tab_car[0]=0b01010100; tab_car[1]=0b00111000; tab_car[2]=0b01111100; tab_car[3]=0b00111000; tab_car[4]=0b01010100; tab_car[5]=0b00000000; tab_car[6]=0b00000000; tab_car[7]=0b00000000; break; // + case 43 : tab_car[0]=0b00000000; tab_car[1]=0b00010000; tab_car[2]=0b00010000; tab_car[3]=0b01111100; tab_car[4]=0b00010000; tab_car[5]=0b00010000; tab_car[6]=0b00000000; tab_car[7]=0b00000000; break; // - case 45 : tab_car[0]=0b00000000; tab_car[1]=0b00000000; tab_car[2]=0b00000000; tab_car[3]=0b01111100; tab_car[4]=0b00000000; tab_car[5]=0b00000000; tab_car[6]=0b00000000; tab_car[7]=0b00000000; break; // . case 46 : tab_car[0]=0b00000000; tab_car[1]=0b00000000; tab_car[2]=0b00000000; tab_car[3]=0b00000000; tab_car[4]=0b00000000; tab_car[5]=0b00000000; tab_car[6]=0b00010000; tab_car[7]=0b00000000; break; // / case 47 : tab_car[0]=0b00000000; tab_car[1]=0b00000100; tab_car[2]=0b00001000; tab_car[3]=0b00010000; tab_car[4]=0b00100000; tab_car[5]=0b01000000; tab_car[6]=0b00000000; tab_car[7]=0b00000000; break; // 0 case 48 : tab_car[0]=0b00010000; tab_car[1]=0b00101000; tab_car[2]=0b01000100; tab_car[3]=0b01000100; tab_car[4]=0b01000100; tab_car[5]=0b00101000; tab_car[6]=0b00010000; tab_car[7]=0b00000000; break; // 1 case 49 : tab_car[0]=0b00010000; tab_car[1]=0b00110000; tab_car[2]=0b01010000; tab_car[3]=0b00010000; tab_car[4]=0b00010000; tab_car[5]=0b00010000; tab_car[6]=0b01111100; tab_car[7]=0b00000000; break; // 2 case 50 : tab_car[0]=0b00111000; tab_car[1]=0b01000100; tab_car[2]=0b00000100; tab_car[3]=0b00001000; tab_car[4]=0b00010000; tab_car[5]=0b00100000; tab_car[6]=0b01111100; tab_car[7]=0b00000000; break; // 3 case 51 : tab_car[0]=0b00111000; tab_car[1]=0b01000100; tab_car[2]=0b00000100; tab_car[3]=0b00011000; tab_car[4]=0b00000100; tab_car[5]=0b01000100; tab_car[6]=0b00111000; tab_car[7]=0b00000000; break; // 4 case 52 : tab_car[0]=0b00001000; tab_car[1]=0b00011000; tab_car[2]=0b00101000; tab_car[3]=0b01001000; tab_car[4]=0b01111100; tab_car[5]=0b00001000; tab_car[6]=0b00001000; tab_car[7]=0b00000000; break; // 5 case 53 : tab_car[0]=0b01111100; tab_car[1]=0b01000000; tab_car[2]=0b01000000; tab_car[3]=0b01111000; tab_car[4]=0b00000100; tab_car[5]=0b01000100; tab_car[6]=0b00111000; tab_car[7]=0b00000000; break; // 6 case 54 : tab_car[0]=0b00111000; tab_car[1]=0b01000100; tab_car[2]=0b01000000; tab_car[3]=0b01111000; tab_car[4]=0b01000100; tab_car[5]=0b01000100; tab_car[6]=0b00111000; tab_car[7]=0b00000000; break; // 7 case 55 : tab_car[0]=0b01111100; tab_car[1]=0b01000100; tab_car[2]=0b00001000; tab_car[3]=0b00010000; tab_car[4]=0b00100000; tab_car[5]=0b01000000; tab_car[6]=0b01000000; tab_car[7]=0b00000000; break; // 8 case 56 : tab_car[0]=0b00111000; tab_car[1]=0b01000100; tab_car[2]=0b01000100; tab_car[3]=0b00111000; tab_car[4]=0b01000100; tab_car[5]=0b01000100; tab_car[6]=0b00111000; tab_car[7]=0b00000000; break; // 9 case 57 : tab_car[0]=0b00111000; tab_car[1]=0b01000100; tab_car[2]=0b01000100; tab_car[3]=0b00111100; tab_car[4]=0b00000100; tab_car[5]=0b01000100; tab_car[6]=0b00111000; tab_car[7]=0b00000000; break; // : case 58 : tab_car[0]=0b00000000; tab_car[1]=0b00000000; tab_car[2]=0b00000000; tab_car[3]=0b00000000; tab_car[4]=0b00010000; tab_car[5]=0b00000000; tab_car[6]=0b00010000; tab_car[7]=0b00000000; break; // < case 60 : tab_car[0]=0b00000000; tab_car[1]=0b00001000; tab_car[2]=0b00010000; tab_car[3]=0b00100000; tab_car[4]=0b00010000; tab_car[5]=0b00001000; tab_car[6]=0b00000000; tab_car[7]=0b00000000; break; // = case 61 : tab_car[0]=0b00000000; tab_car[1]=0b00000000; tab_car[2]=0b01111100; tab_car[3]=0b00000000; tab_car[4]=0b01111100; tab_car[5]=0b00000000; tab_car[6]=0b00000000; tab_car[7]=0b00000000; break; // > case 62 : tab_car[0]=0b00000000; tab_car[1]=0b00100000; tab_car[2]=0b00010000; tab_car[3]=0b00001000; tab_car[4]=0b00010000; tab_car[5]=0b00100000; tab_car[6]=0b00000000; tab_car[7]=0b00000000; break; // ? case 63 : tab_car[0]=0b00111000; tab_car[1]=0b01000100; tab_car[2]=0b01000100; tab_car[3]=0b00001000; tab_car[4]=0b00010000; tab_car[5]=0b00000000; tab_car[6]=0b00010000; tab_car[7]=0b00000000; break; // @ case 64 : tab_car[0]=0b00111000; tab_car[1]=0b01000100; tab_car[2]=0b01011100; tab_car[3]=0b01010100; tab_car[4]=0b01011100; tab_car[5]=0b01000000; tab_car[6]=0b00111000; tab_car[7]=0b00000000; break; // A case 65 : tab_car[0]=0b00111000; tab_car[1]=0b01000100; tab_car[2]=0b01000100; tab_car[3]=0b01111100; tab_car[4]=0b01000100; tab_car[5]=0b01000100; tab_car[6]=0b01000100; tab_car[7]=0b00000000; break; // B case 66 : tab_car[0]=0b01111000; tab_car[1]=0b01000100; tab_car[2]=0b01000100; tab_car[3]=0b01111000; tab_car[4]=0b01000100; tab_car[5]=0b01000100; tab_car[6]=0b01111000; tab_car[7]=0b00000000; break; // C case 67 : tab_car[0]=0b00111000; tab_car[1]=0b01000100; tab_car[2]=0b01000000; tab_car[3]=0b01000000; tab_car[4]=0b01000000; tab_car[5]=0b01000100; tab_car[6]=0b00111000; tab_car[7]=0b00000000; break; // D case 68 : tab_car[0]=0b01111000; tab_car[1]=0b01000100; tab_car[2]=0b01000100; tab_car[3]=0b01000100; tab_car[4]=0b01000100; tab_car[5]=0b01000100; tab_car[6]=0b01111000; tab_car[7]=0b00000000; break; // E case 69 : tab_car[0]=0b01111100; tab_car[1]=0b01000000; tab_car[2]=0b01000000; tab_car[3]=0b01110000; tab_car[4]=0b01000000; tab_car[5]=0b01000000; tab_car[6]=0b01111100; tab_car[7]=0b00000000; break; // F case 70 : tab_car[0]=0b01111100; tab_car[1]=0b01000000; tab_car[2]=0b01000000; tab_car[3]=0b01110000; tab_car[4]=0b01000000; tab_car[5]=0b01000000; tab_car[6]=0b01000000; tab_car[7]=0b00000000; break; // G case 71 : tab_car[0]=0b00111000; tab_car[1]=0b01000100; tab_car[2]=0b01000000; tab_car[3]=0b01011100; tab_car[4]=0b01000100; tab_car[5]=0b01000100; tab_car[6]=0b00111000; tab_car[7]=0b00000000; break; // H case 72 : tab_car[0]=0b01000100; tab_car[1]=0b01000100; tab_car[2]=0b01000100; tab_car[3]=0b01111100; tab_car[4]=0b01000100; tab_car[5]=0b01000100; tab_car[6]=0b01000100; tab_car[7]=0b00000000; break; // I case 73 : tab_car[0]=0b01111100; tab_car[1]=0b00010000; tab_car[2]=0b00010000; tab_car[3]=0b00010000; tab_car[4]=0b00010000; tab_car[5]=0b00010000; tab_car[6]=0b01111100; tab_car[7]=0b00000000; break; // J case 74 : tab_car[0]=0b01111100; tab_car[1]=0b00010000; tab_car[2]=0b00010000; tab_car[3]=0b00010000; tab_car[4]=0b00010000; tab_car[5]=0b01010000; tab_car[6]=0b00100000; tab_car[7]=0b00000000; break; // K case 75 : tab_car[0]=0b01000100; tab_car[1]=0b01001000; tab_car[2]=0b01010000; tab_car[3]=0b01100000; tab_car[4]=0b01010000; tab_car[5]=0b01001000; tab_car[6]=0b01000100; tab_car[7]=0b00000000; break; // L case 76 : tab_car[0]=0b01000000; tab_car[1]=0b01000000; tab_car[2]=0b01000000; tab_car[3]=0b01000000; tab_car[4]=0b01000000; tab_car[5]=0b01000000; tab_car[6]=0b01111100; tab_car[7]=0b00000000; break; // M case 77 : tab_car[0]=0b01000100; tab_car[1]=0b01101100; tab_car[2]=0b01010100; tab_car[3]=0b01000100; tab_car[4]=0b01000100; tab_car[5]=0b01000100; tab_car[6]=0b01000100; tab_car[7]=0b00000000; break; // N case 78 : tab_car[0]=0b01000100; tab_car[1]=0b01000100; tab_car[2]=0b01100100; tab_car[3]=0b01010100; tab_car[4]=0b01001100; tab_car[5]=0b01000100; tab_car[6]=0b01000100; tab_car[7]=0b00000000; break; // O case 79 : tab_car[0]=0b00111000; tab_car[1]=0b01000100; tab_car[2]=0b01000100; tab_car[3]=0b01000100; tab_car[4]=0b01000100; tab_car[5]=0b01000100; tab_car[6]=0b00111000; tab_car[7]=0b00000000; break; // P case 80 : tab_car[0]=0b01111000; tab_car[1]=0b01000100; tab_car[2]=0b01000100; tab_car[3]=0b01111000; tab_car[4]=0b01000000; tab_car[5]=0b01000000; tab_car[6]=0b01000000; tab_car[7]=0b00000000; break; // Q case 81 : tab_car[0]=0b00010000; tab_car[1]=0b00101000; tab_car[2]=0b01000100; tab_car[3]=0b01000100; tab_car[4]=0b01010100; tab_car[5]=0b00101000; tab_car[6]=0b00010100; tab_car[7]=0b00000000; break; // R case 82 : tab_car[0]=0b01111000; tab_car[1]=0b01000100; tab_car[2]=0b01000100; tab_car[3]=0b01111000; tab_car[4]=0b01010000; tab_car[5]=0b01001000; tab_car[6]=0b01000100; tab_car[7]=0b00000000; break; // S case 83 : tab_car[0]=0b00111000; tab_car[1]=0b01000100; tab_car[2]=0b01000000; tab_car[3]=0b00111000; tab_car[4]=0b00000100; tab_car[5]=0b01000100; tab_car[6]=0b00111000; tab_car[7]=0b00000000; break; // T case 84 : tab_car[0]=0b01111100; tab_car[1]=0b00010000; tab_car[2]=0b00010000; tab_car[3]=0b00010000; tab_car[4]=0b00010000; tab_car[5]=0b00010000; tab_car[6]=0b00010000; tab_car[7]=0b00000000; break; // U case 85 : tab_car[0]=0b01000100; tab_car[1]=0b01000100; tab_car[2]=0b01000100; tab_car[3]=0b01000100; tab_car[4]=0b01000100; tab_car[5]=0b01000100; tab_car[6]=0b00111000; tab_car[7]=0b00000000; break; // V case 86 : tab_car[0]=0b01000100; tab_car[1]=0b01000100; tab_car[2]=0b00101000; tab_car[3]=0b00101000; tab_car[4]=0b00101000; tab_car[5]=0b00010000; tab_car[6]=0b00010000; tab_car[7]=0b00000000; break; // W case 87 : tab_car[0]=0b01000100; tab_car[1]=0b01000100; tab_car[2]=0b01000100; tab_car[3]=0b01000100; tab_car[4]=0b01010100; tab_car[5]=0b01101100; tab_car[6]=0b01000100; tab_car[7]=0b00000000; break; // X case 88 : tab_car[0]=0b01000100; tab_car[1]=0b01000100; tab_car[2]=0b00101000; tab_car[3]=0b00010000; tab_car[4]=0b00101000; tab_car[5]=0b01000100; tab_car[6]=0b01000100; tab_car[7]=0b00000000; break; // Y case 89 : tab_car[0]=0b01000100; tab_car[1]=0b01000100; tab_car[2]=0b00101000; tab_car[3]=0b00101000; tab_car[4]=0b00010000; tab_car[5]=0b00010000; tab_car[6]=0b00010000; tab_car[7]=0b00000000; break; // Z case 90 : tab_car[0]=0b01111100; tab_car[1]=0b00000100; tab_car[2]=0b00001000; tab_car[3]=0b00010000; tab_car[4]=0b00100000; tab_car[5]=0b01000000; tab_car[6]=0b01111100; tab_car[7]=0b00000000; break; // [ case 91 : tab_car[0]=0b00111000; tab_car[1]=0b00100000; tab_car[2]=0b00100000; tab_car[3]=0b00100000; tab_car[4]=0b00100000; tab_car[5]=0b00100000; tab_car[6]=0b00111000; tab_car[7]=0b00000000; break; // \ case 92 : tab_car[0]=0b00000000; tab_car[1]=0b01000000; tab_car[2]=0b00100000; tab_car[3]=0b00010000; tab_car[4]=0b00001000; tab_car[5]=0b00000100; tab_car[6]=0b00000000; tab_car[7]=0b00000000; break; // ] case 93 : tab_car[0]=0b00111000; tab_car[1]=0b00001000; tab_car[2]=0b00001000; tab_car[3]=0b00001000; tab_car[4]=0b00001000; tab_car[5]=0b00001000; tab_car[6]=0b00111000; tab_car[7]=0b00000000; break; // ^ case 94 : tab_car[0]=0b00010000; tab_car[1]=0b00101000; tab_car[2]=0b01000100; tab_car[3]=0b00000000; tab_car[4]=0b00000000; tab_car[5]=0b00000000; tab_car[6]=0b00000000; tab_car[7]=0b00000000; break; // _ case 95 : tab_car[0]=0b00000000; tab_car[1]=0b00000000; tab_car[2]=0b00000000; tab_car[3]=0b00000000; tab_car[4]=0b00000000; tab_car[5]=0b00000000; tab_car[6]=0b01111100; tab_car[7]=0b00000000; break; // { case 123 : tab_car[0]=0b00001000; tab_car[1]=0b00010000; tab_car[2]=0b00010000; tab_car[3]=0b00100000; tab_car[4]=0b00010000; tab_car[5]=0b00010000; tab_car[6]=0b00001000; tab_car[7]=0b00000000; break; // | case 124 : tab_car[0]=0b00010000; tab_car[1]=0b00010000; tab_car[2]=0b00010000; tab_car[3]=0b00010000; tab_car[4]=0b00010000; tab_car[5]=0b00010000; tab_car[6]=0b00010000; tab_car[7]=0b00000000; break; // } case 125 : tab_car[0]=0b00100000; tab_car[1]=0b00010000; tab_car[2]=0b00010000; tab_car[3]=0b00001000; tab_car[4]=0b00010000; tab_car[5]=0b00010000; tab_car[6]=0b00100000; tab_car[7]=0b00000000; break; // ~ (°) case 126 : tab_car[0]=0b00011100; tab_car[1]=0b00010100; tab_car[2]=0b00011100; tab_car[3]=0b00000000; tab_car[4]=0b00000000; tab_car[5]=0b00000000; tab_car[6]=0b00000000; tab_car[7]=0b00000000; break; } } void aff_car(unsigned char num_module) { unsigned char lig=0; while (lig<8) { module.setLed(num_module,7-lig,7,tab_car[lig]&128); module.setLed(num_module,7-lig,6,tab_car[lig]&64); module.setLed(num_module,7-lig,5,tab_car[lig]&32); module.setLed(num_module,7-lig,4,tab_car[lig]&16); module.setLed(num_module,7-lig,3,tab_car[lig]&8); module.setLed(num_module,7-lig,2,tab_car[lig]&4); module.setLed(num_module,7-lig,1,tab_car[lig]&2); module.setLed(num_module,7-lig,0,tab_car[lig++]&1); } } void setup() { unsigned char num_module=0; WiFi.mode(WIFI_STA); WiFi.config(ip,passerelle,masque,dns); WiFi.begin(nom_wifi,mdp_wifi); while (WiFi.status()!=WL_CONNECTED) delayMilliseconds(100); ArduinoOTA.setHostname(nom_ota); ArduinoOTA.setPassword(mdp_ota); ArduinoOTA.begin(); while (num_module<nbr_modules) { module.setIntensity(num_module,15); // 0 à 15 module.shutdown(num_module++,false); // activer le module } Wire.begin(); } void loop() { unsigned char num_module=0,index=0; ArduinoOTA.handle(); if (debut==0) { strcpy(texte," NOUS SOMMES LE "); lire_ds1307(); strcat(texte,date_ds1307); strcat(texte,". IL EST "); strcat(texte,heure_ds1307); strcat(texte,". BONNE JOURNEE !"); nbr_car=strlen(texte); } while (num_module<nbr_modules) { if (debut+index<nbr_car) init_tab_car(texte[debut+index]); else init_tab_car(texte[debut+index-nbr_car]); aff_car(num_module++); index++; } if ((debut==0) && (digitalRead(PIR)==LOW)) return; debut++; if (debut==nbr_car) debut=0; } |
Haut de page |
![]() |
![]() |
![]() |