Go Down

Topic: Télécommande universelle nano et nextion (Read 1 time) previous topic - next topic

Yoann5656

Ah c'est intéressant! Je suis preneur de ton code pour tester ça.
Et est-ce que c'est possible de mettre le code IR dans le nextion, et lorsqu'on appui sur le bouton, il envoie ce code à l'arduino? Du coup ça réduirait considérablement le code arduino

anthology

amuse toi déjà avec les exemples,
ensuite l'exemple que je t'ai donner je l'utilise

tu peux mettre ce que tu veux sur le nextion (même te passer de l'arduino)
mais le plus simple a faire, il envoie un code sur la liaison série et si l'arduino le lit, tu envoie le code IR

du coup juste des if et le tour est joué

hbachetti

https://github.com/bborncr/nextion

Je ne connaissais pas, mais c'est certainement la solution, en acceptant de perdre la notion d'objets graphiques.
C'est juste une petite surcouche par dessus la ligne série. Très light.

@+
Linux is like a wigwam: no Windows, no Gates, and an Apache inside ...

Yoann5656

Merci je vais essayer.
Pour le nextion, je n'ai jamais mis de code dedans. Dans le cadre User code, je mets le code que je veux envoyer, par exemple:

 irsend.sendSAMSUNG (0xE0E040BF, 32);

Et dans l'arduino, comment renvoyer l'info à led IR?

hbachetti

La méthode sendSAMSUNG permet bien d'envoyer depuis l'ARDUINO un code à l'émetteur infrarouge non ?
Je ne connais pas Nextion mais ce que tu appelles "cadre User code" permet d'associer du code ARDUINO à un bouton, n'est ce pas ?

@+
Linux is like a wigwam: no Windows, no Gates, and an Apache inside ...

anthology

#20
Oct 07, 2018, 09:43 am Last Edit: Oct 07, 2018, 09:45 am by anthology
pas besoin de mettre de code dans le nextion, tu coche send component id
et quand tu cliquera dessus il t'enverra un code comme dans mon exemple
aprés a toi de lui dire (a ton arduino) quand tu recoit "id du bouton"
fait irsend.sendSAMSUNG (0xE0E040BF, 32);

dans le nextion le code que tu peux mettre permet par exemple de changer la couleur du bouton etc
pas de code arduino dedans (meme si ca y ressemble)


exemple dans l'image (c'est l'interface que je fait actuellement)

quand je clique sur ce bouton (bou en bleu) en bas tu peux voir la case cocher send component id

et du coup mon code sera
Code: [Select]
if (message == "65 1 3 1 ff ff ff") { // bouton plus 1
con1++;
con1 = constrain(con1, 10, 30);
myNextion.setComponentText("con1", String(con1));
}


pour toi ce sera peut etre

Code: [Select]

if (message == "65 1 3 1 ff ff ff") { // bouton telecomande
irsend.sendSAMSUNG (0xE0E040BF, 32);
}


rien de plus

EDIT:
pourquoi perdre la notion d'objet graphique ?

hbachetti

Quote
pourquoi perdre la notion d'objet graphique ?
Je voulais parler de la notion de widget, plutôt.
Dans cette librairie les classes bouton, texte, checkbox, etc. disparaissent. Il reste une seule classe Nextion.
A la limite les fonctionnalités manquantes peuvent être développées facilement en s'inspirant de la librairie ITEAD.

NOTE : j'ai remarqué que dans le libriairie ITEAD les String C++ sont utilisées, ce qui peut occasionner une fragmentation de la mémoire.

@+
Linux is like a wigwam: no Windows, no Gates, and an Apache inside ...

anthology

oui effectivement elles disparaissent mais c'est beaucoup plus simple a géré (je trouve)
plus besoin de déclarer bouton ou autre tu fait tout en direct avec la liaison série
après chacun a son besoin mais pour une télécommande ou d'autre projet du genre on a pas
besoin des grosses librairies.

de quel fonctionnalités manquantes parle tu ?
j'utilise les boutons, du texte et des checkbox dans mon code sans aucun probleme
je fait mêmes des animations sur l'écran via l'arduino (ou via le nextion directement)

je n'est perdu (pour ce que j'ai fait) aucune fonctionnalités du nextion

hbachetti

Quote
de quel fonctionnalités manquantes parle tu ?
Par exemple modifier la couleur d'un bouton en fonction du contexte d'exécution de l'ARDUINO.
Mais cela reste faisable en formatant la commande soi-même.
Avec la librairie ITEAD, une méthode est disponible.

@+
Linux is like a wigwam: no Windows, no Gates, and an Apache inside ...

anthology

tu peux le faire directement avec la bonne commande a envoyer ou sinon directement avec le bouton sur le nextion

ca libère beaucoup l'arduino de ne pas utilisé leur truc
pas besoin de géré la page ou quoi que ce soit, tu gère juste bouton et affichage

Yoann5656

Bonsoir,
Merci pour toutes ces infos, j'essaye de mettre le code "simplifié" avec cette librairie mais pour le moment ça ne marche pas. Je viens de comprendre que pour la librairie IRremote.h, la led doit être sur le pin 3. Du coup peut on modifier les RX/TX des pin 2 et 3?

anthology

oui sans problème
tu peux utiliser software serial ça marche aussi
c'est même mieux comme ca tu peux faire du debug avec la liaison serie usb de l'arduino comme
ça tu reconnait plus facilement les codes que t'envoie le nextion

je pourrais pas te donner mon code sur ce coup la, je suis sur un ESP32

Go Up