Page 26 sur 26

Re: D17: Une centrale a 10 balles

Posté : ven. 09 août 2019, 19:15
par Philro
Bonjour,

C'est une carte compatible Wemos D1 mini achetée chez AliExpress, pas NodeMCU (j'ai recopié bêtement le libellé de l'annonce) Désolé.
J'ai regardé dans le sketch Arduino et dans le programme basic de la souris mais je ne trouve pas la correspondance entre les boutons Ox et les pins Dx ou GPIOx. Je ne souhaite pas, dans un premier temps, utiliser les autres possibilités S88, Max7219, PCA9685,...
Mes connaissances dans le langage de l'Arduino sont limitées, je suis encore débutant.

Philippe

Re: D17: Une centrale a 10 balles

Posté : ven. 09 août 2019, 21:47
par Bug Killer
La liaison entre les boutons et les sorties se fait par programme dans la partie utilisateur du croquis D17.

Re: D17: Une centrale a 10 balles

Posté : dim. 11 août 2019, 21:56
par Philro
Merci pour le retour, je regarde dès que j'ai un instant

Re: D17: Une centrale a 10 balles

Posté : lun. 19 août 2019, 19:46
par Philro
Bonjour,

J'ai essayé avec différentes commandes comme #define ou user_out dans la partie USER PART mais je ne suis pas arrivé à faire fonctionner les touches o0 à o5 et je ne vois pas où je me trompe.
J'ai vérifié les sorties Dx du module Wemos avec le programme Remotexy, elles fonctionnent bien.
Quelle serait la syntaxe exacte ?

Merci d'avance

Philippe

Re: D17: Une centrale a 10 balles

Posté : mar. 20 août 2019, 23:00
par Bug Killer
Les boutons des TCO sont reliés à des variables utilisateur de la centrale par des paramètres.

Exemple de bouton modifiant l'état de la variable utilisateur zéro :

Code : Tout sélectionner

# bouton 0
RECT,50,50,30,30,u,0
LABEL,50,50,u0
ACTION,50,50,30,30,u0^
Dans le croquis de la centrale, on peut répercuter la variable utilisateur à ce que l'on veut.

Exemple de changement d'état de la sortie D5 lorsque la variable utilisateur zéro change et de la sortie D8 lorsque la variable utilisateur 3 change :

Code : Tout sélectionner

void user_notify_u(byte num, byte val)
{
     if(num==0)
     	user_out(D5,val);
     
     if(num==3)
     	user_out(D8,val);
     
     user_set_u(num, val);
}