Ma nouvelle manette DCC avec ESP32 (2)

Avec affichage graphique complet

. Par : msport. URL : https://www.locoduino.org/spip.php?article343

Cet article décrit une variante de Une manette simple et autonome pour LaBox avec un écran de 2,8" permettant un affichage plus élaboré. Mais, ici, on n’exploite pas le WiFi de l’ESP32, il est utilisé seulement pour plus de place pour le programme et pour le gain de performance allié à un faible coût.
La connexion aux centrales DCC++ et DCCpp se fait par un lien série via une paire de modules radio HC12 ou trois fils.
EX‑CommandStation n’a pas été testée mais étant basée sur DCC++, elle devrait aussi être compatible.

Cette manette utilisant un ESP32 et un écran plus grand aura une autonomie moindre que celle basée sur un Nano tout en restant utilisable. Le courant consommé étant inférieur à 100 mA.

L'écran principal
L’écran principal
La manette au complet
La manette au complet
Coté cuivre
Coté cuivre

Vous devez avoir installé les bibliothèques :

  • SPI.h
  • TFT_eSPI.h
    https://github.com/Bodmer/TFT_eSPI
    Si vous commencez à utiliser la bibliothèque TFT_eSPI, il vous est dit : Assurez-vous que toutes les connexions du pilote d’affichage et des broches sont correctes en éditant le fichier User_Setup.h dans le dossier de la bibliothèque TFT_eSPI.
    Ici, le User_Setup.h a été configuré pour un écran ILI9341, vous remplacerez donc le User_Setup.h de votre bibliothèque TFT_eSPI par celui-ci.
    User_Setup.h pour ILI9341

Notez que la mise à jour des bibliothèques efface les modifications que vous y avez faites. Conservez celles-ci ailleurs que dans « libraries ».

  • ESP32Encoder.h
    ESP32Encoder.h
  • Bounce2.h
    Bounce2
  • Keypad.h
    Keypad

Le programme

Il est sur la même base que celui d’ Une manette simple et autonome pour LaBox. On trouvera dans cet article des explications détaillées.

s_dials-18.ino

On trouvera dans :
https://www.aranacorp.com/en/using-...
l’exemple pour lire / écrire dans l’EEPROM de l’ESP32
et dans :
https://github.com/Bodmer/TFT_eSPI
celui pour dessiner un cadran animé avec une aiguille tournante.
On a intégré le programme de pilotage de la table tournante 6152 Fleischmann qui fera l’objet d’un futur article. (touche C)

Le fichier à envoyer au fournisseur de circuit imprimé

C’est le même que la variante pour écran 1,44". Les deux emplacements 1,44" et 2,8" ont été prévus. Il est également possible d’utiliser un écran 2,4", pourvu qu’il soit d’une résolution de 240x320 avec un driver ILI9341 et en interface SPI.

Gerber

Le schéma

Schéma

Le circuit imprimé

Circuit imprimé

Le mode d’emploi

On se reportera à celui d’ Une manette simple et autonome pour LaBox.
Dans le cadran analogique on a :
l’adresse de la locomotive, la vitesse numérique, le sens.
L’affichage des fonctions se fait sous forme de voyants.
La colonne de gauche pour F0 à F4 et les trois rangées horizontales pour :
F5 à F12 puis F13 à F20 puis F21 à F28. On bascule entre les quatre rangées par la touche « D ».
La colonne de fonctions F0 à F4 est commandée à partir de 0 sur le pavé numérique.
Chaque rangée de fonctions est commandée à partir de 1 sur le pavé numérique.
L’autonomie est supérieure à une heure.

Où acheter ?

Où acheter ?, une liste de fournisseurs.
On se reportera à l’article Une manette simple et autonome pour LaBox dont le matériel est en grande partie identique.
Voir la liste des composants.
https://www.ebay.fr/itm/173596166343 ESP32 8€
https://jlcpcb.com circuit imprimé 10 € les 5 (x2)
https://fr.aliexpress.com/item/1005... écran TFT 2,8" 11€
https://www.ebay.fr/itm/354967542108 step up 3,7V 5V 1,28€
https://www.ebay.fr/itm/274596559950 module chargeur 2,7V 2,8 €
Ici, c’est un écran ILI9341

Il ne reste plus qu’à créer un boitier adapté en impression 3D.