SH1106 et SSD1327

Anubis1985

Senior Member
Bonjour a tous,

J'ai crée un code pour afficher du teste sur 8 colonnes et de dessiner un pixel n' importe ou sur un afficheur SH1106. ce code a été testé sur un picaxe 20x2
et fonctionne très bien (Lib_SH1106_PICAXE_20X2).
Cependant J'aimerais refaire la même chose pour un ssd1327 ci cela est possible (Lib_SSD1327_PICAXE_20X2).
J'ai commencer a faire quel'que essais mais cela ne dessine que des ligne sur l' écran (hi2cout (00XA1, 0x00, 0xff, 0x00, 0x40, 0x00, 0x00 ,0xff).
Est ce que qu'une personne s'aurais m'expliquer comment utiliser la commande SET Display Start Line (00xA1) ?
Merci D'avance.
 

Attachments

Last edited:
Bonjour,
C'est intéressant, mais je n'ai pas l'expérience de ces afficheurs.
Un lien vers les datasheets aiderait....
Si un Piem passait par ici, ça aiderait aussi...
MM
 
Bonjour,

Voici la datasheets du SSD1327 et une photo de ce que fais le fichier (Lib_SSD1327_PICAXE_20X2). a noter que le SSD1327 ne démarre pas quand il est mis sur une tension de 5 voltes malgré qui l'ai donner pour fonctionner entre 3,3 volte et 5 volte. IL démarre a 3,6 volte pour mois.
J'ai mis mon code : (Lib_SH1106_PICAXE_20X2) a télécharger pour ceux a qui ça peut intéresser. Car cela permet de rendre utilisable un afficheur SH1106 avec un picaxe ce qui peu être intéressant .
 

Attachments

  • SSD1327.pdf
    SSD1327.pdf
    985.5 KB · Views: 4
  • Sans titre.png
    Sans titre.png
    547 KB · Views: 11
Last edited:
Merci.
Je ne vais pas pouvoir aider, je vois deux tensions, 3,3V pour le µC et 8 à 18V pour l'affichage, le picaxe peut fonctionner à 3,3V. L'affichage obtenu me fait penser à un pb d'initialisation. Je n'ai pas de matériel pour faire des essais...
Je vais quand même lire la doc....on sait jamais...
MM
 
Voici la datasheets du SH1106 pour voir la différence entre les 2 afficheurs ci ça peut aider.
Les carractéres, utilisé, je l'ai est trouver dans une librairie Arduino (oled.ccp) en pièce jointe. s'ouvre avec le logiciel Noteppad++
Je vais essayer de trouver une librairie Arduino pour le SSD1327 et regarder ce qu'il y a dedans et faire des essais de mon coté.
 

Attachments

Bonjour,
Si ça peut aider, voici un lien vers une discussion du forum anglais
A traduire éventuellement
MM
 
Bonjour,
Ci ça intéresse voici un code fais maison pour rendre utilisable un SH1107 et une photo de ce que fais le code testé sur un picaxe 20x2.
Existe t'il un moyen pour isoler les 8 bit d'une variable ci c'est possible sur un 20x2 ?
Par exemple j'ai dans mon code une variable qui s'appelle ( graphiqueLCD = b9 ) qui permet d'allumer de 1 a 8 pixels sur une page défini sur mon afficheur dans (DrawsPixel). L' idée serais de mètre l'état d'un bit dans b30 un autre dans b31 et ainsi de suite ci c'est possible.
 

Attachments

Last edited:
Bonjour,
Bonjour,
Ci ça intéresse voici un code fais maison pour rendre utilisable un SH1107 et une photo de ce que fais le code testé sur un picaxe 20x2.
Existe t'il un moyen pour isoler les 8 bit d'une variable ci c'est possible sur un 20x2 ?
Par exemple j'ai dans mon code une variable qui s'appelle ( graphiqueLCD = b9 ) qui permet d'allumer de 1 a 8 pixels sur une page défini sur mon afficheur dans (DrawsPixel). L' idée serais de mètre l'état d'un bit dans b30 un autre dans b31 et ainsi de suite ci c'est possible.
Oui,l'utilisation d'un SH1107 par un picaxe est intéressante, même si la manœuvre semble un peu fastidieuse et gourmande en mémoires (manque de librairie)
Pour isoler les bits d'une variable il suffirait de la diviser par 2 en gardant le reste de la division. un exemple:
#picaxe 20X2
b1=%11011001

for b2=0 to 7
bit1=b1//2
b1=b1/2
b3=30+b2
poke b3,bit1
next
Les bits de b1 sont copiés dans les variables b30 à b37
Avec un X2, il y a peut être plus simple...
MM
 
Last edited:
Bonjour,
Merci pour votre réponse. J'ai trouver une autre façon d'isoler les bits. Du coup avec les modifications apporter a mon code, il est possible de déssiner des forme géométrique en fonction de x et de y avec la fonction : DrawsPixel . voici donc le nouveau code pour un SH1107 fonctionnant sur un picaxe 20x2.
La photo montre ce que fais le nouveau code. sur la photo on vois un petit carré qui est dessiner en démonstration.
 

Attachments

Last edited:
Voici 2 fonctions pour dessiner des lignes ainsi qu'une photo de ce que font les 2 fonctions:

DrawsLignehorizontal:
if b50 < 50 then : inc b50 endif
x = 44 + b50 : y = 70 : gosub DrawsPixel 'Dessine des pixeles
if b50 < 50 then : gosub DrawsLignehorizontal else: b50 = 0 endif


DrawsLignevertical:
if b50 < 17 then : inc b50 endif
y = 53 + b50 : x = 44 : gosub DrawsPixel 'Dessine des pixeles
if b50 < 17 then : gosub DrawsLignevertical else: b50 = 0 endif

A mètre dans ( StarCode: )
 

Attachments

  • DrawsLigne.jpg
    DrawsLigne.jpg
    899.8 KB · Views: 6
Last edited:
Bonjour et merci pour cette MàJ.
Il y a peut être moyen de réduire le programme, par ex en ne programmant que les caractères utilisés.
Je testerai dès que possible.
MM
 
Bonjour,
Il y a peut être une autre solution. Je vais voir ci il est possible de déplacer le jeu de caractère dans une eeprom 24LC512.
Je ferais des essais ce week-end.
 
Bonjour,
Il y a peut être une autre solution. Je vais voir ci il est possible de déplacer le jeu de caractère dans une eeprom 24LC512.
Je ferais des essais ce week-end.
Bonjour,
Questions:
La fréquence de 64MHz est elle indispensable, que donne le programme à 32MHz ?
Les X2 ont 4096 mémoires, mais les mémoires "table" sont incluses dedans.
Les M2 n'ont que 2096 , mais il y a en plus 512 mémoires "table" en plus...à voir.
J'ai lu rapidement le code, Il y a d'un côté un "main: " et "goto main" et de l'autre, un "gosub main", le mélange des genres me semble "bizarre"
A plus
MM
 
Bonjour,
La fréquence est régler a 64 MHz pour éviter le voir le texte se former sur l'afficheur quand il y a beaucoup de caractère sur une seuil ou plusieurs ligne. vous pouvez donc tout a fait utiliser une fréquence de 32 MHz pour le texte par contre si vous utiliser les fonction graphique (DrawsPixel)
je vous recommande de paraméter 64 MHz car le temps de réponse du programme sera beaucoup plus long.
Pour le texte si vous souhaitée faire un essais vous avez droit entre 18 et 20 caractère par ligne suivant le caractère utiliser.

La boucle main est prioritaire au reste du programme. La variable contraste est une variable qui change en fonction du réglage du potentiomètre connecter a la broche C.2 ( ADC8 ). Ci je change cette valeur pendant que le programme s’exécute . le programme ne quitte pas cette boucle est retourne sur ( gosub main ) qui est prioritaire. Effectivement on peut donc supprimer la ligne ( goto main ) qui est donc inutile. J'ai modifier plusieurs fois ce programme avant d'arriver a ce résultat est j'ai oublier le la supprimer.
 
Last edited:
Je n'ai pas les moyens de faire des tests actuellement et je n'ai pas d'afficheur. Je verrai donc tout ça dès que possible.

MM
 
Bonjour,
Ci vous souhaité faire l'acquisition d'un afficheur , voici le lien ou je me suis procurer le mien ci ça vous intéresse : https://fr.aliexpress.com/item/1005...t_main.35.67dd5e5b0YCFtv&gatewayAdapt=glo2fra

