Arduino Forum

International => Français => Réalisations et Projets Finis => Topic started by: mr-pantalon on Jul 18, 2012, 03:44 pm

Title: BitmapU8GlibCreator
Post by: mr-pantalon on Jul 18, 2012, 03:44 pm
Salut à tous,

J'ai récemment eu l'idée d'apprendre à utiliser mon Arduino Uno avec un écran Graphique (GLCD), du coup je me suis orienté vers l'U8Glib mais arrivé au stade de la création de bitmap au format hexadécimal, je me suis rendu compte que l'opération était longue et fastidieuse si on s'efforce de faire le travail avec la calculette Windows x).
Du coup je me suis dit "Mais pourquoi pas faire un Soft pour ça !?",
et voila comment je me suis lancé dans un programme écrit en c++11 avec Qt ce qui donne :

BitmapU8GlibCreator


voila quelque screen :

screen1 :
http://uploads.siteduzero.com/files/391001_392000/391564.png (http://uploads.siteduzero.com/files/391001_392000/391564.png)

screen2:
http://uploads.siteduzero.com/files/391001_392000/391563.png (http://uploads.siteduzero.com/files/391001_392000/391563.png)

screen3 :
http://uploads.siteduzero.com/files/391001_392000/391565.png (http://uploads.siteduzero.com/files/391001_392000/391565.png)

screen4 :
http://uploads.siteduzero.com/files/391001_392000/391568.jpg (http://uploads.siteduzero.com/files/391001_392000/391568.jpg)

Ajout récent : X pour changer de couleur rapidement.

La nouvelle version est sortie :

Cette version est une réécriture complète de l'ancienne version, elle a été rebaptiser graphene pour l'occasion.Cette version n'a pas pour but d'ajouter de nouvelle fonction (sauf le zoom), elle a pour but de me facilité l'ajout prochaine de nouvelle fonction (le dessins avancer (faire des cercle,des carre écrire du texte ...).
Lien:

(http://uploads.siteduzero.com/files/400001_401000/400726.png)

Windows 32 bit Installer : http://www.mediafire.com/?1is5rvr0x6ccsga
Windows 32 bit Portable : http://www.mediafire.com/?qef8soldfck9htf
Windows 64 bit Installer : http://www.mediafire.com/?cvkhxsdhy0ipc33
Windows 64 bit Portable : http://www.mediafire.com/?7pjfrk7vu73272x

Linux 64 bit : http://www.mediafire.com/?01bdpsylb9f1wv1
Linux 32 bit : arrive bientot !

sous linux l'installation de Qt et de freetype est necessaire

2 bug sont connus :
windows:
   - La conversion de font avec la version installer peut échouer si vous n'êtes pas administrateur.

linux:
   - (ce n'est oas vraiment un bug) sous ubuntu avec le thème par défaut le menu aura une couleur proche du texte ce qui peut gêner la visibilité pour une solution : <lien url="http://www.siteduzero.com/forum-83-801171-7686248-qmenu-personalisee.html">http://www.siteduzero.com/forum-83-801171-7686248-qmenu-personalisee.html</lien>

Voila merci de rapporter bug et suggestion.

Post anglais : http://arduino.cc/forum/index.php/topic,114815.msg864055.html#msg864055
Title: Re: BitmapU8GlibCreator
Post by: piflechien54 on Jul 18, 2012, 06:03 pm
:smiley-eek: bien joué !!  XD
Title: Re: BitmapU8GlibCreator
Post by: mr-pantalon on Jul 18, 2012, 06:11 pm
Merci :)
Title: Re: BitmapU8GlibCreator
Post by: jihelbi on Jul 18, 2012, 10:04 pm
La suite... Un convertisseur de police TrueType ???

JLB
Title: Re: BitmapU8GlibCreator
Post by: mr-pantalon on Jul 18, 2012, 10:10 pm
C'est prévue !
Title: Re: BitmapU8GlibCreator
Post by: mr-pantalon on Jul 19, 2012, 05:44 pm
LA version 1.5 est sortie avec la conversion de police true type !!
Title: Re: BitmapU8GlibCreator
Post by: Heloderma-kris on Aug 01, 2012, 03:24 pm
Merci c'est super pour ce qui comme moi veule faire des interface tactile !!!
Title: Re: BitmapU8GlibCreator
Post by: mr-pantalon on Aug 08, 2012, 01:13 am
Merci ! si tu as des suggestions ou des bugs a signalé n'ésite pas !
Title: Re: BitmapU8GlibCreator
Post by: skywodd on Aug 11, 2012, 05:27 pm
Salut,

Génial comme programme, trés pratique, merci ;)

Du coup j'ai fait un petit article dessus pour présenter ton travail :
http://skyduino.wordpress.com/2012/08/11/arduino-u8glibcreator-le-dessin-sur-glcd-sans-prise-de-tete/


Merci ! si tu as des suggestions ou des bugs a signalé n'ésite pas !

