Cuprins:
- Pasul 1: hardware necesar
- Pasul 2: conectare hardware
- Pasul 3: Comunicarea folosind protocolul I2C
- Pasul 4: Programarea modulului
- Pasul 5: Crearea fișierului și executarea codului
- Pasul 6: Aplicații
- Pasul 7: Resurse
Video: Automatizare la domiciliu cu Raspberry Pi folosind placa de releu: 7 pași
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:41
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
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
Conexiunile necesare (consultați imaginile) sunt următoarele:
- 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.
- Conectați un capăt al cablului I2C la portul TCS34903 și celălalt capăt la ecranul I2C.
- Conectați intrarea potului senzorului MCP9808 la ieșirea TCS34903 utilizând cablul I2C.
- Conectați aparatul MCP23008 în modul de conectare la senzorul MCP9808, folosind cablul I2C.
- De asemenea, conectați cablul Ethernet la Raspberry Pi. Routerul Wi-Fi poate fi, de asemenea, utilizat pentru același lucru.
- Apoi, alimentați Raspberry Pi utilizând un adaptor Micro USB și placa de releu MCP23008 utilizând un adaptor de 12V.
- Î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:
- În terminal, tastați următoarea comandă pentru a deschide setările de configurare: sudo raspi-config
- Selectați „Opțiuni avansate” aici.
- Selectați „I2C” și faceți clic pe „Da”.
- 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
- 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
- După crearea fișierului, putem introduce codul aici.
- Copiați codul dat în pasul anterior și lipiți-l aici în fereastră.
- Apăsați Ctrl + X apoi „y” pentru a ieși.
- Apoi compilați codul utilizând următoarea comandă: pi4j FILE_NAME.javaEg. pi4j MCP23008.java
- 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:
Asistent Google - Automatizare la domiciliu Iot folosind Esp8266: 6 pași
Asistent Google | Automatizare la domiciliu Iot folosind Esp8266: În acest instructable vă voi arăta automatizare la domiciliu controlată de asistent Google
Automatizare acasă IR folosind releu: 6 pași (cu imagini)
Automatizarea IR la domiciliu utilizând releu: sistem de automatizare la domiciliu la distanță infared (Atenție: Replicați proiectul pe propria răspundere! Acest proiect implică tensiune ridicată)
Cum să faci o casă inteligentă folosind modulul de releu de control Arduino - Idei de automatizare la domiciliu: 15 pași (cu imagini)
Cum să faci o casă inteligentă folosind modulul de releu de control Arduino | Idei de automatizare a casei: În acest proiect de automatizare a casei, vom proiecta un modul inteligent de releu de acasă care poate controla 5 aparate electrocasnice. Acest modul de releu poate fi controlat de pe mobil sau smartphone, telecomandă IR sau telecomandă TV, comutator manual. Acest releu inteligent poate, de asemenea, să simtă
Modul de releu 4CH controlat WI-Fi pentru automatizare la domiciliu: 7 pași (cu imagini)
Modul de releu 4CH controlat WI-Fi pentru automatizare la domiciliu: am folosit anterior mai multe comutatoare WI-FI bazate pe oprire. Dar acestea nu se potrivesc cu cerința mea. De aceea am vrut să-mi construiesc propriile, care pot înlocui prizele normale ale comutatorului de perete fără modificări. Cipul ESP8266 este activat prin Wifi
Automatizare simplă la domiciliu folosind Raspberry Pi3 și Android Things: 5 pași (cu imagini)
Automatizare simplă la domiciliu folosind Raspberry Pi3 și Android Things: Ideea este de a proiecta un HOME inteligent ” în care se poate controla dispozitivele de uz casnic folosind Android Things și Raspberry Pi. Proiectul constă în controlul aparatelor de uz casnic, cum ar fi lumina, ventilatorul, motorul etc. Materialele necesare: Raspberry Pi 3HDMI Ca