home castoo
chapitre electronique
Electronique carte Yunshan HW622

Carte Yunshan HW622
1 relais sur wifi

octobre 2019

Découverte de la carte HW-622 (Esp-8266 1 relai) de Yunshan .

Intérêt du montage:

Construire une carte pour des besoins spécifiques, c'est bien mais long, nos amis chinois ont créé une petite carte avec une alim, un Esp-8266, un relai pour seulement quelques euros, du coup, il devient difficile pour l'amateur de faire plus compact et moins cher ! Nous verrons que la carte n'est pas parfaite mais c'est une bonne base pour de nombreux montages et pour un prix imbattable !!!

Les étapes de la découverte


Carte Yunshan HW622


Une petite carte
de 6,5 cm sur 4.


Le premier défaut de cette carte c'est qu'il n'y a aucune inscription pour identifier les entrées et les sorties, c'est un peu déstabilisant !

Il faut savoir que la sortie du relai est raccordée à Gpio4 et que l'entrée est sur Gpio5.

Ces informations sont utiles pour la programmation...

Carte Yunshan HW622


Pour programmer la carte un petit adaptateur USB / TTL est nècessaire. On en trouve entre autre sur ebay pour 2 ou 3 euros. Le branchement est on ne peut plus simple 3 fils la masse un fil d'emission et un de reception. Relier l'émission de la carte sur la reception de l'adaptateur. L'interface arduino reconnait très facilement ce type d'adaptateur si problème de drivers je donne quelques astuce dans le chapitre informatique -> astuces en vrac...
L'adaptateur n'est bien sur uniquement nècessaire qu'au moment de la programmation du module, ensuite vous l'enlevez du montage.
Pour la programmation de la carte il faut également positionner le strap sur la carte et faire une coupure de l'alim pour simuler un reset. En mode exécution le strap doit être enlevé.

Carte Yunshan HW622

L'adaptateur USB <=> TTL.


Pour la programmation de la carte avec le logiciel Arduino (j'ai utilisé la version 1.8.1 sous Windows) il faut repérer la sortie série utilisée (com5 pour moi) par l'adaptateur USB/TTL, régler la vitesse (115200 pour moi) et le type de carte (WeMos D1R1 pour moi).
Voir tous les paramètres sur la photo ci-dessous.


Carte Yunshan HW622


Une fois l'exemple de programme que je vous donne plus bas rentré dans l'interface de l'Arduino vous pouvez lancer la programmation de la carte.
En cas de problème vérifier la présence du strap, l'orientation des fils de l'interface série et le parametrage de la carte dans le programme Arduino.
Comme on le voit ci-dessous une fois le code compilé, l'executable est transféré vers la carte cible (les lignes de petits points).
Une fois le transfert terminé, on enlève l'alimentation, on enlève le strap, on débranche l'interface série. Pour vérifier le fonctionnement vous devez raccorder par exemple une led sur les contacts du relai (on part du + de l'alim on va sur le + de la led on passe par une resistance de quelques K, on va vers le contact du relais on ressort du contact du relai et on termine sur la masse.) pas besoin de schéma voir eventuellement sur les photos.


Carte Yunshan HW622


Il faut également reperer sur votre box l'adresse du circuit, dans mon cas 192.168.1.54
il faut donc se connecter à cette adresse avec un browser internet et voir l'affichage. Si vous avez des difficultés pour repèrer l'adresse utilisée vous pouvez ajouter dans le programme un renvoi de l'adresse ip utilisée sur l'interface série, je ne documente pas ici cette possibilité elle est expliquée dans des centaines de sites.


Carte Yunshan HW622


On peut voir sur la photo ci-dessous le câblage de la led pour tester le relai. On voit également le câblage necèssaire pour tester l'entrée du circuit.

En effet j'en ai un peu marre des circuits qui ne se commande que depuis le wifi certes au début c'est amusant de sortir son mobile pour allumer tel ou tel chose mais à la longue on se dit parfois si j'avais un simple bouton cela pourrait être aussi pratique dans certains cas, alors dans ce montage je souhaite ajouter une commande manuelle pour mon relai !
L'ESP est avant tout un microprocesseur et même si le wifi est HS il gèrera le bouton comme si de rien n'êtait, c'est donc une sécurité pour certains montages.


Carte Yunshan HW622

Alors la sortie du relai fonctionne du premier coup SUPER !

Mais l'entrée NON, rien ne se passe !.

J'ai une deuxieme carte, le résultat est le même, il y a un problème et pas de schéma de disponible sur le site ou j'ai acheté les cartes !.

Carte Yunshan HW622

J'ai fini par trouver sur internet un site qui donne le schéma de la carte (je vous donne ce site en bas d'article). On trouve également dans les commentaires de l'article du site qu'il y a deux problèmes sur la carte : La masse de sortie n'est pas connectée il faut donc faire un strap comme sur la photo et dans certains cas la diode D5 est montée à l'envers il faut donc l'inverser. Un petit coup de fer à souder précautionneux fait l'affaire !



Une fois ces deux modifications effectuées, tout rentre dans l'ordre.

Carte Yunshan HW622



La led bleue sur la carte permet de visualiser l'état de l'entrée.
La led rouge de la carte indique l'état du relai.

Carte Yunshan HW622



Dans le code j'ai ajouté une petite tempo pour éviter les rebonds du bouton, pour la prise en compte d'un changement d'état il est donc necessaire d'appuyer au moins une petite seconde.

Carte Yunshan HW622



Le code (simpliste) que je vous propose, il permet de commander le relai depuis une interface internet ou depuis le bouton.


		// esp_2_rel.ino (Test de la carte ESP8266 1 relai)
		// Attention sur ma carte la diode D5 était inversée et il faut relier la masse alim à la masse du circuit d'entrée
		#include "ESP8266WiFi.h"
		#include "ESP8266WebServer.h"
		const char* box = "****nom de votre box sur le réseau*****"; // Nom de la box
		const char* m_passe = "******passe de la box*******"; // Passe WiFi
		ESP8266WebServer server(80);
		#define RELAI 4	// relai
		#define BOUTON 5	// relai
		int etatrelai;  // Etat du relai

		String page_fab(){
			String page = "<html lang=fr-FR><head>";
			page += "<title>Carte ESP 8266 1 relai.</title>";
			page += "<style> body { background-color: #fffff; font-family: Arial, Helvetica, Sans-Serif; Color: #000088; }</style>";
			page += "</head><body>";
			page += "<h3>- ETAT DU RELAI ESP8266 -</h3>";
			page += "<ul><form action='/' method='POST'>";
			page += "<li>Etablir le relai sur <INPUT type='submit' name='REL' value='1'></li>";
			page += "<li>Etablir le relai sur <INPUT type='submit' name='REL' value='0'></li>";
			page += "<li>Etat du Relais : "; page += etatrelai == 0?" OFF":" ON"; page += "</li>";
			page += "</form></ul>";
			page += "</body></html>";
			return page; 
		}

		void handleRoot(){ 
		  if ( server.hasArg("REL") ) { handleSubmit(); } else { server.send ( 200, "text/html", page_fab() ); }  
		}

		void handleSubmit() {
		  String val_arg;
		  val_arg = server.arg("REL");
		  if      ( val_arg == "1" ) {digitalWrite(RELAI, HIGH); etatrelai = 1; server.send(200, "text/html", page_fab());} 
		  else if ( val_arg == "0" ) {digitalWrite(RELAI, LOW);  etatrelai = 0; server.send(200, "text/html", page_fab());}
		}

		void setup(void){
			pinMode(RELAI, OUTPUT); digitalWrite(RELAI, 0); etatrelai = 0;
			pinMode(BOUTON, INPUT_PULLUP);
			WiFi.begin(box, m_passe); // Cnx WiFi
			while (WiFi.status() != WL_CONNECTED) { delay(500);	} // Attente cnx ok
			server.on ( "/", handleRoot ); // Page d'accueil
			server.begin();
		}

		void loop(){
			server.handleClient(); // Lecture du serveur
			if ( digitalRead( BOUTON ) == HIGH ) { // Lecture du bouton pour chang. d'état manuel sans acces par le web
				delay( 400 );	// Pour eviter les rebonds
				if ( digitalRead( BOUTON ) == HIGH )
					if(etatrelai == 0){	digitalWrite(RELAI, HIGH); etatrelai = 1;
					}else{  			digitalWrite(RELAI, LOW); etatrelai = 0;}
					server.send(200, "text/html", page_fab());
			}
		}
	




J'espere que cette petite présentation vous aura donné l'envie de tester cette petite carte bien pratique et pas cher.
Le relai a un pouvoir de coupure de 10A sous 250volts alors cela permet d'imaginer de nombreuses utilisations même si il ne faut pas prendre trop de risque 5 ampères c'est déjà super ! En tout cas le circuit imprimé est même découpé pour éviter les ponts que pourrait provoquer une forte intensité !


Voici le lien du site qui m'a aidé à utiliser cette carte : Site avec schéma et plein d'infos sur carte


accueil electronique

Bricolage Robotique Informatique Peinture Voyage
Téléc. portail Le robot "mécano" Astuces informatique Henri Bertrou Auvergne
Bat. Iphone 6S Le robot "solaire" Réseau couche app. Jean-Michel Castille Floride
Robot piscine Servo et IR" Réseau Les couches New York
Xiaomi M365 Le robot "thymio" Réseaux Outils L'Ouest américain
Mac Mini Le robot "Rovio" Unités grandeur inf. L'Ile Maurice
Putty SSH Windows L'Italie / Venise
Bases Raspberry Tunisie
Termius IPhone/IPad Grece
Le vieux ZX 81
...
Navigation La Rochelle CNC / Imp3D Electronique Programmation
Rencontre dauphins Les Minimes Construction CNC Alim. TPL 5110 Doc. programme
Analyse NMEA 0183 Le Vieux port CNC du commerce Carte ESP8266 Indent programme
graph. NMEA 0183 L'Ile de Ré Martyr CNC ESP8266 1 relai Prog. objet
Analyse trames AIS A visiter Réa. imp. 3D ESP8266 Alarme Prog. procédurale
Analyse AIS TCP-IP Cura impression 3D ESP8266 MQTT
Sortie en ketch Plateau CR10 ESP8266 Temp.
Echange GPS C80 Anémomètre.
HP Sun-Odyssey CNC / 3D en vrac MCP9808 Librairie
LCD yanmar Saisie Oled
Testeur nmea esp1 i2c