Kazalo:
- 1. korak: Potrebna je strojna oprema
- 2. korak: Priključitev strojne opreme
- 3. korak: Komuniciranje z uporabo protokola I2C
- 4. korak: Programiranje modula
- 5. korak: Ustvarjanje datoteke in zagon kode
- 6. korak: Aplikacije
- 7. korak: Viri
Video: Domača avtomatizacija z Raspberry Pi z uporabo relejne plošče: 7 korakov
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:03
Večina ljudi želi veliko udobja, vendar po razumnih cenah. Leni smo, da vsak večer ob sončnem zahodu prižgemo hiše in naslednje jutro spet ugasnemo luči Ali pa vklopimo/izklopimo klimatsko napravo/ventilator/grelnike, kakršno je bilo vreme ali sobna temperatura.
Tu je poceni rešitev, da se izognete temu dodatnemu delu pri izklopu aparatov, kadar je to potrebno. Gre za avtomatizacijo vaših hiš s sorazmerno zelo nizkimi stroški z uporabo preprostih izdelkov plug and play. Deluje tako, da ko se temperatura dvigne ali zniža, vklopi klimatsko napravo oziroma grelec. Po potrebi bo v pomoč tudi pri vklopu ali osvetlitvi vašega doma, ne da bi jih ročno vklopili. Avtomatizirajte svet in še veliko več naprav. Naj začnemo vaš dom.
1. korak: Potrebna je strojna oprema
Uporabljali bomo:
Malina Pi
Raspberry Pi je osebni računalnik, ki temelji na Linuxu. Ta mali računalnik zaznamuje moč, ki se uporablja kot del elektronskih vaj, in računalniških operacij, kot so preglednice, urejanje besedil, brskanje po spletu in e -pošta ter igre
I2C ščit ali glava I2C
INPI2 (I2C adapter) ponuja vrata Raspberry Pi 2/3 in I²C za uporabo z več napravami I2C
Relejni krmilnik I2C MCP23008
MCP23008 podjetja Microchip je integriran razširitvenik vrat, ki preko vodila I²C upravlja osem relejev. Z vgrajenimi razširitvenimi vrati I²C lahko dodate več relejev, digitalnih V/I, analogno -digitalnih pretvornikov, senzorjev in drugih naprav
MCP9808 Temperaturni senzor
MCP9808 je visoko natančen temperaturni senzor, ki zagotavlja umerjene, linearne senzorske signale v digitalnem formatu I²C
Senzor svetilnosti TCS34903
TCS34903 je izdelek družine barvnih senzorjev, ki zagotavlja vrednost svetlobe in barve komponente RGB
Priključni kabel I2C
Priključni kabel I2C je 4-žilni kabel, ki je namenjen komunikaciji I2C med dvema napravama I2C, povezanima prek njega
Micro USB adapter
Za vklop Raspberry Pi potrebujemo kabel Micro USB
12V napajalnik za relejsko ploščo
Relejni krmilnik MCP23008 deluje na 12V zunanje napajanje in ga je mogoče napajati z 12V napajalnikom
Izdelek lahko kupite s klikom nanj. Prav tako lahko v trgovini Dcube najdete več odličnega materiala.
2. korak: Priključitev strojne opreme
Potrebne povezave (glejte slike) so naslednje:
- To bo delovalo preko I2C. Vzemite ščit I2C za Raspberry pi in ga nežno povežite z zatiči GPIO Raspberry Pi.
- En konec kabla I2C priključite na vhod TCS34903, drugi konec pa na ščit I2C.
- Vtičnico senzorja MCP9808 priključite na izhod TCS34903 s kablom I2C.
- Vtičnico MCP23008 priključite na izhod senzorja MCP9808 s kablom I2C.
- Ethernetni kabel priključite tudi na usmerjevalnik Raspberry Pi. Za isto lahko uporabite tudi usmerjevalnik Wi-Fi.
- Nato napajajte Raspberry Pi z adapterjem Micro USB in relejno ploščo MCP23008 z adapterjem 12V.
- Na koncu priključite luč s prvim relejem in ventilator ali grelec z drugim relejem. Modul lahko razširite ali pa z releji povežete več naprav.
3. korak: Komuniciranje z uporabo protokola I2C
Če želite omogočiti Raspberry Pi I2C, nadaljujte, kot je navedeno spodaj:
- V terminalu vnesite naslednji ukaz, da odprete konfiguracijske nastavitve: sudo raspi-config
- Tukaj izberite »Napredne možnosti«.
- Izberite »I2C« in kliknite »Da«.
- Znova zaženite sistem, da ga nastavite glede na spremembe, izvedene z ukazom ponovni zagon.
4. korak: Programiranje modula
Nagrada za uporabo Raspberry Pi je, da vam omogoča prilagodljivost pri izbiri programskega jezika, v katerem želite programirati za vmesnik zaznavalne naprave z Raspberry Pi. Če izkoristimo to prednost Raspberry Pi, tukaj dokazujemo njeno programiranje v Javi.
Če želite nastaviti okolje Java, namestite “pi4j libraby” s spletnega mesta https://pi4j.com/1.2/index.html Pi4j je knjižnica vnosov/izhodov Java za Raspberry Pi. Enostaven in najbolj priljubljen način za namestitev “pi4j knjižnica je, da izvedete spodnji ukaz neposredno v vašem Raspberry Pi:
curl -s get.pi4j.com | sudo bash
ALI
curl -s get.pi4j.com
uvoz com.pi4j.io.i2c. I2CBus; uvoz com.pi4j.io.i2c. I2CDevice; uvoz com.pi4j.io.i2c. I2CFactory; uvoz java.io. IOException; razred MCP23008 {public static void main (String args ) throws Exception {int status, value, value1 = 0x00; // Ustvari vodilo I2C I2CBus vodilo = I2CFactory.getInstance (I2CBus. BUS_1); // Pridobite napravo I2C, naslov MCP23008 I2C je 0x20 (32) Naprava I2CDevice = bus.getDevice (0x20); // Pridobite napravo I2C, naslov MCP9808 I2C je 0x18 (24) I2CDevice MCP9808 = bus.getDevice (0x18); // Pridobite napravo I2C, naslov I2C TCS34903 je 0x39 (55) I2CDevice TCS34903 = bus.getDevice (0x39); // Nastavi register čakanja = 0xff (255), čakalni čas = 2,78 ms TCS34903.write (0x83, (bajt) 0xFF); // Omogoči dostop do IR kanala TCS34903.write (0xC0, (bajt) 0x80); // Atime register nastavite na 0x00 (0), največje število = 65535 TCS34903.write (0x81, (bajt) 0x00); // VKLOPLJEN, ADC omogočen, Čakanje omogočeno TCS34903.write (0x80, (bajt) 0x0B); Thread.sleep (250); // Preberite 8 bajtov podatkov z jasnimi/ir podatki LSB prvi bajt data1 = nov bajt [8]; // branje temperaturnih podatkov bajt podatki = novi bajt [2]; status = naprava.prebrano (0x09); // Konfigurirali vse nožice kot OUTPUT device.write (0x00, (byte) 0x00); Thread.sleep (500); while (true) {MCP9808. read (0x05, podatki, 0, 2); // pretvori podatke int temp = ((podatki [0] & 0x1F) * 256 + (podatki [1] & 0xFF)); if (temp> 4096) {temp -= 8192; } dvojni cTemp = temp * 0,0625; System.out.printf (»Temperatura v Celziju je: %.2f C %n«, cTemp); TCS34903.read (0x94, data1, 0, 8); dvojni ir = ((podatki1 [1] & 0xFF) * 256) + (podatki1 [0] & 0xFF) * 1,00; dvojno rdeča = ((podatki1 [3] & 0xFF) * 256) + (podatki1 [2] & 0xFF) * 1,00; dvojno zelena = ((podatki1 [5] & 0xFF) * 256) + (podatki1 [4] & 0xFF) * 1,00; dvojno modra = ((podatki1 [7] & 0xFF) * 256) + (podatki1 [6] & 0xFF) * 1,00; // Izračunaj dvojno osvetljenost = (-0.32466) * (rdeča) + (1.57837) * (zelena) + (-0.73191) * (modra); System.out.printf ("Osvetljenost je: %.2f lux %n", osvetljenost); if (osvetljenost 30) {vrednost = vrednost1 | (0x01); } else {value = value1 & (0x02); } device.write (0x09, (bajtna) vrednost); Thread.sleep (300); }}}
5. korak: Ustvarjanje datoteke in zagon kode
- Za ustvarjanje nove datoteke, v katero je mogoče zapisati/kopirati kodo, bo uporabljen naslednji ukaz: sudo nano FILE_NAME.javaEg. sudo nano MCP23008.java
- Po ustvarjanju datoteke lahko tukaj vnesemo kodo.
- Kopirajte kodo iz prejšnjega koraka in jo prilepite v okno tukaj.
- Pritisnite Ctrl+X in nato "y" za izhod.
- Nato z naslednjim ukazom sestavite kodo: pi4j FILE_NAME.javaEg. pi4j MCP23008.java
- Če ni napak, zaženite program z omenjenim ukazom: pi4j FILE_NAMEEg. pi4j MCP23008.java
6. korak: Aplikacije
Ta sistem vam omogoča nadzor naprav, ne da bi šli na stenska stikala. To ima obsežne zmogljivosti, saj se časi vklopa ali izklopa naprav samodejno načrtujejo. Nekaj je aplikacij tega modula od hiš do industrij, bolnišnic, železniških postaj in še veliko drugih mest je mogoče na cenovno ugoden in enostaven način avtomatizirati s svojimi komponentami plug-and-play.
7. korak: Viri
Za več informacij o krmilniku relejev TSL34903, MCP9808 MCP23008 si oglejte spodnje povezave:
- Tehnični list TSL34903
- Tehnični list MCP9808
- Tehnični list MCP23008
Priporočena:
Domača avtomatizacija naslednje generacije z uporabo Eagle Cad (1. del - PCB): 14 korakov
Domača avtomatizacija naslednje generacije z uporabo Eagle Cad -a (1. del - PCB): Uvod: Zakaj govorim o svoji naslednji generaciji: ker uporablja nekatere komponente, ki so veliko boljše od tradicionalnih naprav za avtomatizacijo doma. Z napravami lahko nadzoruje: Google Voice Commands Touch Panel na nadzoru naprave iz aplikacije
Domača avtomatizacija z uporabo ESP8266 ali NODEMCU: 6 korakov
Domača avtomatizacija z uporabo ESP8266 ali NODEMCU: Ste kdaj želeli, da bi bil vaš dom avtomatiziran prek wifija? Želite upravljati luči, ventilator in vse druge naprave s pametnega telefona? Ali ste si kdaj želeli poučiti o povezanih napravah in začeti z njim? Ta projekt avtomatizacije doma bo
Domača avtomatizacija z internetom/v oblaku z uporabo Esp8266 (aREST, MQTT, IoT): 7 korakov (s slikami)
Domača avtomatizacija, ki jo nadzira internet/oblak z uporabo Esp8266 (aREST, MQTT, IoT): VSE zasluge http://arest.io/ za storitev v oblaku !! IoT trenutno najbolj obravnavana tema na svetu !! Strežniki in storitve v oblaku, ki to omogočajo, so privlačna točka današnjega sveta
Upravljanje relejne plošče iz Octoprinta na Raspberry Pi: 5 korakov
Upravljanje relejne plošče iz Octoprinta na Raspberry Pi: Torej imate malinov pi z Octoprintom in imate celo nastavljeno kamero. Zadnja stvar, ki jo potrebujete, je način za vklop in izklop vašega 3D tiskalnika in morda nadzor luči. To navodilo je za vas! To je navdihnjeno in poenostavljeno na: https: //github.co
Domača avtomatizacija z uporabo Raspberry Pi 3 in Node-RED: 6 korakov
Domača avtomatizacija z uporabo Raspberry Pi 3 in Node-RED: Potrebni materiali: 1. Raspberry Pi 32. Relejni modul 3. Premostitvene žice Za več informacij glejte: