Bonjour a tous
Je viens vers vous suite a un souci de logo qui s'affiche pas correctement sur un écran LCD 20X4.
En effet j'ai le logo (voir photo en pj)
que je veux qu'il s'affiche sur mon écran LCD 20X4
j'ai bien créer le code
ci-dessous
#include "Wire.h"
#include "LiquidCrystal_I2C.h"
LiquidCrystal_I2C lcd(0x27,16,2); // définit le type d'écran lcd 16 x 2
void setup() {
lcd.init(); // initialisation de l'afficheur
lcd.backlight();
}
void loop() {
lowerpart();
loops();
towerpart();
loopss();
}
void lowerpart(){
byte Coeur [] = {B10001,B11001,B10101,B10011, B10001,B10001,B00000,B00000}; // Lettre N
byte Cloche [] = {B10001,B11001,B10101,B10011, B10001,B10001,B00000,B00000}; //Lettre N
byte Check [] = {B10001,B11001,B10101,B10011, B10001,B10001,B00000,B00000}; //Lettre N
byte Haut_parleur [] = {B10001,B11001,B10101,B10011, B10001,B10001,B00000,B00000}; // Lettre N
byte locket [] = {B10001,B11001,B10101,B10011, B10001,B10001,B00000,B00000}; //Lettre N
byte bocket [] = {B10001,B11001,B10101,B10011, B10001,B10001,B00000,B00000}; //Lettre N
byte focket [] = {B10001,B11001,B10101,B10011, B10001,B10001,B00000,B00000}; //Lettre N
lcd. createChar ( 0, Coeur ) ; // On copie le caractère dans la mémoire de l'écran
lcd. createChar ( 1, Cloche ) ;
lcd. createChar ( 2, Check ) ;
lcd. createChar ( 3, Haut_parleur ) ;
lcd. createChar ( 4, locket ) ;
lcd. createChar ( 5, bocket ) ;
lcd. createChar ( 6, focket ) ;
}
void loops() {
// On met le curseur à la colonne 0 ligne 1
// Imprimer tous les caractères personnalisés:
lcd. setCursor ( 0, 0 ) ; // On place le curseur ou veut le caractère
lcd.write(byte(0)); // On affiche le caractère.
lcd. setCursor ( 2, 0 ) ;
lcd.write(byte(1));
lcd. setCursor ( 4, 0 ) ;
lcd.write(byte(2));
lcd. setCursor ( 6, 0 ) ;
lcd.write(byte(3));
lcd. setCursor ( 8, 0 ) ;
lcd.write(byte(4));
lcd. setCursor ( 10, 0 ) ;
lcd.write(byte(5));
lcd. setCursor ( 12, 0 ) ;
lcd.write(byte(6));
}
int x = 0;
// the 8 arrays that form each segment of the custom numbers
byte LT[8] = {B00111,B01111,B11111, B11111,B11111,B11111,B11111,B11111};
byte UB[8] ={B11111,B11111,B11111,B00000,B00000,B00000,B00000,B00000};
byte RT[8] ={B11100,B11110,B11111,B11111,B11111,B11111,B11111,B11111};
byte LL[8] ={B11111,B11111,B11111,B11111,B11111,B11111,B01111,B00111};
byte LB[8] ={B00000,B00000,B00000,B00000,B00000,B11111,B11111,B11111};
byte LR[8] ={B11111,B11111,B11111,B11111,B11111,B11111,B11110,B11100};
byte UMB[8] ={B11111,B11111,B11111,B00000,B00000,B00000,B11111,B11111};
byte LMB[8] ={B11111,B00000,B00000,B00000, B00000,B11111,B11111, B11111};
void towerpart()
{
// assignes each segment a write number
lcd.createChar(0,LT);
lcd.createChar(1,UB);
lcd.createChar(2,RT);
lcd.createChar(3,LL);
lcd.createChar(4,LB);
lcd.createChar(5,LR);
lcd.createChar(6,UMB);
lcd.createChar(7,LMB);
}
void customN(){
lcd.setCursor(x,0);
lcd.write(0);
lcd.write(3);
lcd.print(" ");
lcd.write(2);
lcd.setCursor(x,1);
lcd.write(3);
lcd.print(" ");
lcd.write(2);
lcd.write(5);
}
void loopss()
{
customN();
x = x + 5;
//custom0O();
delay(4000);
//lcd.clear();
x = 0;
}
mais malheureusement il ne s'affiche pas correctement comme sur le logo
Pouvez vous s'il vous plait m'aider a trouver solution a mon souci
Merci d'avance a tous