Le potentiomètre connecté a la broche broche C.2 ( ADC8 ) a une valeur de 1k homes pas plus car ci nom il y a des parasite qui arrive a passer et du coup , le programme se retrouve bloquer dans la boucle ( La boucle main ) car pour lui la variable ( contraste ) est toujours différente.
Ne pas également oublier la résistance de 1 k homes entre le potentiomètre et la broche broche C.2 ( ADC8 ) car au démarrage du picaxe , il peut y avoir une tension pendant un bref instant et du coup vous pouvez griller broche C.2 ( ADC8 ) puisque 'elle est convertible en sortie ( Out ).
 
Bonjour,
Je viens de mettre le jeu de carractére dans une 24LC512. Il y a donc 2 fichiers. Le premier est l'installateur de carractére et le seconds est le programme pilote du SH1107 fonctionnent sur le 20x2.
Le problème que je ne comprend pas c'est que le (n o p) ne s'affiche pas sur l'écrant. Il y a a la place 3 petit rectangles comme si leur valeur étais toujours égale a 255 pour l'epprom. J'ai même tenter de les isoler et de les programmer séparément mais cela ne change rien. je ne comprend pas pourquoi.
 

Attachments

Bonjour,
J'ai reçu un afficheur SH1106. Reste à avoir du temps pour tester.
J'aimerais faire un test minimum, juste afficher un pixel et voir ce qui est essentiel.
MM
 
Bonjour,
Voici le code minimum pour le SH1106 pour afficher un pixel et écrire du texte ci vous voulez le testé.
Le programme est configurer a 32 MHz ce qui est suffisent pour le teste.
La photo montre ce que fais le code.
 

Attachments

Last edited:
Bonjour Anubis et merci,
J'essaie dès que possible, je pense qu'en réduisant le nombre de caractères au minimum utile, on doit pouvoir diminuer le volume du code et faire rentrer le tout dans un 20M2, à voir.
MM
 
Bonjour,
Ci vous voulez compresser davantage le code vous pouvez ajouter cette ligne dans ( select case NumASCII )

case 0 to 7 : Page = NumASCII + 176 : hi2cout (0,Page)

et supprimer ces lignes
case 0 : hi2cout (0,176)'Page0
case 1 : hi2cout (0,177)'Page1
case 2 : hi2cout (0,178)'Page2
case 3 : hi2cout (0,179)'Page3
case 4 : hi2cout (0,180)'Page4
case 5 : hi2cout (0,181)'Page5
case 6 : hi2cout (0,182)'Page6
case 7 : hi2cout (0,183)'Page7

Ca fonctionne pareille. Je viens de faire un essais.
 
Bonjour,
Ci vous voulez compresser davantage le code vous pouvez ajouter cette ligne dans ( select case NumASCII )

case 0 to 7 : Page = NumASCII + 176 : hi2cout (0,Page)

et supprimer ces lignes
case 0 : hi2cout (0,176)'Page0
case 1 : hi2cout (0,177)'Page1
case 2 : hi2cout (0,178)'Page2
case 3 : hi2cout (0,179)'Page3
case 4 : hi2cout (0,180)'Page4
case 5 : hi2cout (0,181)'Page5
case 6 : hi2cout (0,182)'Page6
case 7 : hi2cout (0,183)'Page7

Ca fonctionne pareille. Je viens de faire un essais.
Bonjour,
Merci pour cette modif qui économise 90 octets
Pas trop de temps en ce moment, mais je viens de voir que l'ensemble des caractères occupait 1273 octets.
Sur un M2, la mémoire "table" peut stocker 511 octets soit env 73 caractères.
En secouant le tout, on doit pouvoir faire pas mal de choses avec un 14M2
A confirmer...
MM
 
Bonjour MGU ,
Ci vous voulez allez plus loin au niveau programmation. Je viens de rajouter a mon programme une fonction pour effacer un pixel en nommant ces coordonnées ou encore dessiner un rectangle avec la nouvel commande ( DrawsRectangle ) en nommant les coordonnées : x0 , x1 et y0 , y1 ou encore effacer ce rectangle précédamment dessiner. Il est disponible en version SH1106 et SH1107. Prenez la version qui vous intéresse.
Les photos montre ce que fond les codes. Sur la photo SH1106_8-11-2025 en bas de l'afficheur , on vois des pixels allumer aléatoirement.
C'est normal car le programme est compatible pour un SH1106 et sur la photo c'est un SH1107. Le bas de l'afficheur n'est pas initialiser.
Les essais on été réaliser avec un picaxe 20X2.
 

Attachments

Bonjour;
Merci Anubis, je vais essayer d'analyser ces programmes dès que possible.
Lorsque je serai au point, je pense que tout ce travail pourra, avec ton accord, faire l'objet d'une page sur mon site.
Pour l'instant, je manque un peu de temps, si tu ne connais pas : https://electromag1.wifeo.com/

MM
 
Bonjour,
Je t'autorise a mètre ce travail sur ton site quand tu sera au point. Ci il y a des questions sur des partis du programme que tu ne comprend pas,
n'hésite pas a les poser .
 
Last edited:
Bonjour,
J'aimerais signaler un petit bug de mon programme pour les afficheur SH1106 et SH1107.
Quand on dépasse la valeur de x (x = 131 maxi SH1106) (x = 127 maxi SH1107) ou de y (y = 127 maxi) cela provoque un bug a l'affichage (exemple : l' écran ce colore tout en blanc ou des ligne se dessine. Pour y remédier , il faudra ajouter ces 2 lignes de code dans :
SetPosition: '(au tout début du code)
if X > 131 then : X = 131 endif 'pour un SH1106
if X > 127 then : X = 127 endif 'pour un SH1107

et dans :
DrawsPixel: ' (au tout début du code aussi)
if Y > 63 then : Y = 63 endif 'pour un SH1106
if Y > 127 then : Y = 127 endif 'pour un SH1107

Cela permet de bloquer x ou y a sa valeur maxi pour évité de la dépasser.

Pour information une nouvelle fonction (DrawsCircle) pour dessiner des cercles ou des elips sera bientôt disponible en version SH1106 et SH1107.
Je suis pour le moment entrain de compresser cette nouvelle fonction qui prend pour le moment de la place.
Voici une photo en avent première de ce que fais cette fonction.
 

Attachments

  • SH1107 14-11-2025.jpg
    SH1107 14-11-2025.jpg
    964.9 KB · Views: 1
Last edited:
Bonjour,
Voici le code pour un SH1106 et SH1107 avec la nouvelle fonction (DrawsCircle) et les photos de ce que fond les codes.
Ces codes on été testé sur un picaxe 20x2.

Voici comment ce présente la commande de cette fonction.

x1 = 50 '(x_DimensionDuCercle)
y1 = 25 '(y_DimensionDuCercle)
x0 = 63 '(x_CordonnerDepart)
y0 = 63 '(y_CordonnerDepart)
stipple = 0 '(1 = Dessine en pointiller)
ClearPixel = 0 '(Efface)
gosub DrawsCircle '(dessine un cercle)

Si X1 n'est pas égale a Y1 vous dessiner une élips
Si X1 est égale a Y1 vous dessiner un cercle.
La commande stipple permet de dessiner un pixel sur 2 ou effacer un pixel sur 2 si (ClearPixel = 1).
La commande (ClearPixel = 1) permet d'effacer au lieu de dessiner.

Une fonction ( DrawsLine ) est en court de fabrication. Cette fonction sera disponible pour les picaxes de la série X2 seulement car la
fonction a besoin de ( atan ) qui donne l'arc tangente d'une valeur entre 0 et 45 degrés.
 

Attachments

Bonjour,
Voici le code pour un SH1106 et SH1107 avec la nouvelle fonction (DrawsCircle) et les photos de ce que fond les codes.
Ces codes on été testé sur un picaxe 20x2.

Voici comment ce présente la commande de cette fonction.

x1 = 50 '(x_DimensionDuCercle)
y1 = 25 '(y_DimensionDuCercle)
x0 = 63 '(x_CordonnerDepart)
y0 = 63 '(y_CordonnerDepart)
stipple = 0 '(1 = Dessine en pointiller)
ClearPixel = 0 '(Efface)
gosub DrawsCircle '(dessine un cercle)

Si X1 n'est pas égale a Y1 vous dessiner une élips
Si X1 est égale a Y1 vous dessiner un cercle.
La commande stipple permet de dessiner un pixel sur 2 ou effacer un pixel sur 2 si (ClearPixel = 1).
La commande (ClearPixel = 1) permet d'effacer au lieu de dessiner.

Une fonction ( DrawsLine ) est en court de fabrication. Cette fonction sera disponible pour les picaxes de la série X2 seulement car la
fonction a besoin de ( atan ) qui donne l'arc tangente d'une valeur entre 0 et 45 degrés.
Bonjour,
Très beau travail, je vais faire une nouvelle page sur le site, pour présenter cette étude,sous ton nom évidemment avec un lien sur cette discussion.
A bientôt
MM
 
Merci pour pour ton soutien MGU.
Dans la version SH1106 , j'ai oublier de rajouter ces 2 lignes pour éviter les bug précédament énuméré au niveau de l'affichage.:

SetPosition: '(au tout début du code)
if X > 131 then : X = 131 endif

et dans :
DrawsPixel: ' (au tout début du code aussi)
if Y > 63 then : Y = 63 endif

Dans la version SH1107 , ces lignes on bien été ajouté.
 
Bonjour,
Voici une photo en avent première de ce qu'il sera possible de faire avec la nouvelle fonction ( DrawsLine ) qui sera disponible le week-end prochain. En ce moment , il y a encore des bug avec cette nouvelle fonction que je suis entrain de corriger.
 

Attachments

  • SH1107 horloge PICAXE 20X2 16-11-2025.jpg
    SH1107 horloge PICAXE 20X2 16-11-2025.jpg
    72.2 KB · Views: 1
Bonjour,
Voici donc la nouvelle fonction (DrawsLine) pour SH1106 et SH1107. Avec les photos de ce que fais cette nouvelle fonction.
Ces codes a été testé sur un picaxe 20x2.

Voici comment ce présente cette fonction.

x1 = 58'x_LongeurDeLaLigneEnPixel
AngleX1 = 175'AngleDeLaLigneEndegres ( mini0 maxi 360) par rapport a x0
x0 = 63'x_CordonnerDepartEnPixel
y0 = 63'y_CordonnerDepartEnPixel
ClearPixel = 0
stipple = 0
gosub DrawsLine 'dessine une ligne

(AngleX1) est l'inclinaison en degré de la ligne dessiner.
si (ClearPixel=1) cela effacera la ligne au lieu de la dessiner

Je viens de me rendre compte que j'ai oublier ajouter la ligne:
(if Print =< X1 and stipple = 1 then : inc Print endif)
dans (DrawsLine ) juste avant cette ligne : (if Print =< X1 then : inc Print : goto DrawsLine else : Y_Neatif = 0 : X_Neatif = 0 : Print = 0 endif)
Cela permettra de dessiner une ligne en pointiller si (stipple = 1) .
Je les tester ça fonctionne.

MGU , Merci pour la mise en ligne de mes travaux. J'aprecie votre soutien. Effectivement la réalisation de se programme me prend beaucoup de temps
et j'ai du faire une long recherche pour pouvoir crée les 2 fonctions (DrawsCircle) et (DrawsLine) .
(DrawsLine) ma pris encore pus de temps car in y avais beaucoup de bug a corrigé avant la mise en ligne.

Je pence que vous pouvez des a présent mettre ce nouveau programme en ligne en remplacement de celui qui est déjà publier sur votre site.

Si vous constater des bugs avec ce nouveau programme don je n'est pas connaissance , veuillez m'en faire par pour que je puisse corriger le problème.
 

Attachments

Last edited:
Bonjour,
Voici donc la nouvelle fonction (DrawsLine) pour SH1106 et SH1107. Avec les photos de ce que fais cette nouvelle fonction.
Ces codes a été testé sur un picaxe 20x2.

Voici comment ce présente cette fonction.

x1 = 58'x_LongeurDeLaLigneEnPixel
AngleX1 = 175'AngleDeLaLigneEndegres ( mini0 maxi 360) par rapport a x0
x0 = 63'x_CordonnerDepartEnPixel
y0 = 63'y_CordonnerDepartEnPixel
ClearPixel = 0
stipple = 0
gosub DrawsLine 'dessine une ligne

(AngleX1) est l'inclinaison en degré de la ligne dessiner.
si (ClearPixel=1) cela effacera la ligne au lieu de la dessiner

Je viens de me rendre compte que j'ai oublier ajouter la ligne:
(if Print =< X1 and stipple = 1 then : inc Print endif)
dans (DrawsLine ) juste avant cette ligne : (if Print =< X1 then : inc Print : goto DrawsLine else : Y_Neatif = 0 : X_Neatif = 0 : Print = 0 endif)
Cela permettra de dessiner une ligne en pointiller si (stipple = 1) .
Je les tester ça fonctionne.

MGU , Merci pour la mise en ligne de mes travaux. J'aprecie votre soutien. Effectivement la réalisation de se programme me prend beaucoup de temps
et j'ai du faire une long recherche pour pouvoir crée les 2 fonctions (DrawsCircle) et (DrawsLine) .
(DrawsLine) ma pris encore pus de temps car in y avais beaucoup de bug a corrigé avant la mise en ligne.

Je pence que vous pouvez des a présent mettre ce nouveau programme en ligne en remplacement de celui qui est déjà publier sur votre site.

Si vous constater des bugs avec ce nouveau programme don je n'est pas connaissance , veuillez m'en faire par pour que je puisse corriger le problème.
Hello,
De mieux en mieux...
J'ai enregistré ce nouveau code, je remarque un "main" et un gosub main, doc main est un sous programme qui se termine normalement par un return et je ne vois pas où est le return associé. N'y a t il pas un problème de dépassement de pile possible?
MM
 
Last edited:
Effectivement j'ai fais les testes sur le SH1107 pour éviter de le décâbler et de recâbler le SH1106 a chaque essais.
Devant Main , il y a ceci ' ce qui signifie que le compilateur n'en tien pas compte dans le programme . ('Main)
et pareil pour ('gosub main).
Je l'ai est éjecté du programme pour vous éviter de devoir câbler le potantiométre sur la broche C.2 ( ADC8 ) et j'ai mis
cette ligne a la place (Contraste = 180 : gosub ContrasteMode) pour régler le contraste.

Si vous voulez d'utiliser le potentiomètre pour régler le contraste
ce (main) ne dois pas ce terminer par un (return) . Il doit continuer en allant dans la boucle (StarCode) ci vous ne changer pas la valeur du potentiomètre.
Ci vous changer la valeur du potentiomètre vous aller d'abord dans (gosub ContrasteMode ) pour écrire cette nouvelle valeur dans votre SH1106 ensuite vous allez dans (gosub main) pour vérifier a nouveau ci vous changer encore cette valeur ou non.
Ci vous ne la changer plus , le programme continu a (StarCode)
Ci vous changer encore cette valeur retour sur (Main)
Ceci a pour objectif de diminuer le temps de réponse du programme quand vous tournez le potentiomètre.

Il est donc normal dans ces condition qu'il n'a pas de return associé pour (main).

Ci il y a autre chose que vous ne comprenez pas , n'hésiter pas a demander.
 
Last edited:
Je viens de faire un essais avec le SH1106 .Sur la photo (SH1106 Essais_1) est l'essais tel que le programme (Lib_SH1106_PICAXE_20X2_V2) est fournit.
Effectivement, on vois au début du cercle qui manque quel'que pixel. cela est du que le SH1106 est un afficheur 132x64 pixel et que le SH1107 est un afficheur 128x128 pixel. pour palier au problème vous devez remplacer : ( x0 = 63) par (x0 = 65) pour la commande : (gosub DrawsCircle) et pour
(gosub DrawsLine) comme ceci :

x1 = 63'x_DimensionDuCercle
y1 = 63'y_DimensionDuCercle
x0 = 65'x_CordonnerDepart
y0 = 63'y_CordonnerDepart
stipple = 0
ClearPixel = 0
gosub DrawsCircle'dessine un cercle


AngleX1 = 190'AngleDeLaLigneEndegres ( mini0 maxi 360)
x1 = 58 'x_LongeurDeLaEnPixel
x0 = 65 'x_CordonnerDepartEnPixel
y0 = 61 'y_CordonnerDepartEnPixel
stipple = 0
ClearPixel = 0
gosub DrawsLine 'dessine une ligne

Ensuite vous obtenez la photo (SH1106 Essais_2) quand la modif est faite

Pour votre seconde question , il n'a pas de problème de dépassement de pile pour un picaxe de la série x2.
Pour un 20M2 par contre , il y a des chances que oui car pour mon 20x2 , je suis limite. Je conseil donc de mètre le jeu de caractère dans une eeprom pour résoudre le problème efficacement.
 

Attachments

  • SH1106 Essais_1.jpg
    SH1106 Essais_1.jpg
    89.6 KB · Views: 4
  • SH1106 Essais_2.jpg
    SH1106 Essais_2.jpg
    69.8 KB · Views: 4
Last edited:
Back
Top