Índice:
- Etapa 1: Hardware necessário
- Etapa 2: Conexão de Hardware
- Etapa 3: Comunicação usando o protocolo I2C
- Etapa 4: Programando o Módulo
- Etapa 5: Criação de arquivo e execução do código
- Etapa 6: Aplicativos
- Etapa 7: Recursos
Vídeo: Automação residencial com Raspberry Pi usando placa de relé: 7 etapas
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:35
Um grande número de pessoas deseja grande conforto, mas a preços razoáveis. Sentimos preguiça de iluminar as casas todas as noites quando o sol se põe e na manhã seguinte, desligar as luzes novamente Ou ligar / desligar o Ar Condicionado / Ventilador / Aquecedores conforme o tempo ou a temperatura ambiente.
Uma solução barata para evitar esse trabalho extra de desligar os aparelhos quando necessário está aqui. É para automatizar suas casas em custos comparativamente muito menores, usando produtos plug and play simples. Funciona como quando a temperatura sobe ou desce liga o Ar condicionado ou aquecedor, respectivamente. Além disso, quando necessário, será útil ligar as luzes de sua casa sem ligá-las manualmente. E muitos mais aparelhos podem ser controlados. Automatize o mundo. Deixe-nos começar sua casa.
Etapa 1: Hardware necessário
Estaremos usando:
Raspberry Pi
O Raspberry Pi é um PC baseado em Linux de placa solitária. Este pequeno PC tem um grande impacto no registro de poder, usado como uma peça de exercícios eletrônicos e operações de PC como planilhas, processamento de texto, navegação na web, e-mail e jogos
Escudo I2C ou Cabeçalho I2C
O INPI2 (adaptador I2C) fornece ao Raspberry Pi 2/3 uma porta I²C para uso com vários dispositivos I2C
Controlador de relé I2C MCP23008
O MCP23008 da Microchip é um expansor de porta integrado que controla oito relés através do barramento I²C. Você pode adicionar mais relés, E / S digital, conversores analógico para digital, sensores e outros dispositivos usando a porta de expansão I²C integrada
Sensor de temperatura MCP9808
O MCP9808 é um sensor de temperatura de alta precisão que fornece sinais de sensor linearizados e calibrados em formato digital I²C
Sensor de luminância TCS34903
TCS34903 é um produto da família de sensores de cores que fornece o valor do componente RGB de luz e cor
Cabo de conexão I2C
O cabo de conexão I2C é um cabo de 4 fios que se destina à comunicação I2C entre dois dispositivos I2C conectados por meio dele
Adaptador micro USB
Para ligar o Raspberry Pi, precisamos de um cabo Micro USB
Adaptador de alimentação 12V para placa de relé
O controlador de relé MCP23008 funciona com alimentação externa de 12V e pode ser fornecido usando um adaptador de alimentação de 12V
Você pode comprar o produto clicando sobre eles. Além disso, você pode encontrar mais material excelente na Dcube Store.
Etapa 2: Conexão de Hardware
As conexões necessárias (consulte as fotos) são as seguintes:
- Isso funcionará em I2C. Pegue um escudo I2C para Raspberry Pi e gentilmente conecte-o aos pinos GPIO do Raspberry Pi.
- Conecte uma extremidade do cabo I2C à porta de entrada do TCS34903 e a outra extremidade à blindagem I2C.
- Conecte o sensor MCP9808 no potenciômetro à saída TCS34903 usando o cabo I2C.
- Conecte o in-pot do MCP23008 à saída do sensor MCP9808 usando o cabo I2C.
- Também conecte o cabo Ethernet ao Raspberry Pi. O roteador Wi-Fi também pode ser usado para o mesmo.
- Em seguida, ligue o Raspberry Pi usando um adaptador Micro USB e a placa de relé MCP23008 usando um adaptador de 12V.
- Finalmente, conecte a luz com o primeiro relé e um ventilador ou aquecedor com o segundo relé. Você pode expandir o módulo ou conectar mais dispositivos com os relés.
Etapa 3: Comunicação usando o protocolo I2C
Para ativar o Raspberry Pi I2C, proceda conforme mencionado abaixo:
- No terminal, digite o seguinte comando para abrir as definições de configuração: sudo raspi-config
- Selecione “Opções avançadas” aqui.
- Selecione “I2C” e clique em “Sim”.
- Reinicialize o sistema para configurá-lo de acordo com as alterações feitas usando o comando reboot.
Etapa 4: Programando o Módulo
A recompensa de usar o Raspberry Pi é que oferece a flexibilidade de optar pela linguagem de programação na qual deseja programar para fazer a interface do dispositivo sensor com o Raspberry Pi. Aproveitando essa vantagem do Raspberry Pi, estamos demonstrando aqui sua programação em Java.
Para configurar o ambiente Java, instale o “pi4j libraby” de https://pi4j.com/1.2/index.html Pi4j é uma biblioteca de entrada / saída Java para Raspberry Pi. Um método fácil e preferido para instalar o “pi4j library”é executar o comando mencionado diretamente no seu Raspberry Pi:
curl -s get.pi4j.com | sudo bash
OU
curl -s get.pi4j.com
import com.pi4j.io.i2c. I2CBus; import com.pi4j.io.i2c. I2CDevice; import com.pi4j.io.i2c. I2CFactory; import java.io. IOException; classe MCP23008 {public static void main (String args ) lança Exceção {int status, value, value1 = 0x00; // Criar barramento I2C I2CBus bus = I2CFactory.getInstance (I2CBus. BUS_1); // Obter dispositivo I2C, MCP23008 endereço I2C é 0x20 (32) I2CDevice device = bus.getDevice (0x20); // Obter dispositivo I2C, MCP9808 O endereço I2C é 0x18 (24) I2CDevice MCP9808 = bus.getDevice (0x18); // Obter dispositivo I2C, TCS34903 endereço I2C é 0x39 (55) I2CDevice TCS34903 = bus.getDevice (0x39); // Definir registro de tempo de espera = 0xff (255), tempo de espera = 2,78 ms TCS34903.write (0x83, (byte) 0xFF); // Habilita o acesso ao canal IR TCS34903.write (0xC0, (byte) 0x80); // Define o registro Atime para 0x00 (0), contagens máximas = 65535 TCS34903.write (0x81, (byte) 0x00); // Power ON, ADC habilitado, Wait habilitado TCS34903.write (0x80, (byte) 0x0B); Thread.sleep (250); // Lê 8 bytes de dados com dados limpos / ir LSB primeiro byte data1 = novo byte [8]; // Ler dados de temperatura byte data = new byte [2]; status = device.read (0x09); // Configurado todos os pinos como OUTPUT device.write (0x00, (byte) 0x00); Thread.sleep (500); enquanto (verdadeiro) {MCP9808.read (0x05, dados, 0, 2); // Converter dados int temp = ((dados [0] e 0x1F) * 256 + (dados [1] e 0xFF)); if (temp> 4096) {temp - = 8192; } double cTemp = temp * 0,0625; System.out.printf (“A temperatura em celsius é:%.2f C% n”, cTemp); TCS34903.read (0x94, dados1, 0, 8); duplo ir = ((dados1 [1] e 0xFF) * 256) + (dados1 [0] e 0xFF) * 1,00; vermelho duplo = ((dados1 [3] e 0xFF) * 256) + (dados1 [2] e 0xFF) * 1,00; verde duplo = ((dados1 [5] e 0xFF) * 256) + (dados1 [4] e 0xFF) * 1,00; azul duplo = ((dados1 [7] e 0xFF) * 256) + (dados1 [6] e 0xFF) * 1,00; // Calcular iluminância dupla iluminância = (-0,32466) * (vermelho) + (1,57837) * (verde) + (-0,73191) * (azul); System.out.printf (“A iluminação é:%.2f lux% n“, iluminância); if (iluminância 30) {valor = valor1 | (0x01); } else {value = value1 & (0x02); } device.write (0x09, valor (byte)); Thread.sleep (300); }}}
Etapa 5: Criação de arquivo e execução do código
- Para criar um novo arquivo onde o código possa ser escrito / copiado, será utilizado o seguinte comando: sudo nano FILE_NAME.javaEg. sudo nano MCP23008.java
- Depois de criar o arquivo, podemos inserir o código aqui.
- Copie o código fornecido na etapa anterior e cole-o na janela aqui.
- Pressione Ctrl + X e "y" para sair.
- Em seguida, compile o código usando o seguinte comando: pi4j FILE_NAME.javaEg. pi4j MCP23008.java
- Se não houver erros, execute o programa usando o comando abaixo mencionado: pi4j FILE_NAMEEg. pi4j MCP23008.java
Etapa 6: Aplicativos
Este sistema permite que você controle os dispositivos sem ir para os interruptores de parede. Isso tem recursos abrangentes, pois os horários de ligar ou desligar os dispositivos são programados automaticamente. Há um punhado de aplicações desse módulo, de residências a indústrias, hospitais, estações ferroviárias e muitos outros locais que podem ser automatizados de maneira fácil e econômica por seus componentes plug-and-play.
Etapa 7: Recursos
Para obter mais informações sobre TSL34903, MCP9808 MCP23008 Relay Controller, verifique os links abaixo:
- Folha de Dados TSL34903
- Folha de dados MCP9808
- Folha de Dados MCP23008
Recomendado:
Automação residencial com sensor de toque NodeMCU Relé de controle de temperatura LDR: 16 etapas
Automação residencial com relé de controle de temperatura LDR do sensor de toque NodeMCU: Em meus projetos anteriores do NodeMCU, controlei dois eletrodomésticos do aplicativo Blynk. Recebi muitos comentários e mensagens para atualizar o projeto com controle manual e adicionar mais recursos. Portanto, desenvolvi esta caixa de extensão de casa inteligente. Nesta IoT
Interruptor de luz WiFi de automação residencial com ESP-01 e módulo de relé com botão de pressão: 7 etapas
Interruptor de luz WiFi de automação residencial com ESP-01 e módulo de relé com botão de pressão: Nas instruções anteriores, programamos um ESP-01 com Tasmota usando um ESP Flasher e conectamos o ESP-01 às nossas redes wi-fi. Agora podemos começar a programá-lo para ligar / desligar um interruptor de luz usando WiFi ou o botão de pressão
Automação residencial IR usando relé: 6 etapas (com imagens)
Automação residencial IR usando relé: Sistema de automação residencial remota infravermelho (Aviso: replique o projeto por sua própria conta e risco! Este projeto envolve alta tensão)
Como fazer uma casa inteligente usando o módulo de relé de controle do Arduino. Idéias para automação residencial: 15 etapas (com fotos)
Como fazer uma casa inteligente usando o módulo de relé de controle do Arduino. Idéias para automação residencial: neste projeto de automação residencial, projetaremos um módulo de relé residencial inteligente que pode controlar 5 eletrodomésticos. Este módulo de relé pode ser controlado por celular ou smartphone, remoto IR ou remoto de TV, interruptor manual. Este relé inteligente também pode sentir r
Automação residencial: Placa de comutação automática com controle de dimmer via Bluetooth usando Tiva TM4C123G: 7 etapas
Domótica: Quadro de comutação automático com controle de dimmer via Bluetooth usando Tiva TM4C123G: Hoje em dia, temos controles remotos para nossos aparelhos de televisão e outros sistemas eletrônicos, o que facilitou muito nossas vidas. Alguma vez você já se perguntou sobre automação residencial que daria a facilidade de controlar lâmpadas de tubo, ventiladores e outros elec