home castoo
chapitre electronique
Electronique enter text on oled sd1306

Objets (ou class) pour écran OLED sd1306
Saisir du texte, afficher des menus.

décembre 2019

Saisir du texte sur un écran OLED SD 1306

Proposer des menus sur un écran OLED 1306

En 2019, j'ai cherché sur internet et je n'ai rien trouvé
(ça ne veut pas dire que cela n'existe pas !)
Alors voilà, je vous propose ici ma solution.

Ecran OLED SD1306 et Encodeur rotatif

Une petite librairie bien pratique pour réaliser une IHM économique :

Un circuit LCD OLED 1306 ne consomme rien ou presque 2.7 mA, c'est super pratique dans de nombreux cas de petits montages d'amateurs alimentés sur batterie.
Souvent lorsque l'on développe un petit logiciel qui utilise par exemple le wifi on est obligé de saisir "en dur" dans le programme le nom du SSID wifi et le mot de passe.
Cela limite le potentiel du montage, pas possible d'en offrir un aux enfants ou aux parents sans connaitre le nom de leur box et leur passe, ce n'est pas pratique, ce n'est qu'un exemple de blocage d'une mémorisation en dur dans le programme. La librairie présentée ici apporte une solution à ce type de projet.
Il est également pénible de présenter un menu sur ce type d'écran et de réinventer une solution à chaque montage, la librairie présentée ici apporte également une solution à ce type de problème.
L'interface avec l'utilisateur est réduite au plus simple, un écran OLED SD1306 et un Encodeur rotatif KY-040 qui permet un défilement des choix par rotation dans un sens ou dans l'autre et la validation par appui sur le bout du bouton.

Remarque : La librairie est disponible dans la partie "programmation" de ce site.
Choisir la librairie "lib_1306_rot" qui regroupe toutes les fonctions citées ainsi que des possibilités additionnelles.


Menu et saisie alphanumérique sur écran OLED sd 1306 avec un Encodeur rotatif L'écran OLED SD-1306 est commercialisé sous plusieurs formes, je suis tombé sur deux types différents.
Un modèle des plus classique (celui que je recommande) mono-couleur.
Un modèle "bicolor" jaune et bleu, au début je me suis dit cool, je vais pouvoir mettre en évidence sur l'écran des mots. Et bien non, en réalité cet écran à un fonctionnent très particulier. La partie haute est jaune puis il y a une ligne sans cellule (une séparation noire ou l'on ne peut rien affiché et qui fait "tâche" si on ne l'a pas anticipée) Cette caractéristique peut être mise à partie dans certains montages pour afficher par exemple un titre en jaune et plus bas du texte en bleu.
Les deux objets présentés ici n'exploitent pas l'écran bicolor, son utilisation détériore l'affichage (ligne sans segment) je vous recommande donc si vous souhaitez utiliser ces objets de commander des écrans blanc. Malheureusement sur les photos ci-dessous je n'avais plus d'écran blanc donc j'ai fait avec ce qu'il me restait !
L'encodeur rotatif KY-040 utilisé ici est un 30 pas, mais il est possible d'en utiliser un autre type, les objets présentés ici n'utilisent l'encodeur que pour déterminer si on le tourne dans un sens ou dans l'autre, on ne compte pas les pas ! Il est également utilisé pour valider un choix.
Il suffit donc d'ajouter ces deux éléments à un montage pour disposer d'une interface utilisateur.

Menus sur LCD OLED 1306
L'objet menu permet lui d'afficher jusqu'à 5 lignes de choix.
Le choix en cours est entouré par un rectangle qui est (plus ou moins) à la taille du texte de la ligne.
Une fois le bouton appuyé on sort du menu et la valeur retournée est un chiffre de 0 à x (nombre de ligne -1).
Il est préférable de prévoir un petit délai en sortie du menu pour éviter les rebonds, une valeur de 200 doit suffire.

Pour comprendre comment utiliser ces objets, le mieux est de consulter l'exemple que je joints à l'article. L'exemple comporte 3 choix Saisir le nom, saisir le prénom et le dernier afficher le résultat. Il est disponible dans les exemples de la description de la librairie.


accueil electronique

Bricolage Robotique Informatique Peinture Voyage
Téléc. portail Le robot "mécano" Astuces informatique Henri Bertrou Auvergne
Bat. Iphone 6S Le robot "solaire" Réseau couche app. Jean-Michel Castille Floride
Robot piscine Servo et IR" Réseau Les couches New York
Xiaomi M365 Le robot "thymio" Réseaux Outils L'Ouest américain
Mac Mini Le robot "Rovio" Unités grandeur inf. L'Ile Maurice
Putty SSH Windows L'Italie / Venise
Bases Raspberry Tunisie
Termius IPhone/IPad Grece
Le vieux ZX 81
...
Navigation La Rochelle CNC / Imp3D Electronique Programmation
Rencontre dauphins Les Minimes Construction CNC Alim. TPL 5110 Doc. programme
Analyse NMEA 0183 Le Vieux port CNC du commerce Carte ESP8266 Indent programme
graph. NMEA 0183 L'Ile de Ré Martyr CNC ESP8266 1 relai Prog. objet
Analyse trames AIS A visiter Réa. imp. 3D ESP8266 Alarme Prog. procédurale
Analyse AIS TCP-IP Cura impression 3D ESP8266 MQTT
Sortie en ketch Plateau CR10 ESP8266 Temp.
Echange GPS C80 Anémomètre.
HP Sun-Odyssey CNC / 3D en vrac MCP9808 Librairie
LCD yanmar Saisie Oled
Testeur nmea esp1 i2c