
Tabla de contenido:
2025 Autor: John Day | [email protected]. Última modificación: 2025-01-23 14:39

Ordené una buena placa de relés pero no había instrucciones ArduinoIDE, solo Raspberry Pi e.o. Descubrí cómo usarlo con Arduino y quiero compartirlo para que puedas ahorrar ese tiempo.
Ejemplo original de RaspberryPi:
wiki.52pi.com/index.php/DockerPi_4_Channel_Relay_SKU:_EP-0099
Lo bueno es que puedes apilar hasta 4 tablas. Entonces puedes usar max. 4 x 4 = 16 relés en un bus I2C.
También hay algunas desventajas:
- pequeñas terminaciones, no caben cable de 1 mm2
- no puede cambiar el cableado de los conectores inferiores cuando están apilados juntos
Pero sigue siendo útil la tabla.
Paso 1: cableado



En las imágenes se puede ver el cableado.
El 52Pi necesita tanto 5V (para relés) como 3.3V (chip I2C).
Entonces se necesitan 5 cables:
- GND a GND
- 5 V hasta 5 V
- 3.3 V a 3.3 V
- SLA a SLA
- SCL a SCL
Si usa un Arduino UNO u otro 5 V, tenga cuidado con el máximo de 3, 6 V del controlador I2C. ¡Utilice resistencias o para bajar los 5 V de los PIN de Arduino!
Paso 2: Ejemplo de código simple:
/ * Ejemplo de Arduino IDE (ESP) para la placa de relés I2C.
* Por Laurens Korste www.boktorrobotica.nl * uso gratuito. * / #include // para comunicación I2C void setup () {// esta regla no es para UNO o placas con pines I2C dedicados Wire.begin (D1, D2); // une el bus i2c con SDA = D1 y SCL = D2 para NodeMCU} void loop () {Wire.beginTransmission (0x10); / * comienza a transmitir a la dirección I2C 10 (para cambiar también a 11, 12 o 13) * / Wire.escribir (0x01); / * relé de elección 1 (de 4) en la placa 10 (también 0x02, 0x03, 0x04) * / Wire.write (0xFF); / * poner el relé 1 en la placa 10 en ON. todos los números> 0 lo harán * / Wire.endTransmission (); / * dejar de transmitir * / retraso (3000); Wire.beginTransmission (0x10); / * * / Wire.write (0x01); Wire.write (0x00); / * establecer el relé 1 en la placa 10 en APAGADO * / Wire.endTransmission (); / * dejar de transmitir * / retraso (3000); }
Paso 3: Código de prueba de cuatro relés
/ * boceto de Laurens Korste para Arduino (ESP / NodeMCU)
* Pero otras placas también lo harán * www.boktorrobotica.nl * En esta tecla se activarán y desactivarán todos los 4 relés * / #include // para comunicación I2C void setup () {Serial.begin (115200); // comenzar serial para depuración (9600 para UNO) Wire.begin (D1, D2); // une el bus i2c con SDA = D1 y SCL = D2 de NodeMCU sin necesidad de UNO} void loop () {for (int i = 1; i <= 4; i ++) {Wire.beginTransmission (0x10); // comienza con la dirección del dispositivo Wire.write (i); // elige el relais Wire.write (0xFF); // envía el código "on" FF (cada conteo de 01 a FF servirá) Wire.endTransmission (); // deja de transmitir Serial.write (i); Serial.println ("aan"); retraso (1000); Wire.beginTransmission (0x10); // comienza con la dirección del dispositivo Wire.write (i); Wire.write (0x00); // Envía el código "off" Wire.endTransmission (); // deja de transmitir Serial.write (i); Serial.println ("uit"); retraso (1000); }}
Paso 4: Mi proyecto


He escrito un código para operar mis 3 persianas. Esto se puede hacer con interruptores pero también con la aplicación BLYNK, ver imagen.
- Una pulsación corta empezará a mover un obturador (o lo detendrá cuando esté en movimiento).
- Una pulsación larga y las tres contraventanas se abren (o se cierran o se detienen).
- Doble presión: las contraventanas pasan a la posición "agujeros".
Como se puede ver en la imagen, también integré un sensor de temperatura y luz.
Ahora todo en una buena placa base y perfectamente en una caja.
Paso 5: Llame a un relé con un comando
Es útil si solo necesita un comando para activar o desactivar un relé. A continuación se muestra una función que puede hacer esto (con byte bajo y byte alto).
/ * boceto de Laurens Korste para Arduino (ESP / NodeMCU) con placa de relés I2C * Pero otras placas también lo harán * href = https://www.boktorrobotica.nl; www.boktorrobotica.nl * https://wiki.52pi.com / index.php / DockerPi_4_Channel_Relay_SKU: _EP-0099; www.boktorrobotica.nl * En este esquema el relé se activará con una llamada; * // #include // para comunicación I2C // Declaración de relés.4 PCB por PCB 4 relés posibles. En este esquema solo se fusionan dos PCB // PCB y relés para que puedan ser llamados con un comando const byte PutOn = 0xFF; // comando para encender const byte PutOff = 0x00; // comando para apagar const word Relay1bord1 = 0x1001; // puedes cambiar los nombres por ejemplo Relay1 const word Relay2bord1 = 0x1002; // puedes cambiar los nombres por ejemplo Relay2 const word Relay3bord1 = 0x1003; // puedes cambiar los nombres por ejemplo Relay3 const word Relay4bord1 = 0x1004; // puedes cambiar los nombres por ejemplo Relay4 const word Relay1bord2 = 0x1101; // puedes cambiar los nombres por ejemplo Relay5 const w ord Relay2bord2 = 0x1102; // puede cambiar los nombres por ejemplo Relay6 const word Relay3bord2 = 0x1103; // puede cambiar los nombres por ejemplo Relay7 const word Relay4bord2 = 0x1104; // puede cambiar los nombres por ejemplo Relay8 const word Relay1bord3 = 0x1201; // puede cambiar los nombres por ejemplo Relay9 const word Relay2bord4 = 0x1302; // puede cambiar los nombres por ejemplo Relay14 void setup () {Serial.begin (115200); // comenzar serial para depuración (9600 para UNO) Wire.begin (D1, D2); // une el bus i2c con SDA = D1 y SCL = D2 de NodeMCU sin necesidad de UNO} void loop () {// para cambiar el relé 4 en PCB 2 en RelayActie (Relay4bord2, PutOn); retraso (1000); // para conmutar el relé 4 en PCB 2 off RelayActie (Relay4bord2, PutOff); retraso (1000); } void RelayActie (word Relay, byte OnOrOff) {Wire.beginTransmission (highByte (Relay)); Wire.write (lowByte (relé)); Wire.write (OnOrOff); Wire.endTransmission (); }
Recomendado:
Pantalla LCD I2C / IIC - Use una pantalla LCD SPI para la pantalla LCD I2C usando el módulo SPI a IIC con Arduino: 5 pasos

Pantalla LCD I2C / IIC | Use una pantalla LCD SPI para la pantalla LCD I2C usando el módulo SPI a IIC con Arduino: Hola a todos, ya que una pantalla LCD SPI 1602 normal tiene demasiados cables para conectar, por lo que es muy difícil conectarlo con arduino, pero hay un módulo disponible en el mercado que puede Convierta la pantalla SPI en la pantalla IIC, por lo que solo necesita conectar 4 cables
Pantalla LCD I2C / IIC - Convierta una pantalla LCD SPI en una pantalla LCD I2C: 5 pasos

Pantalla LCD I2C / IIC | Convierta una pantalla LCD SPI en la pantalla LCD I2C: el uso de la pantalla lcd spi necesita demasiadas conexiones, lo cual es realmente difícil de hacer, así que encontré un módulo que puede convertir la pantalla lcd i2c en la pantalla lcd spi, así que comencemos
Introducción a Esp 8266 Esp-01 con Arduino IDE - Instalación de placas Esp en Arduino Ide y programación Esp: 4 pasos

Introducción a Esp 8266 Esp-01 con Arduino IDE | Instalación de placas Esp en Arduino Ide y programación de Esp: En este instructables aprenderemos cómo instalar placas esp8266 en Arduino IDE y cómo programar esp-01 y cargar código en él Dado que las placas esp son tan populares, así que pensé en corregir un instructivo para esto y la mayoría de las personas enfrentan problemas
LCD I2C en NodeMCU V2 con Arduino IDE: 3 pasos

I2C LCD en NodeMCU V2 con Arduino IDE: en este instructivo rápido, le mostraré cómo almorzar LCD con I2C Serial Adapter en NodeMCU v2 usando ArduinoIDE y bibliotecas disponibles
Adaptador I2c LCD de caracteres (ejemplo de conexión I2c): 12 pasos (con imágenes)

Adaptador I2c LCD de caracteres (ejemplo de conexión I2c): estoy haciendo un esquema de conexión para un adaptador i2c de pantalla de caracteres. Verifique las actualizaciones en mi sitio. Ahora agrego también un esquema de conexión de cableado para usar la biblioteca original, no mi bifurcada. para las pantallas LCD de caracteres, proyección bifurcada