Cuprins:

Automatizare la domiciliu cu Raspberry Pi folosind placa de releu: 7 pași
Automatizare la domiciliu cu Raspberry Pi folosind placa de releu: 7 pași

Video: Automatizare la domiciliu cu Raspberry Pi folosind placa de releu: 7 pași

Video: Automatizare la domiciliu cu Raspberry Pi folosind placa de releu: 7 pași
Video: Главная Автоматизация с помощью SMS - Использование и коды использования GSM-клавиатуры Arduino 2024, Noiembrie
Anonim
Automatizare la domiciliu cu Raspberry Pi folosind placa de releu
Automatizare la domiciliu cu Raspberry Pi folosind placa de releu

Un număr important de oameni doresc un confort deosebit, dar la prețuri rezonabile. Ne simțim leneși să aprindem casele în fiecare seară, când soarele apune și dimineața următoare, stingând din nou luminile Sau să pornim / să oprim aparatul de aer condiționat / ventilatorul / încălzitoarele, așa cum erau vremea sau temperatura camerei.

O soluție ieftină pentru a evita acest lucru suplimentar de oprire a aparatelor atunci când este necesar este aici. Este să vă automatizați casele în costuri relativ mai mici, folosind produse simple plug and play. Funcționează ca atunci când temperatura crește sau coboară, pornește respectiv aparatul de aer condiționat sau încălzitorul. De asemenea, atunci când este necesar, vă va ajuta să aprindeți sau luminile casei dvs. fără să le aprindeți manual. Și mai multe aparate pot fi controlate. Automatizează lumea. Lasă-ne să începem casa ta.

Pasul 1: hardware necesar

Hardware necesar
Hardware necesar
Hardware necesar
Hardware necesar
Hardware necesar
Hardware necesar

Vom folosi:

Raspberry Pi

Raspberry Pi este o placă solitară bazată pe Linux. Acest mic PC conține un pumn în înregistrarea puterii, folosit ca o piesă de exerciții electronice și operațiuni pe computer, cum ar fi foi de calcul, procesare de text, navigare pe web, e-mail și jocuri

I2C Shield sau I2C Header

INPI2 (adaptor I2C) oferă Raspberry Pi 2/3 un port I²C pentru utilizare cu mai multe dispozitive I2C

Controler releu I2C MCP23008

MCP23008 de la Microchip este un expansor de port integrat care controlează opt relee prin magistrala I²C. Puteți adăuga mai multe relee, I / O digitale, convertoare analogice la digitale, senzori și alte dispozitive utilizând portul de expansiune I²C integrat

Senzor de temperatură MCP9808

MCP9808 este un senzor de temperatură de înaltă precizie care furnizează semnale calibrate, liniarizate ale senzorului în format digital, I²C

Senzor de luminanță TCS34903

TCS34903 este un produs din familia senzorilor de culoare care oferă valoarea componentei RGB a luminii și culorii

Cablu de conectare I2C

Cablul de conectare I2C este un cablu cu 4 fire, destinat comunicării I2C între două dispozitive I2C conectate prin intermediul acestuia

Adaptor micro USB

Pentru a porni Raspberry Pi, avem nevoie de un cablu Micro USB

Adaptor de alimentare 12V pentru placa releu

Controlerul de releu MCP23008 funcționează pe o sursă de alimentare externă de 12V și aceasta poate fi furnizată utilizând un adaptor de alimentare de 12V

Puteți cumpăra produsul făcând clic pe ele. De asemenea, puteți găsi mai multe materiale grozave la magazinul Dcube.

Pasul 2: conectare hardware

Conexiune hardware
Conexiune hardware
Conexiune hardware
Conexiune hardware
Conexiune hardware
Conexiune hardware
Conexiune hardware
Conexiune hardware

Conexiunile necesare (consultați imaginile) sunt următoarele:

  1. Acest lucru va funcționa pe I2C. Luați un scut I2C pentru Raspberry pi și conectați-l ușor la pinii GPIO ai Raspberry Pi.
  2. Conectați un capăt al cablului I2C la portul TCS34903 și celălalt capăt la ecranul I2C.
  3. Conectați intrarea potului senzorului MCP9808 la ieșirea TCS34903 utilizând cablul I2C.
  4. Conectați aparatul MCP23008 în modul de conectare la senzorul MCP9808, folosind cablul I2C.
  5. De asemenea, conectați cablul Ethernet la Raspberry Pi. Routerul Wi-Fi poate fi, de asemenea, utilizat pentru același lucru.
  6. Apoi, alimentați Raspberry Pi utilizând un adaptor Micro USB și placa de releu MCP23008 utilizând un adaptor de 12V.
  7. În cele din urmă, conectați lumina cu primul releu și un ventilator sau încălzitor cu al doilea releu. Puteți extinde modulul sau puteți conecta mai multe dispozitive cu relee.

Pasul 3: Comunicarea folosind protocolul I2C

Pentru a activa Raspberry Pi I2C, procedați așa cum se menționează mai jos:

  1. În terminal, tastați următoarea comandă pentru a deschide setările de configurare: sudo raspi-config
  2. Selectați „Opțiuni avansate” aici.
  3. Selectați „I2C” și faceți clic pe „Da”.
  4. Reporniți sistemul pentru a-l configura conform modificărilor efectuate utilizând comanda reporniți.

Pasul 4: Programarea modulului

Recompensa utilizării Raspberry Pi este că vă oferă flexibilitatea de a opta pentru limbajul de programare în care doriți să programați pentru a interfața dispozitivul de detectare cu Raspberry Pi. Profitând de acest avantaj al Raspberry Pi, demonstrăm aici programarea sa în Java.

Pentru a configura mediul Java, instalați „pi4j libraby” de la https://pi4j.com/1.2/index.html Pi4j este o bibliotecă Java de intrare / ieșire pentru Raspberry Pi. O metodă ușoară și cea mai preferată pentru a instala „pi4j bibliotecă”este să executați comanda menționată mai jos direct în Raspberry Pi:

curl -s get.pi4j.com | sudo bash

SAU

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; clasa MCP23008 {public static void main (String args ) throws Exception {int status, value, value1 = 0x00; // Creați autobuzul I2C Autobuzul I2CBus = I2CFactory.getInstance (I2CBus. BUS_1); // Obțineți dispozitiv I2C, adresa MCP23008 I2C este 0x20 (32) I2CDevice device = bus.getDevice (0x20); // Obțineți dispozitivul I2C, adresa MCP9808 I2C este 0x18 (24) I2CDevice MCP9808 = bus.getDevice (0x18); // Obțineți dispozitiv I2C, adresa TCS34903 I2C este 0x39 (55) I2CDevice TCS34903 = bus.getDevice (0x39); // Setați registrul timpului de așteptare = 0xff (255), timpul de așteptare = 2,78 ms TCS34903.write (0x83, (octet) 0xFF); // Activați accesul la canalul IR TCS34903.write (0xC0, (octet) 0x80); // Setați registrul Atime la 0x00 (0), numărul maxim = 65535 TCS34903.write (0x81, (octet) 0x00); // Pornire, ADC activat, Așteptare activat TCS34903.write (0x80, (octet) 0x0B); Thread.sleep (250); // Citiți 8 octeți de date cu date clare / ir LSB primul octet date1 = octet nou [8]; // Citește temperatura Data octet date = octet nou [2]; status = device.read (0x09); // Configurat toți pinii ca OUTPUT device.write (0x00, (octet) 0x00); Thread.sleep (500); while (adevărat) {MCP9808.read (0x05, date, 0, 2); // Conversia datelor int temp = ((date [0] & 0x1F) * 256 + (date [1] & 0xFF)); if (temp> 4096) {temp - = 8192; } cTemp dublu = temp * 0,0625; System.out.printf („Temperatura în grade Celsius este:%.2f C% n”, cTemp); TCS34903.read (0x94, data1, 0, 8); dublu ir = ((data1 [1] & 0xFF) * 256) + (data1 [0] & 0xFF) * 1,00; dublu roșu = ((date1 [3] și 0xFF) * 256) + (date1 [2] și 0xFF) * 1,00; dublu verde = ((data1 [5] & 0xFF) * 256) + (data1 [4] & 0xFF) * 1,00; dublu albastru = ((data1 [7] & 0xFF) * 256) + (data1 [6] & 0xFF) * 1,00; // Calculați iluminarea dublă iluminanță = (-0.32466) * (roșu) + (1.57837) * (verde) + (-0.73191) * (albastru); System.out.printf („Iluminarea este:%.2f lux% n“, iluminarea); if (iluminanta 30) {valoare = valoare1 | (0x01); } else {value = value1 & (0x02); } device.write (0x09, (octet) valoare); Thread.sleep (300); }}}

Pasul 5: Crearea fișierului și executarea codului

  1. Pentru a crea un fișier nou în care codul poate fi scris / copiat, va fi utilizată următoarea comandă: sudo nano FILE_NAME.javaEg. sudo nano MCP23008.java
  2. După crearea fișierului, putem introduce codul aici.
  3. Copiați codul dat în pasul anterior și lipiți-l aici în fereastră.
  4. Apăsați Ctrl + X apoi „y” pentru a ieși.
  5. Apoi compilați codul utilizând următoarea comandă: pi4j FILE_NAME.javaEg. pi4j MCP23008.java
  6. Dacă nu există erori, rulați programul utilizând comanda menționată mai jos: pi4j FILE_NAMEEg. pi4j MCP23008.java

Pasul 6: Aplicații

Acest sistem vă permite să controlați dispozitivele fără a merge la întrerupătoarele de perete. Aceasta are capabilități extinse, deoarece momentele de pornire sau oprire a dispozitivelor sunt programate automat. Există o mână de aplicații ale acestui modul, de la case la industrii, spitale, gări și multe alte locuri pot fi automatizate într-un mod accesibil și ușor prin componentele sale plug-and-play.

Pasul 7: Resurse

Pentru mai multe informații despre TSL34903, MCP9808 MCP23008 Controller cu releu, consultați linkurile de mai jos:

  • TSL34903 Foaie de date
  • MCP9808 Foaie de date
  • MCP23008 Foaie de date

Recomandat: