Sadržaj:
- Korak 1: Potreban hardver
- 2. korak: Spajanje hardvera
- Korak 3: Komunikacija pomoću I2C protokola
- Korak 4: Programiranje modula
- Korak 5: Stvaranje 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 promjena: 2024-01-30 09:33
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
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
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.
- Spojite jedan kraj I2C kabela na ulaz TCS34903, a drugi kraj na I2C štit.
- Spojite unutarnji uložak senzora MCP9808 na izlaz TCS34903 pomoću I2C kabela.
- Spojite MCP23008 utor u utičnicu na izlaz senzora MCP9808 pomoću I2C kabela.
- Također povežite Ethernet kabel s Raspberry Pi. Wi-Fi usmjerivač također se može koristiti za isti.
- 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 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:
- 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 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
- 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
- Nakon stvaranja 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 sastavite kôd pomoću sljedeće naredbe: pi4j FILE_NAME.javaEg. pi4j MCP23008.java
- 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:
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 Cada (1. dio - PCB): Uvod: Zašto govorim o svojoj sljedećoj generaciji: 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 pomoću ESP8266 ili NODEMCU -a: 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 NA TEMELJU LOKALNOG MQTT SERVERA KORIŠĆENJA PI I NODEMCU PLOČE MALINE: 6 koraka
KUĆNA AUTOMATIZACIJA ZASNOVANA NA LOKALNOM MQTT SERVERU KORIŠĆUĆI PI I NODEMCU PLOČU MALINE: Do sada sam napravio nekoliko video tutorijala u vezi upravljanja uređajima preko interneta. I za to sam uvijek preferirao Adafruit MQTT poslužitelj jer je bio jednostavan za korištenje i prilagođen korisnicima. No sve se to temeljilo na internetu. To znači da smo
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 DOM ” 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