Taula de continguts:

Domòtica amb Raspberry Pi mitjançant placa de relés: 7 passos
Domòtica amb Raspberry Pi mitjançant placa de relés: 7 passos

Vídeo: Domòtica amb Raspberry Pi mitjançant placa de relés: 7 passos

Vídeo: Domòtica amb Raspberry Pi mitjançant placa de relés: 7 passos
Vídeo: Электрика в квартире своими руками. Финал. Переделка хрущевки от А до Я. #11 2024, De novembre
Anonim
Domòtica amb Raspberry Pi mitjançant placa de relés
Domòtica amb Raspberry Pi mitjançant placa de relés

Un gran nombre de persones volen una gran comoditat però a preus raonables. Ens fa mandra il·luminar les cases cada vespre quan es pon el sol i al matí següent, tornant a apagar els llums O a encendre / apagar l’aire condicionat / ventilador / escalfadors com feien el clima o la temperatura ambient.

Aquí trobareu una solució econòmica per evitar aquest treball addicional d’apagar els electrodomèstics quan sigui necessari. Es tracta d’automatitzar les cases en comparativament molt menys costos mitjançant productes senzills plug and play. Funciona com quan la temperatura puja o baixa, encén l'aire condicionat o l'escalfador, respectivament. A més, quan sigui necessari, us ajudarà a encendre els llums de casa vostra sense encendre'ls manualment. I es poden controlar molts més electrodomèstics. Automatitzar el món. Deixeu-nos començar la vostra llar.

Pas 1: es requereix maquinari

Es requereix maquinari
Es requereix maquinari
Es requereix maquinari
Es requereix maquinari
Es requereix maquinari
Es requereix maquinari

Utilitzarem:

Raspberry Pi

El Raspberry Pi és una placa solitària basada en Linux. Aquest petit PC compta amb un gran esforç en el registre de potència, que s’utilitza com a exercici electrònic, i en operacions de PC com fulls de càlcul, processament de textos, navegació web, correu electrònic i jocs

Escut I2C o capçalera I2C

L'INPI2 (adaptador I2C) proporciona a Raspberry Pi 2/3 un port I²C per utilitzar-lo amb diversos dispositius I2C

Controlador de relé I2C MCP23008

MCP23008 de Microchip és un expansor de ports integrat que controla vuit relés a través del bus I²C. Podeu afegir més relés, E / S digitals, convertidors analògics a digitals, sensors i altres dispositius mitjançant el port d’expansió I²C integrat

Sensor de temperatura MCP9808

El MCP9808 és un sensor de temperatura d'alta precisió que proporciona senyals calibrats i linealitzats del sensor en format digital I²C

Sensor de lluminositat TCS34903

TCS34903 és un producte de la família de sensors de color que proporciona el valor del component RGB de llum i color

Cable de connexió I2C

El cable de connexió I2C és un cable de 4 cables destinat a la comunicació I2C entre dos dispositius I2C connectats a través d’ell

Adaptador micro USB

Per engegar Raspberry Pi, necessitem un cable Micro USB

Adaptador de corrent de 12V per a placa de relés

El controlador de relé MCP23008 funciona amb alimentació externa de 12V i es pot subministrar mitjançant un adaptador de corrent de 12V

Podeu comprar el producte fent-hi clic. A més, podeu trobar més material fantàstic a Dcube Store.

Pas 2: connexió de maquinari

Connexió de maquinari
Connexió de maquinari
Connexió de maquinari
Connexió de maquinari
Connexió de maquinari
Connexió de maquinari
Connexió de maquinari
Connexió de maquinari

Les connexions necessàries (consulteu les imatges) són les següents:

  1. Això funcionarà amb I2C. Agafeu un escut I2C per a Raspberry pi i connecteu-lo suaument als pins GPIO de Raspberry Pi.
  2. Connecteu un extrem del cable I2C al port d’entrada de TCS34903 i l’altre extrem a l’escut I2C.
  3. Connecteu la pota del sensor MCP9808 a la sortida del TCS34903 mitjançant un cable I2C.
  4. Connecteu la pota del MCP23008 a la sortida del sensor MCP9808 mitjançant un cable I2C.
  5. Connecteu també el cable Ethernet al Raspberry Pi. El router Wi-Fi també es pot utilitzar per al mateix.
  6. A continuació, alimenteu el Raspberry Pi mitjançant un adaptador Micro USB i una placa de relé MCP23008 mitjançant un adaptador de 12 V.
  7. Finalment, connecteu la llum amb el primer relé i un ventilador o escalfador amb el segon relé. Podeu ampliar el mòdul o connectar més dispositius amb els relés.

Pas 3: Comunicació mitjançant el protocol I2C

Per fer que Raspberry Pi I2C estigui activat, procediu tal com s'esmenta a continuació:

  1. Al terminal, escriviu l'ordre següent per obrir la configuració de configuració: sudo raspi-config
  2. Seleccioneu "Opcions avançades" aquí.
  3. Seleccioneu "I2C" i feu clic a "Sí".
  4. Reinicieu el sistema per configurar-lo segons els canvis realitzats mitjançant l'ordre reiniciar.

Pas 4: Programació del mòdul

La recompensa d’utilitzar Raspberry Pi és que us proporciona la flexibilitat d’optar pel llenguatge de programació en què voleu programar per connectar el dispositiu de detecció amb Raspberry Pi. Aprofitant aquest avantatge de Raspberry Pi, demostrem aquí la seva programació a Java.

Per configurar l'entorn Java, instal·leu el "pi4j libraby" de https://pi4j.com/1.2/index.html Pi4j és una biblioteca d'entrada / sortida de Java per a Raspberry Pi. Un mètode fàcil i preferit per instal·lar el "pi4j biblioteca "és executar l'ordre esmentada directament al vostre Raspberry Pi:

curl -s get.pi4j.com | sudo bash

O

curl -s get.pi4j.com

importar com.pi4j.io.i2c. I2CBus; importar com.pi4j.io.i2c. I2CDevice; import com.pi4j.io.i2c. I2CFactory; importació java.io. IOException; classe MCP23008 {public static void main (String args ) throws Exception {int status, value, value1 = 0x00; // Crear bus I2C Bus I2CBus = I2CFactory.getInstance (I2CBus. BUS_1); // Obteniu un dispositiu I2C, l’adreça I2C MCP23008 és 0x20 (32) I2CDevice device = bus.getDevice (0x20); // Obteniu el dispositiu I2C, l’adreça I2C de MCP9808 és 0x18 (24) I2CDevice MCP9808 = bus.getDevice (0x18); // Obteniu el dispositiu I2C, l'adreça I2C de TCS34903 és 0x39 (55) I2CDevice TCS34903 = bus.getDevice (0x39); // Estableix registre d'espera = 0xff (255), temps d'espera = 2,78 ms TCS34903.write (0x83, (byte) 0xFF); // Activa l'accés al canal IR TCS34903.write (0xC0, (byte) 0x80); // Estableix el registre Atime a 0x00 (0), recompte màxim = 65535 TCS34903.write (0x81, (byte) 0x00); // Encès, ADC activat, Espera activat TCS34903.write (0x80, (byte) 0x0B); Thread.sleep (250); // Llegiu 8 bytes de dades amb dades clares / ir LSB primer byte data1 = byte nou [8]; // Llegir la temperatura Data byte data = new byte [2]; estat = dispositiu.read (0x09); // Configurar tots els pins com a OUTPUT device.write (0x00, (byte) 0x00); Thread.sleep (500); while (true) {MCP9808.read (0x05, data, 0, 2); // Converteix dades int temp = ((dades [0] i 0x1F) * 256 + (dades [1] i 0xFF)); if (temp> 4096) {temp - = 8192; } doble cTemp = temp * 0,0625; System.out.printf ("La temperatura en centígrads és:%.2f C% n", cTemp); TCS34903.read (0x94, data1, 0, 8); doble ir = ((dades1 [1] i 0xFF) * 256) + (dades1 [0] i 0xFF) * 1,00; doble vermell = ((dades1 [3] i 0xFF) * 256) + (dades1 [2] i 0xFF) * 1,00; doble verd = ((dades1 [5] i 0xFF) * 256) + (dades1 [4] i 0xFF) * 1,00; doble blau = ((dades1 [7] i 0xFF) * 256) + (dades1 [6] i 0xFF) * 1,00; // Calcula la il·luminació doble il·luminació = (-0,32466) * (vermell) + (1,57837) * (verd) + (-0,73191) * (blau); System.out.printf (“La il·luminació és:%.2f lux% n“, la il·luminació); if (il·luminació 30) {valor = valor1 | (0x01); } else {value = value1 & (0x02); } device.write (0x09, valor (byte)); Thread.sleep (300); }}}

Pas 5: Creació de fitxers i execució del codi

  1. Per crear un fitxer nou on es pugui escriure / copiar el codi, s'utilitzarà l'ordre següent: sudo nano FILE_NAME.javaEg. sudo nano MCP23008.java
  2. Després de crear el fitxer, podem introduir el codi aquí.
  3. Copieu el codi donat al pas anterior i enganxeu-lo a la finestra aquí.
  4. Premeu Ctrl + X i després "y" per sortir.
  5. A continuació, compileu el codi amb l'ordre següent: pi4j FILE_NAME.javaEg. pi4j MCP23008.java
  6. Si no hi ha errors, executeu el programa mitjançant l'ordre esmentada: pi4j FILE_NAMEEg. pi4j MCP23008.java

Pas 6: Aplicacions

Aquest sistema permet controlar els dispositius sense anar als interruptors de paret. Això té moltes funcions, ja que els temps d’encesa o apagada dels dispositius es programen automàticament. Hi ha un grapat d’aplicacions d’aquest mòdul, des de cases a indústries, hospitals, estacions de ferrocarril i molts altres llocs que es poden automatitzar d’una manera assequible i senzilla gràcies als seus components plug-and-play.

Pas 7: Recursos

Per obtenir més informació sobre TSL34903, MCP9808 MCP23008 Relay Controller, consulteu els enllaços següents:

  • TSL34903 Full de dades
  • MCP9808 Full de dades
  • MCP23008 Full de dades

Recomanat: