Aller au contenu

GO Print

[TUTO] Modifier le texte et le logo sur l’écran LCD.


Freedam

Messages recommandés

Petite astuce pour modifier l'écran de démarrage, c'est pas nouveau on peut déjà trouver quelques tutos anglais ou français mais je n'en ai pas vu sur ce forum et je vais rajouter quelques modifs/explications supplémentaire.

Ça ne sert pas a grand chose, c'est juste sympa et ça permet de se familiariser un peu plus avec le firmware... 

Sur mon écran j'ai laissé le nom des développeurs. 

 

IMG_1574.thumb.JPG.591c126a4a6a7a54f814b

 

 Dans marlin:

Pour modifier le texte, fichier dogm_lcd_implementation.h :

Exemple de mon code:

// Welcome message
                        u8g.setFont(u8g_font_5x8);
            u8g.drawStr(62,6,"MARLIN");
            u8g.drawStr(111,12,"3");
                        u8g.setFont(u8g_font_6x10_marlin);
            u8g.drawStr(74,17,"Techno");
            u8g.drawStr(74,25,"Edition");
                        u8g.setFont(u8g_font_5x8);
            u8g.drawStr(62,35,"V1.0.0 RC2-mm");
            u8g.drawStr(62,42,"by ErikZalm");
            u8g.drawStr(62,49,"by STB, MM");
            u8g.drawStr(62,56,"Modified by");
            u8g.drawStr(62,63,"Freedam");
       } while( u8g.nextPage() );
           delay(2000);

On va décortiquer un peu tout ca.

u8g.setFont : commande pour choisir la police.

 u8g.drawStr : commande pour le texte et son emplacement.

Taille du texte, ces deux dimensions me paraissent suffisante plus grand ça serait trop et plus petit ne serait pas assez...

u8g.setFont(u8g_font_6x10_marlin)

u8g.setFont(u8g_font_5x8)

6x10 et 5x8 correspondent a la taille...

 

Emplacement du texte. La valeur numérique (en pixel) correspond a l'emplacement du texte, l'autre correspond au texte lui même...

u8g.drawStr(62,7,"MARLIN");

62,7

62 correspond au nombre de pixel de la gauche vers la droite, 7 correspond au nombre de pixel du haut vers le bas (c'est pas la peine de s'amuser a compter les pixels, le mieux c'est de mettre une valeur, faire un test et ajuster en fonction). 

"Marlin" (ne pas oublier les guillemets) correspond donc au texte qui se trouvera a la 62éme pixel en partant de la gauche, et le bas de la lettre commencera a la 7éme pixel (en partant du haut).

Avec ça on peut écrire le texte qu'on veut a l'endroit où on veut. Il est possible d'écrire seulement du texte (ou d'avoir seulement un logo) sur toute la surface de l’écran en faisant d'autres modifs...

 

 

delay(2000); Cette commande permet de déterminer la durée d'affichage du message, ici la valeur 2000 (en milliseconde ) correspond a 2 secondes. Inutile de mettre trop long sinon ça devient vite gonflant xD

 

 

Pour le logo:

Il faut créer un logo en noir et blanc (il doit aussi y avoir quelques images sympa sur google). Plus l'image sera simple, et meilleur sera le rendu...

Ensuite il faut l'importer dans Paint pour la redimensionner a 64x64 pixel et l'enregistrer au format .bmp 

tuto2.thumb.png.e8496430abe9bd2d285a3793

 

Choisir l'onglet pixel et décocher "conserver les proportions"  l'image sera donc plus ou moins déformée (si elle est trop déformée libre a vous de modifier l'image d'origine pour atténuer la déformation).

 

56c900105d5bd_tuto1.thumb.png.e13392930b

 

Enregistrer au format .bmp (si vous devez choisir entre différent .bmp choisissez monochrome).

 

Une fois que vous avez votre image au format .bmp il faut l'importer dans un logiciel (LCD Assistant) qui convertira l'image en hexadécimale.

http://en.radzio.dxp.pl/bitmap_converter/

 Vérifier les options, verticale, 64x64, et 8 pixels/byte puis enregistrer l'image (File->Save output)

tuto4.thumb.png.e5174e7c163958ab1f413ec3

 

On obtient un fichier que vous pourrez ouvrir avec notpad++ par exemple 

tuto5.thumb.png.5e591163b800580ed5d820ce

 

Modifiez le code en allant a la ligne toute les 8 valeurs ensuite copiez uniquement le code en hexadécimale puis collez le a la place du code existant (en rouge) dans marlin fichier DOGMbitmaps.h:

 #define START_BMPWIDTH     64    //Width in pixels
#define START_BMPHEIGHT     64    //Height in pixels
#define START_BMPBYTEWIDTH     8    //Width in bytes
const unsigned char start_bmp[574] PROGMEM = { //AVR-GCC, WinAVR
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x07, 0x80, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x0F, 0xC0, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x0F, 0xE0, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x1F, 0xE0, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x3F, 0xF0, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x7F, 0xF8, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x00, 0xFF, 0xFC, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0xFF, 0xEE, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x01, 0xEF, 0xEF, 0x00, 0x00, 0x00,
0x00, 0x00, 0x03, 0xCF, 0xE7, 0x80, 0x00, 0x00, 
0x00, 0x00, 0x07, 0xC7, 0xE3, 0x80, 0x00, 0x00,
0x00, 0x00, 0x0F, 0xE7, 0xF1, 0xC0, 0x00, 0x00, 
0x00, 0x00, 0x0F, 0xE7, 0xF0, 0xE0, 0x00, 0x00,
0x00, 0x00, 0x1F, 0xE7, 0xF0, 0x70, 0x00, 0x00, 
0x00, 0x00, 0x1F, 0xE7, 0xF0, 0x78, 0x00, 0x00,
0x00, 0x00, 0x01, 0xE7, 0xF0, 0x3C, 0x00, 0x00, 
0x00, 0x00, 0x40, 0x07, 0xF0, 0x1E, 0x00, 0x00,
0x00, 0x00, 0xF0, 0x07, 0xF8, 0x0E, 0x00, 0x00, 
0x00, 0x01, 0xE0, 0x07, 0xF0, 0x07, 0x00, 0x00,
0x00, 0x03, 0xE0, 0x03, 0xE0, 0x03, 0x80, 0x00, 
0x00, 0x07, 0xC0, 0x03, 0x80, 0x01, 0xC0, 0x00,
0x00, 0x07, 0x80, 0x03, 0x88, 0x00, 0xE0, 0x00, 
0x00, 0x0F, 0x00, 0x03, 0x38, 0x00, 0xF0, 0x00,
0x00, 0x1E, 0x00, 0x02, 0x38, 0x00, 0x78, 0x00, 
0x00, 0x3E, 0x00, 0x00, 0x7C, 0x00, 0x38, 0x00,
0x00, 0x7C, 0x00, 0x00, 0xFC, 0x00, 0x1C, 0x00, 
0x00, 0x79, 0x00, 0x01, 0xFC, 0x00, 0x0E, 0x00,
0x00, 0xF3, 0x00, 0x03, 0xFC, 0x00, 0x1F, 0x00, 
0x01, 0xE7, 0x00, 0x03, 0xFC, 0x00, 0x3F, 0x80,
0x03, 0xE7, 0x00, 0x07, 0xFC, 0x00, 0x7F, 0x00, 
0x07, 0xCF, 0x00, 0x0F, 0xFC, 0x00, 0xFE, 0x00,
0x07, 0xFF, 0x00, 0x1F, 0xFE, 0x01, 0xFC, 0x00, 
0x0F, 0xFF, 0x00, 0x1F, 0xFE, 0x03, 0xF8, 0x00,
0x1F, 0xFF, 0x00, 0x3F, 0xFE, 0x07, 0xF8, 0x00, 
0x0F, 0xFF, 0x30, 0x1F, 0xFE, 0x0F, 0xF0, 0x00,
0x03, 0xFF, 0x3C, 0x01, 0xFE, 0x1F, 0xE0, 0x00, 
0x00, 0xFF, 0x3F, 0x81, 0xFE, 0x3F, 0xC0, 0x00,
0x00, 0x1F, 0x3F, 0xE0, 0xFF, 0x7F, 0x80, 0x00, 
0x00, 0x07, 0x3F, 0xFC, 0xFF, 0xFF, 0x00, 0x00,
0x00, 0x01, 0x3F, 0xFF, 0xFF, 0xFE, 0x00, 0x00, 
0x00, 0x00, 0x3F, 0xFF, 0xFF, 0xFC, 0x00, 0x00,
0x00, 0x00, 0x0F, 0xFF, 0xFF, 0xF8, 0x00, 0x00, 
0x00, 0x00, 0x03, 0xFF, 0xFF, 0xF0, 0x00, 0x00,
0x00, 0x00, 0x00, 0xFF, 0xFF, 0xE0, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x3F, 0xFF, 0xE0, 0x00, 0x00,
0x00, 0x00, 0x00, 0x07, 0xFF, 0xC0, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x01, 0xFF, 0x80, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x7F, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00

};

 

Il est aussi possible de modifier le nom de l'imprimante sur l’écran de contrôle 

 

IMG_1542.thumb.JPG.6c8083130bc4cccdd72f7

 

Dans marlin fichier Language.h J'ai remplacé la valeur "Mendel" par "Techno Cube"(en rouge) ( Changer la valeur de la ligne correspondante a votre machine "Ultimaker", "3Drag" etc...) 

#define PROTOCOL_VERSION "1.0"

#if MB(ULTIMAKER)|| MB(ULTIMAKER_OLD)|| MB(ULTIMAIN_2)
  #define MACHINE_NAME "Ultimaker"
  #define FIRMWARE_URL "http://firmware.ultimaker.com"
#elif MB(RUMBA)
  #define MACHINE_NAME "Rumba"
  #define FIRMWARE_URL "https://github.com/ErikZalm/Marlin/"
#elif MB(3DRAG)
  #define MACHINE_NAME "3Drag"
  #define FIRMWARE_URL "http://3dprint.elettronicain.it/"
#elif MB(5DPRINT)
  #define MACHINE_NAME "Makibox"
  #define FIRMWARE_URL "https://github.com/ErikZalm/Marlin/"
#elif MB(SAV_MKI)
  #define MACHINE_NAME "SAV MkI"
  #define FIRMWARE_URL "https://github.com/fmalpartida/Marlin/tree/SAV-MkI-config"
#else
  #ifdef CUSTOM_MENDEL_NAME
    #define MACHINE_NAME CUSTOM_MENDEL_NAME
  #else
    #define MACHINE_NAME "Techno Cube"

 

 

Vous pourrez trouver d'autre tuto sur le même sujet en francais sur ces forums:

http://forums.reprap.org/read.php?110,430763

http://talk.smartfri.odns.fr/index.php?topic=352.0

 

 

Modifié (le) par Freedam
  • J'aime 5
Lien vers le commentaire
Partager sur d’autres sites

  • 3 weeks later...

bonjour j'ai construis mon imprimante 3d qui fait en x150 y160  z140 mm j'ai acheté une carte adruino une ramps 1.4  avec un ecran reprapDiscount full Graphic smart controller

mon problemme est que j'ai téléchargé un marlin mes axes fonctionnent mais l'extrudeur ne veut pas se mettre a chauffer. Meme le moteur de l'extrudeur ne fonctione pas. Quand je met une carte sd dans le lecteur qui est sur l'écran il ne marche pas non plus si vous pouvez me donner la solution je vous remerci.

cordialement newben

 

Modifié (le) par Freedam
Lien vers le commentaire
Partager sur d’autres sites

Il y a une sécurité pour empêcher le moteur de tourner tant qu'il n'a pas atteint un certain seuil de température. Pour la buse qui ne chauffe pas ça peut être un problème de branchement (soit de la cartouche de chauffe soit de la sonde de température). 

Pour l'écran il y a des lignes à activer dans marlin, regarde ici:

 

Lien vers le commentaire
Partager sur d’autres sites

  • 2 months later...
  • 1 year later...

bonjour

petite music de fin d'impression en rtttl

mon fichier star /end 

star code

G21 ;metric values
G90 ;absolute positioning
G28 X0 Y0 ;move X/Y to min endstops 
//G28 Z0 ;move Z to min endstops
M117 Palpage ....
G29 ;palpage
G28 ;centrer
M117 Printing...

$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$

end code

M104 S0 ;extruder heater off
G91 ;relative positioning
G1 E-1 F300  ;retract the filament a bit before lifting the nozzle, to release some of the pressure
G1 Z+0.5 E-5 X-20 Y-20 F9000 ;move Z up a bit and retract filament even more
G28 X0 Y0 ;move X/Y to min endstops, so the head is out of the way
M84 ;steppers off
G90 ;absolute positioning

$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$

;music de fin en rtttl http://ddrboxman.github.io/RepRapRingtone/

site music  http://arcadetones.emuunlim.com/snes.htm

$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
music de fin a ajouter après le G90

;rick_dangerous
M300 S739 P93
M300 S739 P375
M300 S1479 P375
M300 S1108 P562
M300 S466 P93
M300 S493 P375
M300 S1108 P375
M300 S1244 P562
M300 S1108 P93
M300 S1108 P375
M300 S1661 P375
M300 S1396 P562
M300 S1108 P93
M300 S1244 P375
M300 S1396 P375
M300 S1479 P562
M300 S739 P93
M300 S739 P375
M300 S1479 P375
M300 S1108 P562
M300 S466 P93
M300 S493 P375
M300 S1108 P375
M300 S1244 P750
M300 S880 P375
M300 S0 P375
M300 S987 P375
M300 S0 P375
M300 S466 P375
M300 S1108 P375
M300 S739 P750


 

Lien vers le commentaire
Partager sur d’autres sites

  • 3 months later...

Bonjour messieurs,

Je relance ce sujet car je me pose une question dans la continuité du sujet, j'ai bien modifié mon texte et mon logo lors de l'allumage, j'ai aussi modifier le menu par exemple j'ai remplacé preparer par accueil etc.. Et je voudrais savoir si il est possible de modifier l'écran d'accueil sur lequel on voit les logo de l'extrudeur, des ventilos, du plateau, la position etc.. J'aimerais enlever une bonne partie de ces informations car je n'en ai pas besoin sachant que mon système n'est pas une imprimante ^^ Merci d'avance pour vos réponses.

Melvin

Lien vers le commentaire
Partager sur d’autres sites

  • 3 months later...

Bonjour à tous !

Je déterre ce tuto, en espérant trouver une personne qui saura répondre à ma question et surtout me trouver une solution à ma problématique...

J’ai un écran Full Graphic Smart Controller ReprapDiscount sous Marlin 1.1.8 qui fonctionne très bien sauf que je n’arrive pas à mettre à l’écran les positions X / Y / Z  Sous-ligné en blanc (comme sur la photo) ils sont juste indiqués sans surlignage. De plus, lorsque j’allume mon imprimante, les X / Y / Z clignotent par intermittence avec un point ?

J’ai beau chercher , je ne trouve rien ???

Merci de votre aide.

Capture d’écran 2018-08-04 à 12.00.50.png

Lien vers le commentaire
Partager sur d’autres sites

  • 4 years later...

Il n'est jamais trop tard pour partager 😉 mais 4 ans plus tard  ( 4 years later… ) ça fait quand même long, non 🤔 ?

Lien vers le commentaire
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
×
×
  • Créer...