Taula de continguts:
- Pas 1: cablejat
- Pas 2: Exemple de codi simple:
- Pas 3: Codi de prova de quatre relleus
- Pas 4: El meu projecte
- Pas 5: Truqueu a un relé amb una sola ordre
Vídeo: I2C Relay Met Arduino IDE: 5 passos
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:10
Demano un bon relé, però no hi havia instruccions ArduinoIDE, només Raspberry Pi e.o. Esbrino com fer-lo servir amb Arduino i vull compartir-lo perquè pugueu estalviar temps.
Exemple original de RaspberryPi:
wiki.52pi.com/index.php/DockerPi_4_Channel_Relay_SKU:_EP-0099
Una cosa interessant és que podeu apilar fins a 4 taules. Per tant, podeu utilitzar el màxim 4 x 4 = 16 relés en un bus I2C.
També hi ha alguns inconvenients:
- petites termines, no caben filferro d'1 mm2
- no podeu canviar el cablejat dels connectors inferiors quan estan apilats
Però encara és útil la junta.
Pas 1: cablejat
A les imatges es pot veure el cablejat.
El 52Pi necessita 5V (per a relés) i 3,3V (xip I2C).
Per tant, es necessiten 5 cables:
- GND a GND
- 5 V a 5 V
- 3,3 V a 3,3 V
- SLA a SLA
- SCL a SCL
Si utilitzeu un Arduino UNO o un altre de 5 V, consulteu el màxim de 3, 6 V del controlador I2C. Utilitzeu resistències o bé per baixar els 5 V dels PIN d'Arduino.
Pas 2: Exemple de codi simple:
/ * Exemple Arduino IDE (ESP) per a placa de relé I2C.
* Per Laurens Korste www.boktorrobotica.nl * d'ús gratuït. * / #include // for I2C communication void setup () {// aquesta regla no és per a UNO ni per a plaques amb pins I2C dedicats Wire.begin (D1, D2); // uniu el bus i2c amb SDA = D1 i SCL = D2 per a NodeMCU} bucle buit () {Wire.beginTransmission (0x10); / * comenceu a transmetre a l’adreça I2C 10 (per canviar també a 11, 12 o 13) * / Wire.write (0x01); / * choice relais 1 (de 4) al tauler 10 (també 0x02, 0x03, 0x04) * / Wire.write (0xFF); / * Estableix els relais 1 del tauler 10 a ON. tots els números> 0 ho faran * / Wire.endTransmission (); / * deixar de transmetre * / delay (3000); Wire.beginTransmission (0x10); / * * / Wire.write (0x01); Wire.write (0x00); / * estableix els relais 1 al tauler 10 com a OFF * / Wire.endTransmission (); / * deixar de transmetre * / delay (3000); }
Pas 3: Codi de prova de quatre relleus
/ * esbós de Laurens Korste per Arduino (ESP / NodeMCU)
* Però altres taulers també ho faran * www.boktorrobotica.nl * En aquest manual tots els 4 relés s’activaran desactivats * / #include // per a la configuració del buit de comunicació I2C () {Serial.begin (115200); // comença la sèrie per a la depuració (9600 per a UNO) Wire.begin (D1, D2); // uniu el bus i2c amb SDA = D1 i SCL = D2 de NodeMCU sense necessitat de UNO} bucle buit () {per (int i = 1; i <= 4; i ++) {Wire.beginTransmission (0x10); // Comenceu amb l'adreça del dispositiu Wire.write (i); // tria el relé Wire.write (0xFF); // envieu el codi "on" FF (cada recompte de 01 a FF farà) Wire.endTransmission (); // deixar de transmetre Serial.write (i); Serial.println ("aan"); retard (1000); Wire.beginTransmission (0x10); // Comenceu amb l'adreça del dispositiu Wire.write (i); Wire.write (0x00); // Envieu el codi "off" Wire.endTransmission (); // deixar de transmetre Serial.write (i); Serial.println ("uit"); retard (1000); }}
Pas 4: El meu projecte
He escrit un codi per fer funcionar les 3 persianes. Això es pot fer amb interruptors, però també amb l’aplicació BLYNK, Veure imatge.
- Si premeu breument, es començarà a moure un obturador (o s’aturarà quan es mogui).
- Una pulsació llarga i les tres persianes obertes (o tancades o aturades).
- Doble pressió: les persianes van a la posició de "forats".
Com es pot veure a la imatge, també he integrat un sensor de temperatura i llum.
Ara tot en una bona placa base i perfectament en una caixa.
Pas 5: Truqueu a un relé amb una sola ordre
És útil si només necessiteu una ordre per activar o desactivar un relé. A continuació es mostra una funció que pot fer-ho (amb lowbyte i highbyte).
/ * esbós de Laurens Korste per Arduino (ESP / NodeMCU) amb placa de relés I2C * Però altres taules també ho faran * 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 aquest esbós, el relé s’activarà mitjançant una trucada; * // #include // per a comunicació I2C // Declaració de relés. 4 relés possibles. En aquest esbós només es combinen dos PCB // PCB i relés de manera que es poden cridar amb un ordre const byte PutOn = 0xFF; // ordre per activar const byte PutOff = 0x00; // comand per apagar paraula const Relay1bord1 = 0x1001; // podeu provar els noms per exemple Relay1 const paraula Relay2bord1 = 0x1002; // podeu provar els noms per exemple Relay2 paraula const Relay3bord1 = 0x1003; // podeu provar els noms per exemple Relay3 const paraula Relay4bord1 = 0x1004; // podeu provar els noms per exemple Relay4 const word Relay1bord2 = 0x1101; // podeu provar els noms per exemple Relay5 const w ord Relay2bord2 = 0x1102; // podeu provar els noms amb l'exemple Relay6 const paraula Relay3bord2 = 0x1103; // podeu provar els noms amb l'exemple Relay7 const paraula Relay4bord2 = 0x1104; // podeu provar els noms amb l'exemple Relay8 const paraula Relay1bord3 = 0x1201; // podeu provar els noms amb l'exemple Relay9 const paraula Relay2bord4 = 0x1302; // podeu accedir als noms amb l'exemple Relay14 void setup () {Serial.begin (115200); // comença la sèrie per a la depuració (9600 per a UNO) Wire.begin (D1, D2); // uniu el bus i2c amb SDA = D1 i SCL = D2 de NodeMCU sense necessitat de UNO} bucle buit () {// per canviar el relé 4 del PCB 2 a RelayActie (Relay4bord2, PutOn); retard (1000); // per canviar el relé 4 del PCB 2 desactivat de RelayActie (Relay4bord2, PutOff); retard (1000); } void RelayActie (paraula Relay, byte OnOrOff) {Wire.beginTransmission (highByte (Relay)); Wire.write (lowByte (relé)); Wire.write (OnOrOff); Wire.endTransmission (); }
Recomanat:
Pantalla LCD I2C / IIC - Utilitzeu un LCD SPI a la pantalla LCD I2C mitjançant el mòdul SPI a IIC amb Arduino: 5 passos
Pantalla LCD I2C / IIC | Utilitzeu un LCD SPI a la pantalla LCD I2C Utilitzant el mòdul SPI a IIC amb Arduino: Hola, ja que un SPI LCD 1602 normal té massa cables per connectar-se, de manera que és molt difícil connectar-lo amb arduino, però hi ha un mòdul disponible al mercat. converteix la pantalla SPI en pantalla IIC, de manera que només heu de connectar 4 cables
Pantalla LCD I2C / IIC - Convertiu un LCD SPI a pantalla LCD I2C: 5 passos
Pantalla LCD I2C / IIC | Converteix una pantalla LCD SPI a la pantalla LCD I2C: fer servir una pantalla LCD SPI necessita massa connexions, cosa que és molt difícil de fer, així que he trobat un mòdul que pot convertir el LCD i2c al LCD SPI, així que comencem
Introducció a Esp 8266 Esp-01 amb Arduino IDE - Instal·lació de taules Esp a Arduino Ide i programació Esp: 4 passos
Introducció a Esp 8266 Esp-01 amb Arduino IDE | Instal·lació de taules Esp a Arduino Ide i programació Esp: En aquest instructables aprendrem a instal·lar taules esp8266 a Arduino IDE i a programar esp-01 i penjar-hi codi. Com que les taules esp són tan populars, vaig pensar a corregir un instructablesfor això i la majoria de la gent té problemes
LCD I2C a NodeMCU V2 amb IDE Arduino: 3 passos
LCD I2C a NodeMCU V2 amb Arduino IDE: en aquest instructiu ràpid us mostraré com dinar LCD amb adaptador de sèrie I2C a NodeMCU v2 mitjançant ArduinoIDE i les biblioteques disponibles
IOT123 - I2C 2CH RELAY BRICK: 5 passos (amb imatges)
IOT123 - I2C 2CH RELAY BRICK: Els IOT123 BRICKS són unitats modulars de bricolatge que es poden combinar amb altres IOT123 BRICKS, per afegir funcionalitat a un node o un dispositiu portàtil. Es basen en protobardes de doble cara quadrades de polzades amb forats interconnectats.Un nombre d’aquests MAons