Índice:

Automação residencial com Raspberry Pi usando placa de relé: 7 etapas
Automação residencial com Raspberry Pi usando placa de relé: 7 etapas

Vídeo: Automação residencial com Raspberry Pi usando placa de relé: 7 etapas

Vídeo: Automação residencial com Raspberry Pi usando placa de relé: 7 etapas
Vídeo: Automação Residencial - O início! Raspberry Pi, nRF24L01, MSP430 e Android 2024, Novembro
Anonim
Automação residencial com Raspberry Pi usando placa de relé
Automação residencial com Raspberry Pi usando placa de relé

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

Hardware necessário
Hardware necessário
Hardware necessário
Hardware necessário
Hardware necessário
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

Conexão de Hardware
Conexão de Hardware
Conexão de Hardware
Conexão de Hardware
Conexão de Hardware
Conexão de Hardware
Conexão de Hardware
Conexão de Hardware

As conexões necessárias (consulte as fotos) são as seguintes:

  1. Isso funcionará em I2C. Pegue um escudo I2C para Raspberry Pi e gentilmente conecte-o aos pinos GPIO do Raspberry Pi.
  2. Conecte uma extremidade do cabo I2C à porta de entrada do TCS34903 e a outra extremidade à blindagem I2C.
  3. Conecte o sensor MCP9808 no potenciômetro à saída TCS34903 usando o cabo I2C.
  4. Conecte o in-pot do MCP23008 à saída do sensor MCP9808 usando o cabo I2C.
  5. Também conecte o cabo Ethernet ao Raspberry Pi. O roteador Wi-Fi também pode ser usado para o mesmo.
  6. Em seguida, ligue o Raspberry Pi usando um adaptador Micro USB e a placa de relé MCP23008 usando um adaptador de 12V.
  7. 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:

  1. No terminal, digite o seguinte comando para abrir as definições de configuração: sudo raspi-config
  2. Selecione “Opções avançadas” aqui.
  3. Selecione “I2C” e clique em “Sim”.
  4. 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

  1. 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
  2. Depois de criar o arquivo, podemos inserir o código aqui.
  3. Copie o código fornecido na etapa anterior e cole-o na janela aqui.
  4. Pressione Ctrl + X e "y" para sair.
  5. Em seguida, compile o código usando o seguinte comando: pi4j FILE_NAME.javaEg. pi4j MCP23008.java
  6. 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: