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, Novembar
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, ponovo isključiti svjetlo Ili uključiti/isključiti klima uređaj/ventilator/grijače prema vremenu ili sobnoj temperaturi.

Ovdje je jeftino rješenje za izbjegavanje ovog dodatnog rada pri isključivanju uređaja kada je to potrebno. Radi se o automatizaciji vaših kuća uz relativno manje troškove koristeći jednostavne plug and play proizvode. 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

Koristićemo:

Raspberry Pi

Raspberry Pi je samotni PC baziran na Linux računaru. Ovaj mali računar ima veliki značaj u registrovanju snage, koji se koristi kao deo elektroničke vežbe, i operacijama na računaru kao što su tabele, obrada teksta, surfovanje internetom i e -pošta i igre

I2C štit ili I2C zaglavlje

INPI2 (I2C adapter) pruža Raspberry Pi 2/3 i I²C port za upotrebu sa više I2C uređaja

I2C Relejni kontroler MCP23008

MCP23008 iz Microchip -a je integrirani ekspander porta koji kontrolira osam releja putem I²C sabirnice. Pomoću integriranog I²C porta 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 pruža kalibrirane, linearizovane signale senzora u digitalnom, I²C formatu

TCS34903 senzor osvjetljenja

TCS34903 je proizvod iz porodice senzora za boju koji daje vrijednost RGB komponente svjetlosti i boje

I2C priključni 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 -a potreban nam je mikro USB kabel

12V adapter za napajanje relejne ploče

MCP23008 Relejni kontroler radi na 12V vanjsko napajanje i može se isporučiti pomoću 12V adaptera za napajanje

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

Korak 2: Povezivanje hardvera

Povezivanje hardvera
Povezivanje hardvera
Povezivanje hardvera
Povezivanje hardvera
Povezivanje hardvera
Povezivanje hardvera
Povezivanje hardvera
Povezivanje 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. Priključite jedan kraj I2C kabla 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 ulazni lonac na izlaz senzora MCP9808 pomoću I2C kabela.
  5. Također povežite Ethernet kabel na Raspberry Pi. Za to se može koristiti i Wi-Fi usmjerivač.
  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 povezati 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 sistem da 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“sa https://pi4j.com/1.2/index.html Pi4j je Java ulazna/izlazna biblioteka 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

import com.pi4j.io.i2c. I2CBus; import com.pi4j.io.i2c. I2CDevice; import 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ćava pristup IR kanalu TCS34903.write (0xC0, (bajt) 0x80); // Postavite Atime registar na 0x00 (0), maksimalni broj = 65535 TCS34903.write (0x81, (bajt) 0x00); // Uključeno, ADC omogućen, čekanje omogućeno TCS34903.write (0x80, (bajt) 0x0B); Thread.sleep (250); // Očitavanje 8 bajtova podataka sa jasnim/ir podacima LSB prvi bajt data1 = novi bajt [8]; // Očitavanje podataka o temperaturi bajt podaci = novi bajt [2]; status = device.read (0x09); // Konfigurirali sve pinove kao OUTPUT device.write (0x00, (byte) 0x00); Thread.sleep (500); while (true) {MCP9808.read (0x05, podaci, 0, 2); // Pretvorimo 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.read (0x94, data1, 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) * (crvena) + (1.57837) * (zelena) + (-0.73191) * (plava); System.out.printf ("Osvijetljenost je: %.2f lux %n", osvijetljenost); if (osvjetljenje 30) {vrijednost = vrijednost1 | (0x01); } else {value = value1 & (0x02); } device.write (0x09, (bajt) vrijednost); Thread.sleep (300); }}}

Korak 5: Kreiranje datoteke i pokretanje koda

  1. Za kreiranje 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 kreiranja 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 kompajlirajte kôd pomoću sljedeće naredbe: pi4j FILE_NAME.javaEg. pi4j MCP23008.java
  6. Ako nema grešaka, pokrenite program pomoću navedene komande: pi4j FILE_NAMEEg. pi4j MCP23008.java

Korak 6: Aplikacije

Ovaj sistem vam omogućava kontrolu uređaja bez odlaska na zidne prekidače. Ovo 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 stanica i 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čuje se: