Taula de continguts:
- Pas 1: es requereix maquinari
- Pas 2: connexió de maquinari
- Pas 3: Comunicació mitjançant el protocol I2C
- Pas 4: Programació del mòdul
- Pas 5: Creació de fitxers i execució del codi
- Pas 6: Aplicacions
- Pas 7: Recursos
Vídeo: Domòtica amb Raspberry Pi mitjançant placa de relés: 7 passos
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:11
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
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
Les connexions necessàries (consulteu les imatges) són les següents:
- Això funcionarà amb I2C. Agafeu un escut I2C per a Raspberry pi i connecteu-lo suaument als pins GPIO de Raspberry Pi.
- Connecteu un extrem del cable I2C al port d’entrada de TCS34903 i l’altre extrem a l’escut I2C.
- Connecteu la pota del sensor MCP9808 a la sortida del TCS34903 mitjançant un cable I2C.
- Connecteu la pota del MCP23008 a la sortida del sensor MCP9808 mitjançant un cable I2C.
- Connecteu també el cable Ethernet al Raspberry Pi. El router Wi-Fi també es pot utilitzar per al mateix.
- 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.
- 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ó:
- Al terminal, escriviu l'ordre següent per obrir la configuració de configuració: sudo raspi-config
- Seleccioneu "Opcions avançades" aquí.
- Seleccioneu "I2C" i feu clic a "Sí".
- 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
- 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
- Després de crear el fitxer, podem introduir el codi aquí.
- Copieu el codi donat al pas anterior i enganxeu-lo a la finestra aquí.
- Premeu Ctrl + X i després "y" per sortir.
- A continuació, compileu el codi amb l'ordre següent: pi4j FILE_NAME.javaEg. pi4j MCP23008.java
- 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:
Domòtica IR mitjançant relés: 6 passos (amb imatges)
Domòtica IR mitjançant relé: sistema domòtic remot per infars (advertència: repliqueu el projecte sota la vostra responsabilitat! Aquest projecte implica alta tensió)
[Domòtica] Control de relés des de qualsevol lloc mitjançant ESP8266 + Blynk: 4 passos
[Domòtica] Control de relés des de qualsevol lloc mitjançant ESP8266 + Blynk: hi ha moltes maneres de fer una domòtica, algunes són complicades, d’altres són fàcils. Per a la seva comoditat, el disseny era de PCB de costat únic, de manera que podeu fer-ho per vosaltres mateixos
(Bricolatge) Com fer que la placa domòtica de relés ultra mini i senzilla ESP8266: 17 passos
(Bricolatge) Com fer que la placa domòtica de relés ultra mini i senzilla ESP8266: Hola a tothom, avui us ho farem saber, com fer una placa de relés Mini Esp 12 Wifi de només 3,9 cm x 3,9 cm. Aquest tauler té algunes funcions molt interessants que a tots els amants de la tecnologia els encantarà tenir. He inclòs tots els fitxers en els propers passos. Aquest tauler
8 control de relés amb receptor NodeMCU i IR mitjançant aplicació WiFi i remota IR i Android: 5 passos (amb imatges)
Control de relés 8 amb receptor NodeMCU i IR mitjançant aplicació WiFi i control remot IR i Android: control de 8 commutadors de relés mitjançant receptor nodemcu i ir a través de wifi i control remot i aplicació per a Android. El control remot funciona independentment de la connexió wifi. AQUÍ
Domòtica: Tauler de commutació automàtic amb control de regulació mitjançant Bluetooth mitjançant Tiva TM4C123G: 7 passos
Domòtica: placa de commutació automàtica amb control dimmer mitjançant Bluetooth mitjançant Tiva TM4C123G: Avui en dia tenim comandaments a distància per als nostres aparells de televisió i altres sistemes electrònics, que ens han facilitat la vida. Alguna vegada us heu preguntat sobre la domòtica que donaria la possibilitat de controlar llums de tubs, ventiladors i altres elements elèctrics