Quelques remarques / améliorations possible :
- Boutons N&B en bas qui dépasse de quelques pixels :P
- Tu utilise un format de fichier maison (.mrb ?) non documenté -> pas top, reste sur du vrai bitmap ce serais beaucoup mieux ;)
- Ouvrir une bitmap et importer une bitmap = même chose ...
- De même exporter une bitmap et sauvegarder une bitmap = même chose
- "Voir le code hexa" -> click en droit en anglais, ça fait c*n quand même ;)
- Pas de bouton "Tout copier dans le presse papier" dans la fenêtre "voir le code hexa" -> dommage
- Tu devrais limiter le nombre de valeurs hexa par ligne à (largeur_image / 8) sinon avr-gcc sortira une erreur de compilation sur de grande image
- Fonction pour générer un .h -> ce serait bien qu'elle génère au choix : soit le .h pour drawBitmap (en RAM), soit le .h pour drawBitmapP (en PROGMEM)
- De même que générer les prototypes drawBitmap ou drawBitmapP qui vont bien (avec les largeur/hauteur pré-calculé)
- Exporter en XBM, c'est vraiment utile ?
- Afficher la taille de la zone de dessin (= de l'image) en bas à coté des boutons serait pas mal
- Pouvoir choisir la palette de couleur, U8Glib géré aussi des écrans couleurs, pas seulement N&B ;)
- Choix de la largeur / hauteur d'une nouvelle image dans une même fenêtre, et correction auto du multiple de 8 par le multiple supérieur
- Affichage de la "grille" (ligne séparant les différents pixels), sinon c'est relou de dessiner point par point sur un petit écran sans zoomer
- Outils de dessin avancé (ligne, rectangle, cercle, elipse, texte, ...) et de sélection
- ...
Title: Re: BitmapU8GlibCreator
Post by: mr-pantalon on Aug 27, 2012, 10:20 pm
Salut, merci pour l'article tes remarque vont être pris en compte dans une futur v2 (plantage du pc sans récupération des donnée = réécriture de 0,et sa va mettre un peu de temps rentrée iminante oblige  :~ et le fait que j'ai un projet d'ide qui utilisera cmake et qui s'affranchira des sketch ).
Title: Re: BitmapU8GlibCreator
Post by: Super_Cinci on Aug 28, 2012, 08:16 am
Salut!

Excellent travail! C'est presque exactement ça qu'il me faut pour mes GLCD, en fait, pour gagner du temps, j'utilise la CGRAM pour y coller des morceaux d'image de 8x8 px, ça va beaucoup plus vite ensuite pour l'affichage (un code caractère perso me colle instantanément 64 pixels d'image... (très pratique pour des icônes par exemple). Selon comment tu peux gérer ton LCD, il y a peut-être quelque chose à prendre : moi, c'est un TC6963C qui fait tourner la dalle LCD (je me demande si tu n'as pas le même...). J'utilise la page texte pour le fond et la page graphique pour ce qui bouge. le TC6963C affiche les deux pages en les superposant :

(http://pop.studio.free.fr/imgtmp/120826_1.jpg)
seuls les aiguilles et les textes en gros caractères sont du graphique, les icônes sont des caractères persos en mode texte (4 caractères par icône 16x16). Du coup, si une aiguille passe sur du texte, ça ne l'efface pas, toujours ça de moins à gérer. Avec le mode "EXOR", les pages graphique et le texte s'inversent sur les pixels communs.

Si ça te donne des idées... tu découpe tes bitmaps en carrés de 8x8 pour en faire des caractères persos, une fois implantés dans la CGRAM, l'affichage sera plus fluide... Par contre, inconvénient : les caractères de la page texte sont sur une grille de 8x8, donc on ne peut pas les mettre où on veut...
Title: Re: BitmapU8GlibCreator
Post by: mr-pantalon on Aug 28, 2012, 11:44 am
Salut merci de ta réponse je vais y réfléchir a cette méthode.
Title: Re: BitmapU8GlibCreator
Post by: mr-pantalon on Sep 03, 2012, 04:33 pm
Je passe juste dire que la prochaine version sera baptiser "Graphene", elle aura exactement les même fonction que U8GlibCreator (je vais quand même peut être rajouter le undo et le redo) étant donner que c'est une réécriture complète qui me permettra plus tard de rajouter d'avantage de fonction comme dessiner des rectangle des cercle du texte directement dans le programme.Cette version sera disponible sur Linux 32 bit,64 bit,Windows 32 bit,64 bit (avec les versions de Qt recompiler pour l'occasion) directement a la sortie.

un ptit screen de l'avancement :

(http://uploads.siteduzero.com/files/400001_401000/400473.png)
Title: Re: BitmapU8GlibCreator
Post by: Super_Cinci on Sep 04, 2012, 08:05 am
Très prometteur, tout ça!

Je suppose que tu as fait une fonction spéciale pour réencoder l'image? c'est surtout ce bout de code qui m'intéresse, car je si sais générer un fichier bitmap avec les fonctions de bases de visualstudio, il faut encore le redimensionner et le convertir en hexa NB simple...

De mon côté, j'ai rempli l'EEPROM de mon pauvre atmega168 de 55 patterns de caractères persos (soit 440 octets sur les 512 dispos...), ainsi que 34 caractères simples (des lignes) qui sont générés à la volée par du code. Le transfert des 81 caractères (648 octets en tout, soit près de 2800 commandes) dans la CG-RAM du LCD est presque invisible au setup (il faut encore que je mesure le temps que ça prend).

Je suis de près ton avancée! bon courage!
Title: Re: BitmapU8GlibCreator
Post by: mr-pantalon on Sep 04, 2012, 09:27 pm
Quote
Très prometteur, tout ça!

Je suppose que tu as fait une fonction spéciale pour réencoder l'image? c'est surtout ce bout de code qui m'intéresse, car je si sais générer un fichier bitmap avec les fonctions de bases de visualstudio, il faut encore le redimensionner et le convertir en hexa NB simple...

De mon côté, j'ai rempli l'EEPROM de mon pauvre atmega168 de 55 patterns de caractères persos (soit 440 octets sur les 512 dispos...), ainsi que 34 caractères simples (des lignes) qui sont générés à la volée par du code. Le transfert des 81 caractères (648 octets en tout, soit près de 2800 commandes) dans la CG-RAM du LCD est presque invisible au setup (il faut encore que je mesure le temps que ça prend).

Je suis de près ton avancée! bon courage!


Merci, et oui j'ai fais une chtite fonction de conversion mais c'est tres simple suffit de chopper 8 pixel de le convertir en un nombre binaire et de le convertir en hexa.

sinon Graphene 1.0 est sortie !
Title: Re: BitmapU8GlibCreator
Post by: Dj_Garfield on Dec 15, 2013, 04:55 pm
Hello les fondu du code :)

D'abord , bravo pour le dev , je vais tester cela dans 5 minutes mais la j'ai bloqué sur la photo de Super_sinci, car je souhaite faire a peut pres la meme chose , et comme j'entend parler ( ou voir plutot :) ) de superposition entre texte et graphique , te serait il possible de me donner un petit cour la dessus ??
En effet je tourne un peut en rond depuis plus d'une semaine sur le "Comment proceder pour mon projet" , ce n'est pas tres compliqué , c'est pour realiser un tableau de bord pour mon 125TDR , car il va etre totalement transformé en "Street-Bike" je vous passe les details la dessus car ici c'est pour l'electronique et pas la mecanique :)

Mon But etant de reunir tout un tas d'info sur la moto , soit sur une page sur un LCD 128x64 ( http://fr.hobbytronics.co.uk/lcd/st7565-128x64-graphics-lcd-rgb (http://fr.hobbytronics.co.uk/lcd/st7565-128x64-graphics-lcd-rgb) ), soit acceder a plusieurs pages ( quand j'aurais appris a sortir du code qui tient la route :) ).
Pour le moment je me forme a l'utilisation d'un LCD que j'ai demonté d'un Nokia 3410 ,et qui tourne plutot bien : ( SANY0125.JPG & SANY0126.JPG ).
L'ideal serait d'arriver a un resultat comme sur l'image ideal-dash.png , les seuls elements dynamique seront la temperature Huile moteur , Compteur Vitesse , heure , et compte tours moteur . ( l'image est au format 102x72 pour le Nokia mais j'adapterais pour s'afficher sur le 128x64 )

Voila pour l'idee , je ne demande pas a ce que l'on me fasse tout cela "tout cru" , je demande juste comment donc afficher le fond du compteur et par dessus comment faire pour dessiner dynamiquement ( d'apres les valeurs vitesse, rmp et temp ), les données .
Comme ce sont des petites lignes qui vont s'afficher dans les jauges , je ne sais absolument pas comment m'y prendre ... PAreil pour les Chiffres du compteur vitesse ( je modifierais une police ou en creerais une nouvelle specialement pour ca )

Quelqun aurait il un petit exemple de jauge dynamique qui fait animer un graphique , que j'apprene la methode ? genre vu-metre ou autre ?

En vous remerciant pour votre travail , et votre future reponse .
cdt Laurent .
Title: Re: BitmapU8GlibCreator
Post by: yag48 on Dec 19, 2013, 08:41 pm
Salut, je viens de télécharger Graphen est il est super, bon boulot  :)
Mais sur la version installateur Win32 il y a un bug quand on clique sur voir en hexadécimal (d'ailleurs tu as fais une faute, tu as écrit "Void" au lieu de "Voir"  :P), le programme plante. Il n'y a pas ce bug sur la version zip.
Title: Re: BitmapU8GlibCreator
Post by: mr-pantalon on Feb 04, 2014, 08:35 pm
Salut,
Apres une longue année d'absence (terminal oblige  :P) j'ai commencer la réecriture du logiciel (et du peut de fonction actuelle) pour y ajouter :

Quote
(d'ailleurs tu as fais une faute, tu as écrit "Void" au lieu de "Voir"  smiley-razz)
Haha petite érreur d'inatention :P