Gestion ecran VMA412 avec MEGA2560

Bonjour à tous;
Je souhaite débuter un projet de boite avec écran couleur et tactile, type: VMA412 de chez "Velleman" avec une carte "Méga 2560".
Des sorties contacteurs pour pompe, circulateur et bruleur
Des entrées sondes température
Le tout pour gérer une chaufferie ou chaudière dont le tableau de commande serait défectueux par exemple.

Dans un premier temps, je souhaite créer des boutons et une pagination.

Page 1:
Info des capteurs de températures principalement (Temp. Ext., départ chauffage, retour chauffage, Temp. chaudière, Temp. eau chaude sanitaire.)
Page 2 :
Touche Marche/Arrêt; été/hiver(commande du circulateur sanitaire); Curseur Temp. Sanitaire; Curseur Temp. chaudière;...
Page 3:
Réglage de paramètres et états...

S'il existe un projet en français ou traduit sur le sujet, merci de m'en informer
je peine déjà pour déclarer mon écran, et je trouve pas de bibliothèques avec la doc sur les boutons en français; j'arrive à produire ça pour le moment avec des bouts de codes grappillé à droite et à gauche: c'est pas grand chose, soit, c'est un début on est bien d'accord.
A ++ et merci pour vos réflexions sur le sujet!

#include <Adafruit_GFX.h>
#include <UTFTGLUE.h>              // class methods are in here
UTFTGLUE myGLCD(0x0,A2,A1,A3,A4,A0); //( sa marche aussi avec 0x9341 ou 0x nimporteqoi ,RS,WR,CS,RST,RD)

void setup()
{

// initialise l'écrant //
  myGLCD.InitLCD(LANDSCAPE);    // Ecran mode paysage ( horizontal )          
  myGLCD.clrScr();  // Efface ecran 
  delay (100);  
}

void loop()
{
    
//Afiche une forme pleine de couleur  //
  myGLCD.setColor(15,200,40);         //bouton 1 vert pale
  myGLCD.fillRect(250,50,300,100);    //position: (x début; y début; x fin; y fin)

  myGLCD.setColor(255, 0, 0);         //bouton 2 rouge
  myGLCD.fillRect(250,130,300,180);   //position
 
 // titre  // 
  //myGLCD.setFont(BigFont); 
  myGLCD.setColor(255, 255, 0);     //couleur ecriture
  myGLCD.setBackColor(0, 0, 0);     //couleur de fond d'écriture
  myGLCD.print("* Gestion chaufferie *", CENTER, 5); //écriture;left,right,center;ligne/
  
 // pied de page  // 
  myGLCD.setBackColor(0, 255, 255);  //couleur ecriture
  myGLCD.setColor(0,0,0);       //couleur de fond d'écriture ?
  myGLCD.print("<ptichamp>", CENTER, 231); //écriture;left,right,center;ligne
//Cadre 1 //
  myGLCD.setColor(0, 0, 255);
  myGLCD.drawRoundRect(2, 18, 318, 225); //Rectangle vide rond position: (xd,yd,xf,yf)
// écriture  //
myGLCD.setFont(BigFont);        // select grand caracteres//sa marche pas ?
myGLCD.setBackColor(64,64,64); 
  myGLCD.setColor(255,255,255);
  myGLCD.print("**  choisir une touche  **", CENTER, 30);
// ligne  //
  myGLCD.setColor(0 , 0, 255 );       
  myGLCD.drawLine(0 , 115 , 318 , 115 );  // ligne Horz en ligne 60
  
}

Vous avez du code et une librairie sur leur site. Certes ce n’est pas en français mais avec google translate ce devrait quand même être accessible

bonjour,
je pense qu'avant de te lancer dans un projet comme celui ci, qu'il faudrait s'affranchir des bases minimum.
Surtout si tu touche à une chaudière, ce qui peut engendrer de très gros problèmes par la suite si un incident/accident/incendie venait a arriver.
Cela peut au minima, faire griller la mega, mais au pire, faire bruler une maison avec les conséquences que cela peut toucher des personnes en plein sommeil.
Une mise en garde est nécessaire.

En premier lieu, je plussoie avec "infobarquee" : une chaudière n'est pas un jeu !

Maintenant, j'ai développé une bibliothèque de composants visuels pour écran tactile 320 x 240. Peut-être cela pourra-t-il vous aider.

NOTA : avec cette bibliothèque, j'ai créé une application où je mesure les températures d'eau sortante et entrante à la chaudière ainsi que la vitesse de circulation de cette eau. Mais dans cette application, je ne contrôle pas la chaudière.

Cordialement.

Pierre

Bonjour tous,
Tout d'abord merci pour vos réponses, judicieuses en ce qui concerne la sécurité / responsabilité.
Je suis un professionnel en chauffage (PGaz installateur) et je ne ferai pas n’importe quoi, bien entendue;
Cette appli. n'a pas pour but de "shunter" les sécurités d'un appareil du commerce (homologué et certifié), chez un de mes clients en panne, par exemple;
D’ailleurs pour ce qui est des réparations dans le cadre de mon activité pro, il existe déjà tout chez mes fournisseurs avec une garantie constructeur; Alors !.
Je développe uniquement pour mon compte personnel et en mode loisirs (chauffage piscine solaire, stérilisateur à bocaux, four à verre...).
Mon éthique est sauve et elle m'a conduit jusqu'à vous, je ne mélange pas la besogne et les loisirs !
Merci encore pour les réponses, je vais bucher ça, A+

salut

moi aussi je suis un professionnel du secteur (chauffe-eau solaire) et je suis en train de développer ça : thermalduino

Bonjour,

bricofoy:
salut

moi aussi je suis un professionnel du secteur (chauffe-eau solaire) et je suis en train de développer ça : thermalduino

Super projet, merci de partager,
Plus modestement, je cherche à faire fonctionner mon écran VMA412.

ChPr:
Maintenant, j'ai développé une bibliothèque de composants visuels pour écran tactile 320 x 240. Peut-être cela pourra-t-il vous aider.

Pierre

Le lien ver cette bibliothèque je n'arrive pas à le télécharger via IDE ARDUINO (1.8.5)
par contre la documentation en français est super et j'aimerai bien utiliser cette bibliothèque, elle correspond bien à mon projet.

ChPr:
En premier lieu, je plussoie avec "infobarquee" : une chaudière n'est pas un jeu !

Maintenant, j'ai développé une bibliothèque de composants visuels pour écran tactile 320 x 240. Peut-être cela pourra-t-il vous aider.

NOTA : avec cette bibliothèque, j'ai créé une application où je mesure les températures d'eau sortante et entrante à la chaudière ainsi que la vitesse de circulation de cette eau. Mais dans cette application, je ne contrôle pas la chaudière.

Cordialement.

Pierre

Salut Pierre,
je cherche à rentrer ta belle bibliothèque dans un programme avec l'IDE ARDUINO 1.8.5

1 Téléchargement du ZIP
(Il est bien dans mon fichier téléchargement)

2 Croquis

3 Inclure une bibliothèque

4 Ajouter la bibliothèque .zip...

et ça me sort l'erreur suivante ? ( ça marche pourtant avec d'autres bibliothèques, j'ai testé):

Exception in thread "AWT-EventQueue-0" java.lang.IllegalArgumentException: MALFORMED
at java.util.zip.ZipCoder.toString(ZipCoder.java:58)
at java.util.zip.ZipFile.getZipEntry(ZipFile.java:583)
at java.util.zip.ZipFile.access$900(ZipFile.java:60)
at java.util.zip.ZipFile$ZipEntryIterator.next(ZipFile.java:539)
at java.util.zip.ZipFile$ZipEntryIterator.nextElement(ZipFile.java:514)
at java.util.zip.ZipFile$ZipEntryIterator.nextElement(ZipFile.java:495)
at processing.app.tools.ZipDeflater.deflate(ZipDeflater.java:41)
at processing.app.Base.handleAddLibrary(Base.java:2279)
at processing.app.Base$6.actionPerformed(Base.java:1085)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2348)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
at javax.swing.AbstractButton.doClick(AbstractButton.java:376)
at javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:833)
at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:877)
at java.awt.Component.processMouseEvent(Component.java:6533)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3324)
at java.awt.Component.processEvent(Component.java:6298)
at java.awt.Container.processEvent(Container.java:2236)
at java.awt.Component.dispatchEventImpl(Component.java:4889)
at java.awt.Container.dispatchEventImpl(Container.java:2294)
at java.awt.Component.dispatchEvent(Component.java:4711)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4888)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4525)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4466)
at java.awt.Container.dispatchEventImpl(Container.java:2280)
at java.awt.Window.dispatchEventImpl(Window.java:2746)
at java.awt.Component.dispatchEvent(Component.java:4711)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)
at java.awt.EventQueue.access$500(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.awt.EventQueue$3.run(EventQueue.java:703)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:90)
at java.awt.EventQueue$4.run(EventQueue.java:731)
at java.awt.EventQueue$4.run(EventQueue.java:729)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)

salut

tu peux tout simplement dezipper toi même le fichier et en copier le contenu dans le dossier libraries de ton dossier arduino

J'ai essayé par le même procédé que vous avec ma version 1.6.7 et j'ai les mêmes erreurs. Je ne sias pas pourquoi cela. J'ai compressé mes fichiers avec "IZArc"".

Je vous propose de faire simplement comme vous l'a dit "bricofoy" : dézippez vous même le fichier et copiez son contenu dans votre répertoire "libraries".

Cordialement.

Pierre

OK je tente