Índice:
- Etapa 1: Wirering
- Etapa 2: Exemplo de código simples:
- Etapa 3: Código de teste de quatro relés
- Etapa 4: Meu Projeto
- Etapa 5: chame um relé com um comando
Vídeo: I2C Relay Met Arduino IDE: 5 etapas
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:34
Encomendei um bom relayboard, mas não havia nenhuma instrução ArduinoIDE, apenas Raspberry Pi e.o. Descobri como usá-lo com o Arduino e quero compartilhá-lo para que você possa economizar tempo.
Exemplo original do RaspberryPi:
wiki.52pi.com/index.php/DockerPi_4_Channel_Relay_SKU:_EP-0099
O bom é que você pode empilhar até 4 placas. Portanto, você pode usar o máx. 4 x 4 = 16 relés em um barramento I2C.
Existem também alguns contras:
- pequenos terminais, não cabem fio de 1 mm2
- você não pode mudar a fiação dos conectores inferiores quando eles estão empilhados juntos
Mas ainda é prático.
Etapa 1: Wirering
Nas fotos você pode ver o wirering.
O 52Pi precisa de 5 V (para relés) e 3,3 V (chip I2C).
São necessários 5 fios:
- GND para GND
- 5 V a 5 V
- 3,3 V a 3,3 V
- SLA para SLA
- SCL para SCL
Se você usar um Arduino UNO ou outro 5 V, tome cuidado com no máximo 3, 6 V do controlador I2C! Use resistores ou então para diminuir os 5 V dos PIN do Arduino!
Etapa 2: Exemplo de código simples:
/ * Exemplo de Arduino IDE (ESP) para relaisboard I2C.
* Por Laurens Korste www.boktorrobotica.nl * de uso gratuito. * / #include // para comunicação I2C void setup () {// esta regra não é para UNO ou placas com pinos I2C dedicados Wire.begin (D1, D2); // junte o barramento i2c com SDA = D1 e SCL = D2 para NodeMCU} void loop () {Wire.beginTransmission (0x10); / * comece a transmitir para o endereço I2C 10 (para mudar também para 11, 12 ou 13) * / Wire.write (0x01); / * escolha relais 1 (de 4) na placa 10 (também 0x02, 0x03, 0x04) * / Wire.write (0xFF); / * definir relais 1 na placa 10 para ON. todos os números> 0 farão isso * / Wire.endTransmission (); / * parar de transmitir * / atraso (3000); Wire.beginTransmission (0x10); / * * / Wire.write (0x01); Wire.write (0x00); / * definir relais 1 na placa 10 para OFF * / Wire.endTransmission (); / * parar de transmitir * / atraso (3000); }
Etapa 3: Código de teste de quatro relés
/ * esboço de Laurens Korste para Arduino (ESP / NodeMCU)
* Mas outras placas também servirão * www.boktorrobotica.nl * Neste skeych al os 4 relés serão ativados e desativados * / #include // para comunicação I2C void setup () {Serial.begin (115200); // iniciar serial para depuração (9600 para UNO) Wire.begin (D1, D2); // junte o barramento i2c com SDA = D1 e SCL = D2 de NodeMCU sem necessidade de UNO} void loop () {for (int i = 1; i <= 4; i ++) {Wire.beginTransmission (0x10); // comece com o endereço do dispositivo Wire.write (i); // escolha o relais Wire.write (0xFF); // envie o código "on" FF (toda contagem de 01 a FF servirá) Wire.endTransmission (); // parar de transmitir Serial.write (i); Serial.println ("aan"); atraso (1000); Wire.beginTransmission (0x10); // comece com o endereço do dispositivo Wire.write (i); Wire.write (0x00); // Envie o código "off" Wire.endTransmission (); // parar de transmitir Serial.write (i); Serial.println ("uit"); atraso (1000); }}
Etapa 4: Meu Projeto
Eu escrevi um código para operar minhas 3 persianas. Isso pode ser feito com interruptores, mas também com o aplicativo BLYNK, veja a imagem.
- Um toque curto começará a mover um obturador (ou parará quando estiver em movimento).
- Um toque longo e todos os três obturadores abrem (ou fecham ou param).
- Pressão dupla: as venezianas vão para a posição "furos".
Como pode ser visto na foto, também integrei um sensor de temperatura e luz.
Agora tudo em uma boa base de PCB e ordenadamente em uma caixa.
Etapa 5: chame um relé com um comando
É útil se você só precisa de um comando para ativar ou desativar um relé. Abaixo está uma função que pode fazer isso (com byte baixo e byte alto).
/ * esboço de Laurens Korste para Arduino (ESP / NodeMCU) com retransmissor I2C * Mas outras placas também servem * href = https://www.boktorrobotica.nl; www.boktorrobotica.nl * https://wiki.52pi.com / index.php / DockerPi_4_Channel_Relay_SKU: _EP-0099; www.boktorrobotica.nl * Neste esboço, o relé será ativado por uma chamada; * // #include // para comunicação I2C // Relés declarados. 4 PCBs por PCB 4 relés possíveis. Neste esboço, apenas dois PCB // PCB e relés são mesclados para que possam ser chamados com um comando const byte PutOn = 0xFF; // comando para ligar const byte PutOff = 0x00; // comando para desligar const word Relay1bord1 = 0x1001; // você pode alterar os nomes por exemplo Relay1 const word Relay2bord1 = 0x1002; // você pode alterar os nomes por exemplo Relay2 const word Relay3bord1 = 0x1003; // você pode alterar os nomes por exemplo Relay3 const word Relay4bord1 = 0x1004; // você pode alterar os nomes por exemplo Relay4 const word Relay1bord2 = 0x1101; // você pode alterar os nomes por exemplo Relay5 const w ord Relay2bord2 = 0x1102; // você pode mudar os nomes por exemplo Relay6 const word Relay3bord2 = 0x1103; // você pode mudar os nomes por exemplo Relay7 const word Relay4bord2 = 0x1104; // você pode mudar os nomes por exemplo Relay8 const word Relay1bord3 = 0x1201; // você pode mudar os nomes por exemplo Relay9 const word Relay2bord4 = 0x1302; // você pode mudar os nomes por exemplo Relay14 void setup () {Serial.begin (115200); // iniciar serial para depuração (9600 para UNO) Wire.begin (D1, D2); // junte o barramento i2c com SDA = D1 e SCL = D2 de NodeMCU sem necessidade de UNO} void loop () {// para alternar o relé 4 no PCB 2 no RelayActie (Relay4bord2, PutOn); atraso (1000); // para desligar o relé 4 na PCB 2 RelayActie (Relay4bord2, PutOff); atraso (1000); } void RelayActie (word Relay, byte OnOrOff) {Wire.beginTransmission (highByte (Relay)); Wire.write (lowByte (Relay)); Wire.write (OnOrOff); Wire.endTransmission (); }
Recomendado:
Visor LCD I2C / IIC - Use um LCD SPI para o visor LCD I2C Usando o módulo SPI para IIC com Arduino: 5 etapas
Visor LCD I2C / IIC | Use um LCD SPI para o Display LCD I2C Usando o Módulo SPI para IIC com Arduino: Oi pessoal, já que um LCD SPI 1602 normal tem muitos fios para conectar, então é muito difícil fazer a interface com o arduino, mas há um módulo disponível no mercado que pode converter a exibição SPI em exibição IIC, então você precisa conectar apenas 4 fios
Visor LCD I2C / IIC - Converter um SPI LCD para o display I2C LCD: 5 etapas
Visor LCD I2C / IIC | Converter um LCD SPI para o display LCD I2C: usar o display LCD spi precisa de muitas conexões para fazer, o que é realmente difícil de fazer, então encontrei um módulo que pode converter o LCD i2c para o LCD spi, então vamos começar
I2C LCD em NodeMCU V2 com Arduino IDE: 3 etapas
I2C LCD em NodeMCU V2 com Arduino IDE: Neste guia rápido, mostrarei como usar LCD com I2C Serial Adapter em NodeMCU v2 usando ArduinoIDE e bibliotecas disponíveis
Adaptador LCD I2c de caracteres (exemplo de conexão I2c): 12 etapas (com imagens)
Adaptador I2c de LCD de caracteres (exemplo de conexão I2c): Estou fazendo um esquema de conexão para um adaptador i2c de exibição de caracteres. Verifique as atualizações em meu site. Agora adiciono também um esquema de conexão de fiação para usar a biblioteca original, não minha biblioteca bifurcada. para as telas de LCD de caracteres, proje
IOT123 - TIJOLO I2C 2CH RELAY: 5 etapas (com imagens)
IOT123 - I2C 2CH RELAY BRICK: Os IOT123 BRICKS são unidades modulares DIY que podem ser combinadas com outros TIJOLOS IOT123, para adicionar funcionalidade a um nó ou vestível. Eles são baseados em protoboards de dois lados, quadrados, de polegada quadrada com orifícios passantes interconectados. Vários desses TIJOLOS