Page 1 sur 1

pilotage d'un servo moteur avec un dimmer

Publié : 17 mars 2023, 18:30
par didier02
Bonjour a tous , je suis en train de regarder le fonctionnement du Mini NodeMCU ESP8266 et espeasy

desoler si je suis pas dans le bon forum , mais je sais pas si mon problème viens de easyesp ou du script Lua.
.
j'ai réussi a faire bougé un servo moteur avec un inter domoticz mais pas avec un dimmer ..
.
j'ai suivi le tuto https://www.tutos.eu/3098
avec un inter mon servo moteur fonctionne
.
j'ai configuré mon inter en dimmer et rien ... mon servomoteur reste bloque dans sa position..
pourtant si je fais
http://192.168.0.49/control?cmd=Servo,1,13,16
http://192.168.0.49/control?cmd=Servo,1,13,175
ca fonctionne ( comme avec l'inter dans domoticz)


voici le code du tuto

Code : Tout sélectionner

commandArray = {}
DomDevice = 'servo'; -- Votre peripherique à controler
IP = '192.168.0.49'; -- L'adresse IP de l'ESP8266
PIN = "13"; -- Le pin GPIO du servo

function sleep(n)
  os.execute("sleep " .. tonumber(n))
end

if devicechanged[DomDevice] then
   if(devicechanged[DomDevice]=='Off') then
		print ("OFF dim = "..uservariables['dimmer']);
		CalcValue = 0;
   	else if(devicechanged[DomDevice]=='On') then
   		DomValue = uservariables['dimmer'];
        print ("ON dim = "..uservariables['dimmer']);
        CalcValue = DomValue;
    else
    	print("Other");
        DomValue = otherdevices_svalues[DomDevice];
        CalcValue = math.floor(30 + DomValue * 1.50); -- La fonction de calcul dimmer vers servo
        commandArray['Variable:dimmer'] = tostring(CalcValue);
        print ("dim Level = "..uservariables['dimmer']);
   	end
   	end
   	runcommand = "curl 'http://" .. IP .. "/control?cmd=Servo,2,"  ..PIN.. "," .. CalcValue .. "'"; -- Commande de servo
   	dodo = "curl 'http://" .. IP .. "/control?cmd=Servo,2,"  ..PIN.. ",9999'"; -- Desactiver lesServo
   	os.execute(runcommand);
   	sleep(2) -- Attente entre commande et desactivation
   	os.execute(dodo);
	print("PWM value= "..CalcValue);
end
return commandArray
deja pourquois dans
runcommand = "curl 'http://" .. IP .. "/control?cmd=Servo,2," ..PIN.. "," .. CalcValue .. "'";
.
il y a servo,2 ? j'en ai qu'un !et si je met 1 ca change rien ...
et j'ai remarqué qu'avec mon servo moteur je peux aller que de 16 à 175 en position :cry: si je met 0 c'a fonctionne pas, 176 non plus .. mon problème viens peut être de là ? :?:
dans les log , j'ai comme erreur
2023-03-17 18:34:59.827 Error: EventSystem: in servo: [string "commandArray = {} ..."]:16: attempt to concatenate a nil value (field 'dimmer')
2023-03-17 18:35:00.274 Error: EventSystem: in servo: [string "commandArray = {} ..."]:10: attempt to index a nil value (global 'devicechanged')
.
et là ,..., je pleure :|

Re: pilotage d'un servo moteur avec un dimmer

Publié : 17 mars 2023, 20:40
par Keros
Le code appel uservariables['dimmer']. Est-ce qu'elle est créée ?

Re: pilotage d'un servo moteur avec un dimmer

Publié : 17 mars 2023, 21:09
par Neutrino

Re: pilotage d'un servo moteur avec un dimmer

Publié : 18 mars 2023, 10:18
par didier02
ok ,
effectivement je viens de créer ma variable utilisateur, ca va mieux ..
2023-03-18 09:55:23.959 Status: User: didier (IP: 192.168.0.28) initiated a switch command (233/servo/Set Level)
2023-03-18 09:55:23.979 Status: LUA: ON dim = 0
2023-03-18 09:55:26.358 Status: LUA: PWM value= 0
par contre quand je bouge le dimmer, sa valeur reste à 0
et j'ai toujours mon erreur
2023-03-18 09:56:00.488 Error: EventSystem: in servo: [string "commandArray = {} ..."]:10: attempt to index a nil value (global 'devicechanged')
je laisse tombé c'est trop compliqué pour mon petit servo .. (le mien :D ).. si il faut refaire tout le code ... dommage le tuto était bien fait .. mais toute la partie config de easyesp est zappée et le genre de petit détail user variable aussi ...
J'arrive déjà a faire bouger un servo moteur, j'arrête là ..
Mon projet est de faire et piloter une bouche de ventilation variable suivant une condition (hydro).. comme çà :
.
2_.jpg
2_.jpg (13.03 Kio) Consulté 1140 fois
merci pour vos réponses,

Re: pilotage d'un servo moteur avec un dimmer

Publié : 18 mars 2023, 11:56
par Keros
Tu as bien renseigné le nom de ton widget dans le début du script ?

Ca m'intéresse de connaitre la bouche de ventilation variable que tu as trouvé.

Re: pilotage d'un servo moteur avec un dimmer

Publié : 18 mars 2023, 13:32
par didier02
ca ?
4.jpg
4.jpg (40.91 Kio) Consulté 1121 fois
DomDevice = 'servo'; -- Votre peripherique à controler
.
3.jpg
3.jpg (18.92 Kio) Consulté 1123 fois
.
volà ce que j'obtien en position o --> off et à 100% --> on
2023-03-18 13:50:12.974 Status: User: didier (IP: 192.168.0.28) initiated a switch command (233/servo/Set Level)
2023-03-18 13:50:14.525 Status: LUA: PWM value= 0
2023-03-18 13:50:14.533 Status: LUA: ON dim = 0
2023-03-18 13:50:16.865 Status: LUA: PWM value= 0
2023-03-18 13:51:52.331 Status: User: didier (IP: 192.168.0.28) initiated a switch command (233/servo/Set Level)
2023-03-18 13:51:52.341 Status: LUA: OFF dim = 0
2023-03-18 13:51:54.677 Status: LUA: PWM value= 0
.
on dirais que c'est la valeur pwm qui bouge pas..
d ailleurs elle sort de oû ? c'est pas dans le scipt .. :shock:

.
d'aprés la doc que Neutrino m'a donné
Image6.jpg
Image6.jpg (51.78 Kio) Consulté 1104 fois
.
.
c''est du chinois :ugeek:
.
.
pour la bouche de vmc , je veux la faire moi même ..
pour moi c'est beaucoup plus facile a faire que de modifier un code lua !! :D
fait une recherche sur amazon ( ou autre) " bouche vmc motorisée" , il y en a beaucoup .. au début je voulais partir avec un électro aimant ou juste un petit moteur piloté par un relais sur port GPIO , mais il me faut la démultiplication d'un servo moteur pour que le clapet reste en place .. sinon en état fermé , il se réouvrira tous seul ... :evil:
.

En fait , je trouve les systèmes de bouches de vmc type « hydro » complétement dépassées … tirer sur une corde pour l’ouvrir un certain temps, ou les bouche avec un capteur mécanique qui se tend quand c’est humique … bof bof .. sans parler de ceux avec des piles qui coutent une blinde ..
Là , j’ouvre ou ferme suivant le taux d’humidité dans la pièce, ni plus ni moins .. et surtout plus d’oubli d’ouverture..

Re: pilotage d'un servo moteur avec un dimmer

Publié : 18 mars 2023, 14:05
par Keros
C'est bien le bon nom. Il faudrait faire du débugage pour essayer de comprendre qu'est-ce qui fait planter le script.

Ta photo correspondait à ma recherche, d'où ma question. Merci

Re: pilotage d'un servo moteur avec un dimmer

Publié : 18 mars 2023, 14:36
par didier02
non, on va pas passer le weekend la dessus .. par contre si ca intéresse d'autres .. :) surtout qu'il commence a faire beau !!
comme je l'ai dis , j'arrive a piloter un servo moteur , ca me suffis .. c'était juste pour aller un peu plus loin.. là ca deviens trop compliqué ..
Encore merci de ta patience

Re: pilotage d'un servo moteur avec un dimmer

Publié : 18 mars 2023, 16:03
par Neutrino
La doc, c'était pour la partie servo.
Tu ne contrôles pas tes moteur en pwm.

Après tu peux simplifier le truc en créant un interrupteur sélecteur qui lancera différents liens correspondant à différents niveaux.

Re: pilotage d'un servo moteur avec un dimmer

Publié : 18 mars 2023, 16:21
par didier02
oui , c'est ce que je voulais faire .. sans se prendre la tête.. 2 positions et hop !!! ouvert en grand ou à 10%