Table des matières:
- Étape 1: câblage
- Étape 2: Exemple de code simple:
- Étape 3: Code de test à quatre relais
- Étape 4: Mon projet
- Étape 5: Appeler un relais avec une seule commande
Vidéo: Relais I2C avec IDE Arduino : 5 étapes
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:05
Je commande une belle carte relais mais il n'y avait pas d'instruction ArduinoIDE, juste Raspberry Pi e.o. Je découvre comment l'utiliser avec Arduino et je veux le partager afin que vous puissiez gagner du temps.
Exemple original de RaspberryPi:
wiki.52pi.com/index.php/DockerPi_4_Channel_Relay_SKU:_EP-0099
La bonne chose est que vous pouvez empiler jusqu'à 4 planches. Vous pouvez donc utiliser max. 4 x 4 = 16 relais sur un bus I2C.
Il y a aussi quelques inconvénients:
- petites terminaisons, ne conviennent pas à un fil de 1 mm2
- vous ne pouvez pas changer le câblage des connecteurs inférieurs lorsqu'ils sont empilés ensemble
Mais la planche reste pratique.
Étape 1: câblage
Sur les photos, vous pouvez voir le câblage.
Le 52Pi a besoin à la fois de 5V (pour les relais) et de 3,3V (puce I2C).
Donc 5 fils nécessaires:
- GND à GND
- 5 V à 5 V
- 3,3 V à 3,3 V
- SLA à SLA
- SCL à SCL
Si vous utilisez un Arduino UNO ou autre 5 V attention aux max 3, 6 V du contrôleur I2C ! Utilisez des résistances ou bien pour abaisser le 5 V des PIN's Arduino !
Étape 2: Exemple de code simple:
/* Exemple Arduino IDE (ESP) pour la carte relais I2C.
* Par Laurens Korste www.boktorrobotica.nl * libre d'utilisation. */ #include // pour la configuration de l'annulation de la communication I2C () { // cette règle n'est pas destinée à UNO ou aux cartes avec des broches I2C dédiées Wire.begin (D1, D2); // rejoindre le bus i2c avec SDA=D1 et SCL=D2 pour NodeMCU } void loop() { Wire.beginTransmission(0x10);/* commencer à transmettre à l'adresse I2C 10 (pour changer également en 11, 12 ou 13) */ Wire.write(0x01); /* choix relais 1 (sur 4) sur la carte 10 (aussi 0x02, 0x03, 0x04) */ Wire.write(0xFF); /* positionne le relais 1 de la carte 10 sur ON. tous les nombres > 0 le feront */ Wire.endTransmission(); /* arrêter la transmission */ délai(3000); Wire.beginTransmission (0x10); /* */ Wire.write(0x01); Wire.write(0x00); /* met le relais 1 de la carte 10 sur OFF */ Wire.endTransmission(); /* arrêter la transmission */ délai(3000); }
Étape 3: Code de test à quatre relais
/* sketch par Laurens Korste pour Arduino (ESP / NodeMCU)
* Mais d'autres cartes feront aussi * www.boktorrobotica.nl * Dans ce schéma, les 4 relais seront activés et désactivés */ #include // pour la communication I2C void setup() { Serial.begin(115200); // commence la série pour le débogage (9600 pour UNO) Wire.begin(D1, D2); // rejoindre le bus i2c avec SDA=D1 et SCL=D2 de NodeMCU pas besoin de UNO } void loop() { for (int i=1; i<=4; i++){ Wire.beginTransmission(0x10); // commence par l'adresse du périphérique Wire.write(i); // choix du relais Wire.write(0xFF); // envoyer le code "on" FF (chaque compte de 01 à FF fera l'affaire) Wire.endTransmission(); // arrête de transmettre Serial.write(i); Serial.println(" aan "); retard(1000); Wire.beginTransmission (0x10); // commence par l'adresse du périphérique Wire.write(i); Wire.write(0x00); // Envoie le code "off" Wire.endTransmission(); // arrête de transmettre Serial.write(i); Serial.println(" uit "); retard(1000); } }
Étape 4: Mon projet
J'ai écrit un code pour faire fonctionner mes 3 volets. Cela peut se faire avec des interrupteurs mais aussi avec l'application BLYNK, Voir image.
- Un appui court commencera à déplacer un obturateur (ou l'arrêtera lorsqu'il bouge).
- Un appui long et les trois volets s'ouvrent (ou se ferment ou s'arrêtent).
- Double pression: les volets passent en position "trous".
Comme on peut le voir sur la photo, j'ai également intégré un capteur de température et de luminosité.
Maintenant, tout sur un bon PCB de base et soigneusement dans une boîte.
Étape 5: Appeler un relais avec une seule commande
Elle est utile si vous n'avez besoin que d'une seule commande pour activer ou désactiver un relais. Vous trouverez ci-dessous une fonction qui peut le faire (avec lowbyte et highbyte).
/* sketch par Laurens Korste pour Arduino (ESP / NodeMCU) avec I2C relaysboard * Mais d'autres cartes feront aussi * href= https://www.boktorrobotica.nl; www.boktorrobotica.nl * https://wiki.52pi.com/index.php/DockerPi_4_Channel_Relay_SKU:_EP-0099; www.boktorrobotica.nl * Dans ce croquis, le relais sera activé par un appel; *// #include // pour la communication I2C // Déclaration des relais. 4 PCB par PCB 4 relais possibles. Dans ce schéma, seuls deux PCB // PCB et relais sont fusionnés afin qu'ils puissent être appelés avec une commande const byte PutOn=0xFF; //commande pour allumer const byte PutOff=0x00; //commande pour éteindre mot const Relay1bord1=0x1001; //vous pouvez hasarder les noms par exemple Relay1 mot const Relay2bord1=0x1002; //vous pouvez hasarder les noms par exemple Relay2 mot const Relay3bord1=0x1003; //vous pouvez hasarder les noms par exemple Relay3 mot const Relay4bord1=0x1004; //vous pouvez hasarder les noms par exemple Relay4 const word Relay1bord2=0x1101; //vous pouvez hasarder les noms par exemple Relay5 const w ord Relay2bord2=0x1102; //vous pouvez hasarder les noms par exemple Relay6 mot const Relay3bord2=0x1103; //vous pouvez hasarder les noms par exemple Relay7 mot const Relay4bord2=0x1104; //vous pouvez hasarder les noms par exemple Relay8 mot const Relay1bord3=0x1201; //vous pouvez hasarder les noms par exemple Relay9 mot const Relay2bord4=0x1302; //vous pouvez hasarder les noms par exemple Relay14 void setup() { Serial.begin(115200); // commence la série pour le débogage (9600 pour UNO) Wire.begin(D1, D2); // rejoindre le bus i2c avec SDA=D1 et SCL=D2 de NodeMCU pas besoin de UNO } void loop() { // pour basculer le relais 4 sur PCB 2 sur RelayActie(Relay4bord2, PutOn); retard(1000); // pour désactiver le relais 4 sur PCB 2 RelayActie(Relay4bord2, PutOff); retard(1000); } void RelayActie(mot Relay, byte OnOrOff){ Wire.beginTransmission (highByte(Relay)); Wire.write (lowByte(Relay)); Wire.write (OnOrOff); Wire.endTransmission(); }
Conseillé:
Interrupteur de relais RFID Arduino Uno, avec affichage I2C : 4 étapes
Interrupteur de relais RFID Arduino Uno, avec écran I2C : Bonjour, c'est mon premier projet, je m'appelle Oskar et j'ai 13 ans. Ce projet fonctionne avec un écran I2C, pas un écran normal
Interrupteur d'éclairage WiFi domotique avec ESP-01 et module de relais avec bouton poussoir: 7 étapes
Interrupteur d'éclairage WiFi domotique avec ESP-01 et module de relais avec bouton-poussoir: Ainsi, dans les instructions précédentes, nous avons programmé un ESP-01 avec Tasmota à l'aide d'un ESP Flasher et connecté l'ESP-01 à nos réseaux wifi. Maintenant, nous pouvons commencer à le programmer pour allumer/éteindre un interrupteur à l'aide du WiFi ou du bouton poussoir.Pour les travaux électriques
Comment créer une domotique basée sur l'IoT avec le relais de contrôle des capteurs NodeMCU : 14 étapes (avec photos)
Comment faire de la domotique basée sur l'IoT avec le relais de contrôle des capteurs NodeMCU : Dans ce projet basé sur l'IoT, j'ai réalisé la domotique avec le module de relais de contrôle Blynk et NodeMCU avec retour en temps réel. En mode manuel, ce module de relais peut être contrôlé à partir d'un mobile ou d'un smartphone et, commutateur manuel. En mode automatique, cette smar
Premiers pas avec Esp 8266 Esp-01 avec Arduino IDE - Installation de cartes Esp dans Arduino Ide et programmation Esp: 4 étapes
Premiers pas avec Esp 8266 Esp-01 avec Arduino IDE | Installation de cartes Esp dans Arduino Ide et programmation Esp: Dans ces instructables, nous allons apprendre comment installer des cartes esp8266 dans Arduino IDE et comment programmer esp-01 et y télécharger du code. Puisque les cartes esp sont si populaires, j'ai donc pensé à redresser un instructablesfor cela et la plupart des gens sont confrontés à un problème
IOT123 - BRIQUE DE RELAIS I2C 2CH : 5 étapes (avec photos)
IOT123 - I2C 2CH RELAY BRICK: Les IOT123 BRICKS sont des unités modulaires de bricolage qui peuvent être mélangées avec d'autres IOT123 BRICKS, pour ajouter des fonctionnalités à un nœud ou à un appareil portable. Ils sont basés sur des protoboards double face en pouces carrés avec des trous traversants interconnectés. Un certain nombre de ces BRICK