Sadržaj:
- Korak 1: Potreban hardver
- Korak 2: Povezivanje hardvera
- Korak 3: Komunikacija pomoću I2C protokola
- Korak 4: Programiranje modula
- Korak 5: Kreiranje datoteke i pokretanje koda
- Korak 6: Aplikacije
- Korak 7: Resursi
Video: Kućna automatizacija s Raspberry Pi pomoću relejne ploče: 7 koraka
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:05
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
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
Potrebne veze (pogledajte slike) su sljedeće:
- Ovo će raditi preko I2C. Uzmite I2C štit za Raspberry pi i nježno ga spojite na GPIO pinove Raspberry Pi.
- Priključite jedan kraj I2C kabla na ulaz TCS34903, a drugi kraj na I2C štit.
- Spojite unutarnji uložak senzora MCP9808 na izlaz TCS34903 pomoću I2C kabela.
- Spojite MCP23008 ulazni lonac na izlaz senzora MCP9808 pomoću I2C kabela.
- Također povežite Ethernet kabel na Raspberry Pi. Za to se može koristiti i Wi-Fi usmjerivač.
- Zatim napajajte Raspberry Pi pomoću Micro USB adaptera i relejne ploče MCP23008 pomoću 12V adaptera.
- 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:
- U terminalu upišite sljedeću naredbu za otvaranje konfiguracijskih postavki: sudo raspi-config
- Ovdje odaberite "Napredne opcije".
- Odaberite "I2C" i kliknite "Da".
- 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
- 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
- Nakon kreiranja datoteke, ovdje možemo unijeti kôd.
- Kopirajte kôd iz prethodnog koraka i zalijepite ga u prozor ovdje.
- Pritisnite Ctrl+X, a zatim "y" za izlaz.
- Zatim kompajlirajte kôd pomoću sljedeće naredbe: pi4j FILE_NAME.javaEg. pi4j MCP23008.java
- 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:
Kućna automatizacija sljedeće generacije pomoću Eagle Cad -a (1. dio - PCB): 14 koraka
Kućna automatizacija sljedeće generacije pomoću Eagle Cad -a (1. dio - PCB): Uvod: Zašto kažem sljedeća generacija: jer koristi neke komponente koje su mnogo bolje od tradicionalnih uređaja za kućnu automatizaciju. Uređajima može upravljati pomoću: Google Voice Commands dodirne ploče na Kontroli uređaja iz aplikacije
Kućna automatizacija pomoću ESP8266 ili NODEMCU: 6 koraka
Kućna automatizacija koristeći ESP8266 ili NODEMCU: Jeste li ikada htjeli učiniti svoj dom automatiziranim putem WiFi -ja? Želite kontrolirati svjetla, ventilator i sve ostale uređaje sa svog pametnog telefona? Ili ste ikada htjeli uputstva o povezanim uređajima i početku rada s njim? Ovaj projekt kućne automatizacije će
Kućna automatizacija pomoću Raspberry Pi Matrix glasa i isječaka (2. dio): 8 koraka
Kućna automatizacija pomoću Raspberry Pi Matrix glasa i isječaka (2. dio): Ažuriranje kućne automatizacije pomoću Raspberry Pi Matrix glasa i isječaka. U ovom se PWM koristi za kontrolu vanjskih LED dioda i servo motora Svi detalji navedeni u dijelu 1https: //www.instructables.com/id/Controlling-Light
Kućna automatizacija pomoću Raspberry Pi 3 i Node-RED: 6 koraka
Kućna automatizacija pomoću Raspberry Pi 3 i Node-RED-a: Potrebni materijali: 1.Raspberry Pi 32. Relejni modul3.Jamper žiceZa više informacija pogledajte:
Jednostavna kućna automatizacija pomoću Raspberry Pi3 i Android stvari: 5 koraka (sa slikama)
Jednostavna kućna automatizacija pomoću Raspberry Pi3 i Android stvari: Ideja je dizajnirati “ pametan HOME ” gdje se može kontrolirati kućanske uređaje pomoću Android stvari i Raspberry Pi. Projekt se sastoji od upravljanja kućanskim aparatima poput svjetla, ventilatora, motora itd. Potrebni materijali: Raspberry Pi 3HDMI Ca