Sadržaj:

Kućna automatizacija s Raspberry Pi pomoću relejne ploče: 7 koraka
Kućna automatizacija s Raspberry Pi pomoću relejne ploče: 7 koraka

Video: Kućna automatizacija s Raspberry Pi pomoću relejne ploče: 7 koraka

Video: Kućna automatizacija s Raspberry Pi pomoću relejne ploče: 7 koraka
Video: Relay Driver Board, 21 Channels, 12V, Arduino 2560 shield, Node Red, MQTT, W5100 Ethernet 2024, Studeni
Anonim
Kućna automatizacija s Raspberry Pi pomoću relejne ploče
Kućna automatizacija s Raspberry Pi pomoću relejne ploče

Veliki broj ljudi želi veliku udobnost, ali po razumnim cijenama. Lijeno nam je paliti kuće svake večeri kad zađe sunce i sljedećeg jutra, ponovno isključiti svjetla Ili uključiti/isključiti klima uređaj/ventilator/grijače po vremenu ili sobnoj temperaturi.

Ovdje je jeftino rješenje za izbjegavanje ovog dodatnog posla s isključivanjem uređaja kada je to potrebno. Radi se o automatizaciji vaših kuća uz relativno manje troškove korištenjem jednostavnih plug and play proizvoda. Radi kao da temperatura raste ili pada, uključuje klima uređaj ili grijač. Također, kad je potrebno, pomoći će vam uključiti ili rasvjetu vašeg doma bez ručnog uključivanja. I još mnogo drugih uređaja može se kontrolirati. Automatizirajte svijet. Dopustite nam da započnemo vaš dom.

Korak 1: Potreban hardver

Potreban hardver
Potreban hardver
Potreban hardver
Potreban hardver
Potreban hardver
Potreban hardver

Koristit ćemo:

Malina Pi

Raspberry Pi je osobno računalo temeljeno na Linuxu. Ovo malo računalo snažno bilježi snagu, koristi se kao dio elektroničkih vježbi i operacija računala poput proračunskih tablica, obrade teksta, surfanja internetom, e -pošte i igara

I2C štit ili I2C zaglavlje

INPI2 (I2C adapter) osigurava Raspberry Pi 2/3 an I²C priključak za upotrebu s više I2C uređaja

I2C Relejni kontroler MCP23008

MCP23008 tvrtke Microchip je integrirani portni ekspander koji kontrolira osam releja putem sabirnice I²C. Pomoću integriranog I²C priključka za proširenje možete dodati više releja, digitalnih I/O, analogno -digitalnih pretvarača, senzora i drugih uređaja

MCP9808 Senzor temperature

MCP9808 je temperaturni senzor visoke preciznosti koji daje kalibrirane, linearizovane signale senzora u digitalnom, I²C formatu

Senzor osvjetljenja TCS34903

TCS34903 je proizvod obitelji senzora za boju koji daje vrijednost RGB komponente svjetla i boje

I2C spojni kabel

I2C spojni kabel je 4-žični kabel koji je namijenjen za I2C komunikaciju između dva I2C uređaja povezana preko njega

Mikro USB adapter

Za napajanje Raspberry Pi potreban nam je mikro USB kabel

12V adapter za relejnu ploču

MCP23008 Relejni regulator radi na vanjskom napajanju od 12 V, a može se isporučiti pomoću adaptera za napajanje od 12 V

Proizvod možete kupiti klikom na njih. Također, u Dcube trgovini možete pronaći još sjajnog materijala.

2. korak: Spajanje hardvera

Spajanje hardvera
Spajanje hardvera
Spajanje hardvera
Spajanje hardvera
Spajanje hardvera
Spajanje hardvera
Spajanje hardvera
Spajanje hardvera

Potrebne veze (pogledajte slike) su sljedeće:

  1. Ovo će raditi preko I2C. Uzmite I2C štit za Raspberry pi i nježno ga spojite na GPIO pinove Raspberry Pi.
  2. Spojite jedan kraj I2C kabela na ulaz TCS34903, a drugi kraj na I2C štit.
  3. Spojite unutarnji uložak senzora MCP9808 na izlaz TCS34903 pomoću I2C kabela.
  4. Spojite MCP23008 utor u utičnicu na izlaz senzora MCP9808 pomoću I2C kabela.
  5. Također povežite Ethernet kabel s Raspberry Pi. Wi-Fi usmjerivač također se može koristiti za isti.
  6. Zatim napajajte Raspberry Pi pomoću Micro USB adaptera i relejne ploče MCP23008 pomoću 12V adaptera.
  7. Na kraju spojite svjetlo s prvim relejem i ventilator ili grijač s drugim relejem. Možete proširiti modul ili spojiti više uređaja s relejima.

Korak 3: Komunikacija pomoću I2C protokola

Da biste omogućili Raspberry Pi I2C, postupite kako je dolje navedeno:

  1. U terminalu upišite sljedeću naredbu za otvaranje konfiguracijskih postavki: sudo raspi-config
  2. Ovdje odaberite "Napredne opcije".
  3. Odaberite "I2C" i kliknite "Da".
  4. Ponovo pokrenite sustav kako biste ga postavili prema promjenama napravljenim pomoću naredbe ponovno pokretanje.

Korak 4: Programiranje modula

Nagrada korištenja Raspberry Pi je ta što vam daje fleksibilnost pri odabiru programskog jezika u kojem želite programirati za povezivanje senzorskog uređaja s Raspberry Pi. Iskorištavajući ovu prednost Raspberry Pi -a, ovdje demonstriramo njegovo programiranje na Javi.

Da biste postavili Java okruženje, instalirajte „pi4j libraby“s https://pi4j.com/1.2/index.html Pi4j je Java knjižnica ulaza/izlaza za Raspberry Pi. Jednostavan i najpoželjniji način za instaliranje „pi4j library”je izvršavanje dolje navedene naredbe izravno u vašem Raspberry Pi:

curl -s get.pi4j.com | sudo bash

ILI

curl -s get.pi4j.com

uvoz com.pi4j.io.i2c. I2CBus; uvoz com.pi4j.io.i2c. I2CDevice; uvoz com.pi4j.io.i2c. I2CFactory; import java.io. IOException; klasa MCP23008 {public static void main (String args ) baca Exception {int status, value, value1 = 0x00; // Kreiranje I2C sabirnice I2CBus sabirnice = I2CFactory.getInstance (I2CBus. BUS_1); // Nabavite I2C uređaj, MCP23008 I2C adresa je 0x20 (32) I2CDevice uređaj = bus.getDevice (0x20); // Nabavite I2C uređaj, MCP9808 I2C adresa je 0x18 (24) I2CDevice MCP9808 = bus.getDevice (0x18); // Nabavite I2C uređaj, TCS34903 I2C adresa je 0x39 (55) I2CDevice TCS34903 = bus.getDevice (0x39); // Postavi registar vremena čekanja = 0xff (255), vrijeme čekanja = 2,78 ms TCS34903.write (0x83, (bajt) 0xFF); // Omogući pristup IC kanalu TCS34903.write (0xC0, (byte) 0x80); // Atime registar postavite na 0x00 (0), maksimalni brojevi = 65535 TCS34903.write (0x81, (bajt) 0x00); // Uključeno, ADC omogućen, Omogućeno čekanje TCS34903.write (0x80, (bajt) 0x0B); Navoj.spavanje (250); // Očitavanje 8 bajtova podataka s jasnim/ir podacima LSB prvi bajt data1 = novi bajt [8]; // Očitavanje temperaturnih podataka bajt podaci = novi bajt [2]; status = uređaj.čitano (0x09); // Konfigurirali smo sve pinove kao OUTPUT device.write (0x00, (byte) 0x00); Navoj.spavanje (500); while (true) {MCP9808.read (0x05, podaci, 0, 2); // Pretvori podatke int temp = ((podaci [0] & 0x1F) * 256 + (podaci [1] & 0xFF)); if (temp> 4096) {temp -= 8192; } dvostruki cTemp = temp * 0,0625; System.out.printf ("Temperatura u celzijusima je: %.2f C %n", cTemp); TCS34903.čitano (0x94, podaci1, 0, 8); dvostruki ir = ((podaci1 [1] & 0xFF) * 256) + (podaci1 [0] & 0xFF) * 1,00; dvostruko crveno = ((podaci1 [3] & 0xFF) * 256) + (podaci1 [2] & 0xFF) * 1,00; dvostruko zeleno = ((podaci1 [5] & 0xFF) * 256) + (podaci1 [4] & 0xFF) * 1,00; dvostruko plavo = ((podaci1 [7] & 0xFF) * 256) + (podaci1 [6] & 0xFF) * 1,00; // Izračunajte dvostruku osvijetljenost = (-0.32466) * (crveno) + (1.57837) * (zeleno) + (-0.73191) * (plavo); System.out.printf ("Osvijetljenost je: %.2f lux %n", osvijetljenost); if (osvijetljenost 30) {vrijednost = vrijednost1 | (0x01); } else {vrijednost = vrijednost1 & (0x02); } device.write (0x09, (bajtna) vrijednost); Navoj.spavanje (300); }}}

Korak 5: Stvaranje datoteke i pokretanje koda

  1. Za stvaranje nove datoteke u koju se kôd može pisati/kopirati, upotrijebit će se sljedeća naredba: sudo nano FILE_NAME.javaEg. sudo nano MCP23008.java
  2. Nakon stvaranja datoteke, ovdje možemo unijeti kôd.
  3. Kopirajte kôd iz prethodnog koraka i zalijepite ga u prozor ovdje.
  4. Pritisnite Ctrl+X, a zatim "y" za izlaz.
  5. Zatim sastavite kôd pomoću sljedeće naredbe: pi4j FILE_NAME.javaEg. pi4j MCP23008.java
  6. Ako nema pogrešaka, pokrenite program pomoću sljedeće naredbe: pi4j FILE_NAMEEg. pi4j MCP23008.java

Korak 6: Aplikacije

Ovaj sustav omogućuje upravljanje uređajima bez odlaska na zidne prekidače. To ima opsežne mogućnosti jer se vrijeme uključivanja ili isključivanja uređaja automatski zakazuje. Postoji nekoliko aplikacija ovog modula od kuća do industrija, bolnica, željezničkih postaja, a mnoga druga mjesta mogu se automatizirati na pristupačan i jednostavan način pomoću njegovih komponenti plug-and-play.

Korak 7: Resursi

Za više informacija o TSL34903, MCP9808 MCP23008 relejnom kontroleru pogledajte donje veze:

  • Tehnički list TSL34903
  • Tehnički list MCP9808
  • Tehnički list MCP23008

Preporučeni: