Page 1 sur 1

Comment piloter un relai avec un nodemcu v3?

Publié : 11 avr. 2017, 21:39
par Arnold84
Bonjour,

Je veux commander un relai (JQC-3FF-S-Z, 5 VDC) à l'aide d'un nodemcu v3 (Lolin).
Le pin D7 est relié au pin IN du relai.

Code : Tout sélectionner

int pin = D7;

void setup() {
  
  pinMode(pin, OUTPUT);
  Serial.begin(115200);
}

void loop() {
 
  Serial.println("Relay Off");
  digitalWrite(pin, 0);
  delay(3000);
  Serial.println("Relay On");
  digitalWrite(pin, 1);
  delay(3000);
}
Le nodemcu est alimenté par un port usb de mon pc.

J'ai essayé d'alimenter le nodemcu en le connectant au pin VIN du nodemcu mais dans ce cas aucune des 2 leds du relai ne s'allument.
J'ai essayé avec le pin VU et dans ce 2 cas les 2 leds du relai sont allumées (et restent allumées) et le relai ne s'enclenche qu'une fois mais ça reste comme ça.
J'ai essayé avec le pin 3V dans ce cas la led de gauche du relai clignote (celle de droite reste allumée) mais le relai ne s'enclenche à aucun moment.

J'ai changé de port usb mais le comportement reste le même.
J'ai l'impression que le nodemcu n'est pas assez puissant pour alimenter le relai.
Avec un Arduino aucun problème.

Comment faire pour piloter le relai?

Merci

Re: Comment piloter un relai avec un nodemcu v3?

Publié : 12 avr. 2017, 06:51
par fredandrick65
essayes ici :
viewtopic.php?t=1507
avec EasyESP

Re: Comment piloter un relai avec un nodemcu v3?

Publié : 12 avr. 2017, 09:50
par vil1driver
Salut,

Vérifie déjà la console pour savoir si le sketch se déroule bien..

Si c'est une histoire d'alimentation, essai sans relai

Re: Comment piloter un relai avec un nodemcu v3?

Publié : 14 avr. 2017, 17:05
par Arnold84
Merci à tous les 2 pour vos réponses.

J'ai essayé avec EasyESP mais sans plus de succès.

Je suis finalement parvenu à faire ce que je veux avec le code suivant :

Code : Tout sélectionner

int pin = D7;

void setup() {
  
  Serial.begin(115200);
}


void loop() {
 
  Serial.println("Relay Off");
  pinMode(pin, OUTPUT);
  delay(3000);
  Serial.println("Relay On");
  pinMode(pin, INPUT);
  delay(3000);
}
Si pinMode = OUTPUT alors le relai est allumé, si pinMode = INPUT le relai est éteint.

Ça fait bien ce que je veux mais je ne m'explique pas ce fonctionnement.
Pourquoi cela ne fonctionne t'il pas avec digitalWrite?
Avez-vous une idée?

Merci.

Re: Comment piloter un relai avec un nodemcu v3?

Publié : 14 avr. 2017, 18:20
par Jeff
Je ne saurais que te conseiller d'aller voir ici pour comprendre le fonctionnement des arduinos.
http://eskimon.fr/category/arduino/partie-2

Tu dois déclarer d'abord que c'est une sortie et après la mettre a high ou low
Regarde les sketch examples dans arduino : 02.Digital => BlinkWithoutDelay...

Re: Comment piloter un relai avec un nodemcu v3?

Publié : 14 avr. 2017, 18:52
par Arnold84
merci pour ton retour.

J'ai déjà fais ce genre de TP pour apprendre à utiliser l'arduino.
Tu dois déclarer d'abord que c'est une sortie et après la mettre a high ou low
Avec un arduino ça fonctionne très bien mais le même code avec le lolin ne fonctionne pas d'où mon problème initial.

Re: Comment piloter un relai avec un nodemcu v3?

Publié : 25 avr. 2017, 15:16
par domidom
Bonjour,

dans ton exemple, tu déclares ton pin en int (entier), ensuite tu l'initialises avec A7.
A7 n'est pas un entier donc cela ne fonctionne pas.

Utilise int pin = 7;
Cela fonctionnera mieux.

domidom

Re: Comment piloter un relai avec un nodemcu v3?

Publié : 26 avr. 2017, 21:53
par Arnold84
Merci domidom pour ta réponse.

En fait int pin = D7 provoque une erreur de compilation avec un Arduino mais en sélectionnant le type de carte NodeMCU la compilation est OK.
pin = D7 est valable avec le NodeMCU, pour moi le problème ne vient pas de là.