Impossible de faire fonctionner un relais

Malheureusement ça ne fonctionne pas.
Pourtant sur une UNO avec le croquis blink et D13 LED_BUILTIN ça fonctionne parfaitement :cry:

Merci.

Binjour

Le problème ne vient pas du relais mais de l'électronique qui , sur le module, est autour : non conçue pour être pilotée avec un signal [0 ; 3,3V] Ton mondule à relais est concu pour un signal dont l'état haut monte vers 5V

Voilà un petit module à relais adapté aux cartes WEMOS/LOLIN D1 Mini

Sa documentation , schéma inclus est disponible là :
https://www.wemos.cc/en/latest/d1_mini_shield/relay.html

A vérifier.

Si c'est bien ça.

D'après la doc du site Wemos (autant prendre à la source !!) D7 correspond à GPIO13
voir ici : https://www.wemos.cc/en/latest/d1/d1_mini.html

Merci, je commande dès maintenant.
Bonne journée.

WEMOS (renommée LOLIN) produit une bonne petite série de modules , en majorité enfichables sur les cartes D1 Mini
https://www.wemos.cc/en/latest/d1_mini_shield/index.html

Au dos du module à relais on voit une possibilité de choix de GPIO de commande (1 parmi 7)

Pour éviter les très nombreuses copies je préfère commander à leur boutique chez Aliexpress
https://lolin.aliexpress.com/store/1331105

Merci.

Donc le module est inadapté à une commande en 3.3V.

C'est bien ça, merci hbachetti et encore merci aussi à al1fch.
Vous avez répondu à toutes mes questions.
J'ai été sur la boutique LOLIN et il y a beaucoup d'articles qui m’intéressent.

Bon AM.

on peut aussi mettre un petit Adaptateur de niveau bidirectionnel (on en trouve des tout prêts pour signaux I2C) ➜ chercher "logic level shifter"

Bonjour JML,

Par exemple si j'achète ce module :
Logic Level Shifter

Il me suffit de brancher LV1 sur D7 de ma WEMOS et HV1 sur IN du relais ?
Pour passer de 3.3 à 5v, peut-être faut-il que je branche du 5V sur HV et GND sur GNG dans la rangée du haut ?

Du coup comme j'en est acheté une dizaine je vais pouvoir les utiliser.

oui vous branchez un côté au 5V (le H), l'autre au 3.3V (le L) et les GND et ce qui rentre d'un côté ressort de l'autre avec la tension modifiée. ça fonctionne dans les 2 sens

Merci JML.

J'avais un problème similaire et je l'ai reglé en mettant -255 au lieu de LOW. Je ne sais pas si c'est la bonne chose à faire mais ça a fonctionné.

la fonction digitalWrite a cette signature: void digitalWrite(uint8_t pin, uint8_t val)

-255 est représenté par le compilateur par 0xFF01 et comme le second argument est un entier non signé sur 8 bits, ce qui sera passé à la fonction c'est l'octet de poids faible soit 0x01 ➜ vous auriez mis HIGH que c'était pareil...

Le code source aussi montre qu'ils font ceci pour activer ou pas la pin:

	if (val == LOW) {
		*out &= ~bit;
	} else {
		*out |= bit;
	}

donc si on passe LOW (0) ça met la pin à 0V et toute autre valeur met la pin à Vcc

Oupssssssssssss
Quelle bêtise de ma part : sur une uno le croquis blink fonctionne parfaitement sur les autres entrées-sorties digitales avec ce relais et c'est normal car c'est du 5V avec HIGH contrairement à la wemos où c'est du 3.3V.

:scream::grin::innocent:


Effectivement, après un essai sur ESP32, ces relais collent systématiquement, que la commande soit à 0V ou 3.3V.

Par contre ceux-ci fonctionnent parfaitement :


VCC peut être de 5V ou 3.3V. Alimenter les bobines des relais en 5V entre GND et JD-VCC.

Ces modules relais sont récents, contrairement au premier. Je pense que les fabricants tiennent compte à l'heure actuelle des ESP8266 et ESP32.

Merci hbachetti.
Donc vous aviez bien raison sur le voltage. Tout le problème était là.

Merci à tous.