Obsah:

Domáca automatizácia s Raspberry Pi pomocou reléovej dosky: 7 krokov
Domáca automatizácia s Raspberry Pi pomocou reléovej dosky: 7 krokov

Video: Domáca automatizácia s Raspberry Pi pomocou reléovej dosky: 7 krokov

Video: Domáca automatizácia s Raspberry Pi pomocou reléovej dosky: 7 krokov
Video: Как сделать 2-канальное реле Wi-Fi ESP8266 ESP-01 | ESP-01 Домашняя автоматизация | УдаленныйXY 2024, Júl
Anonim
Domáca automatizácia s Raspberry Pi pomocou reléovej dosky
Domáca automatizácia s Raspberry Pi pomocou reléovej dosky

Väčšina ľudí chce veľký komfort, ale za rozumné ceny. Cítime sa leniví rozsvietiť domy každý večer, keď zapadne slnko, a nasledujúce ráno znova vypnúť svetlá alebo zapnúť/vypnúť klimatizáciu/ventilátor/ohrievače podľa počasia alebo izbovej teploty.

Lacné riešenie, ako sa vyhnúť tejto ďalšej práci pri vypínaní spotrebičov podľa potreby, je tu. Ide o automatizáciu vašich domov za relatívne veľmi nízke náklady pomocou jednoduchých produktov typu plug and play. Funguje to tak, že keď teplota stúpne alebo klesne, zapne sa klimatizácia alebo ohrievač. V prípade potreby pomôže aj zapnutie alebo osvetlenie vášho domova bez manuálneho zapínania. A mnoho ďalších spotrebičov je možné ovládať. Automatizujte svet. Začnime s vašim domovom.

Krok 1: Vyžaduje sa hardvér

Vyžaduje sa hardvér
Vyžaduje sa hardvér
Vyžaduje sa hardvér
Vyžaduje sa hardvér
Vyžaduje sa hardvér
Vyžaduje sa hardvér

Budeme používať:

Malinový koláč

Raspberry Pi je osamelý počítač založený na Linuxe. Tento malý počítač ponúka vynikajúcu registračnú silu a používa sa ako súčasť cvičení elektroniky a počítačových operácií, ako sú tabuľky, spracovanie textu, surfovanie po webe, e -maily a hry

I2C Shield alebo I2C Header

INPI2 (adaptér I2C) poskytuje port Raspberry Pi 2/3 a I²C na použitie s viacerými zariadeniami I2C

I2C Reléový ovládač MCP23008

MCP23008 od Microchip je expandér integrovaných portov, ktorý riadi osem relé cez zbernicu I²C. Pomocou integrovaného rozširujúceho portu I²C môžete pridať ďalšie relé, digitálne I/O, analógovo -digitálne prevodníky, senzory a ďalšie zariadenia

Snímač teploty MCP9808

MCP9808 je vysoko presný teplotný senzor, ktorý poskytuje kalibrované linearizované signály zo senzorov v digitálnom formáte I²C

Senzor jasu TCS34903

TCS34903 je produkt z radu farebných senzorov, ktorý poskytuje hodnotu RGB zložky svetla a farieb

I2C prepojovací kábel

Pripojovací kábel I2C je 4-káblový kábel, ktorý je určený na komunikáciu I2C medzi dvoma zariadeniami I2C, ktoré sú k nemu pripojené

Micro USB adaptér

Na napájanie Raspberry Pi potrebujeme kábel Micro USB

Napájací adaptér 12 V pre reléovú dosku

Ovládač relé MCP23008 pracuje na externom napájaní 12 V a je možné ho napájať pomocou 12V napájacieho adaptéra

Produkt si môžete kúpiť kliknutím naň. V obchode Dcube Store nájdete aj ďalší skvelý materiál.

Krok 2: Pripojenie hardvéru

Pripojenie hardvéru
Pripojenie hardvéru
Pripojenie hardvéru
Pripojenie hardvéru
Pripojenie hardvéru
Pripojenie hardvéru
Pripojenie hardvéru
Pripojenie hardvéru

Potrebné pripojenia (pozri obrázky) sú nasledovné:

  1. To bude fungovať cez I2C. Vezmite I2C štít pre Raspberry pi a jemne ho pripojte k GPIO pinom Raspberry Pi.
  2. Jeden koniec kábla I2C zapojte do portu TCS34903 a druhý koniec do tienenia I2C.
  3. Pripojte vstupný hrniec snímača MCP9808 k výstupom TCS34903 pomocou kábla I2C.
  4. Pripojte vstupný hrniec MCP23008 k výstupom snímača MCP9808 pomocou kábla I2C.
  5. Pripojte tiež ethernetový kábel k Raspberry Pi. Na to isté môžete použiť aj Wi-Fi router.
  6. Potom napájajte Raspberry Pi pomocou adaptéra Micro USB a reléovej dosky MCP23008 pomocou adaptéra 12V.
  7. Nakoniec spojte svetlo s prvým relé a ventilátor alebo ohrievač s druhým relé. Relé môžete rozšíriť o modul alebo môžete pripojiť viac zariadení.

Krok 3: Komunikácia pomocou protokolu I2C

Ak chcete povoliť Raspberry Pi I2C, postupujte nasledovne:

  1. V termináli zadajte nasledujúci príkaz na otvorenie konfiguračných nastavení: sudo raspi-config
  2. Tu zvoľte „Rozšírené možnosti“.
  3. Vyberte „I2C“a kliknite na „Áno“.
  4. Reštartujte systém a nastavte ho podľa zmien vykonaných pomocou príkazu reštartovať.

Krok 4: Programovanie modulu

Odmenou za používanie Raspberry Pi je to, že vám poskytne flexibilitu pri výbere programovacieho jazyka, v ktorom chcete programovať, a prepojiť tak snímacie zariadenie s Raspberry Pi. Vďaka tejto výhode Raspberry Pi tu demonštrujeme jeho programovanie v Jave.

Ak chcete nastaviť prostredie Java, nainštalujte „pi4j libraby“z https://pi4j.com/1.2/index.html Pi4j je vstupná/výstupná knižnica Java pre Raspberry Pi. Jednoduchý a najvýhodnejší spôsob inštalácie „pi4j“library”je vykonať nižšie uvedený príkaz priamo vo vašom Raspberry Pi:

zvinutie -s get.pi4j.com | sudo bash

ALEBO

curl -s get.pi4j.com

importovať com.pi4j.io.i2c. I2CBus; importovať com.pi4j.io.i2c. I2CDevice; import com.pi4j.io.i2c. I2CFactory; import java.io. IOException; trieda MCP23008 {public static void main (String args ) throws Exception {int status, value, value1 = 0x00; // Vytvorenie zbernice I2C I2CBus zbernica = I2CFactory.getInstance (I2CBus. BUS_1); // Získať zariadenie I2C, adresa MCP23008 I2C je 0x20 (32) I2CDevice zariadenie = bus.getDevice (0x20); // Získať zariadenie I2C, adresa ICP MCP9808 je 0x18 (24) I2CDevice MCP9808 = bus.getDevice (0x18); // Získať zariadenie I2C, adresa TCS34903 I2C je 0x39 (55) I2CDevice TCS34903 = bus.getDevice (0x39); // Nastavenie čakacej doby register = 0xff (255), čakacia doba = 2,78 ms TCS34903.write (0x83, (byte) 0xFF); // Povoliť prístup k IR kanálu TCS34903.write (0xC0, (byte) 0x80); // Nastavte register Atime na 0x00 (0), maximálny počet = 65535 TCS34903.write (0x81, (byte) 0x00); // Zapnutie, ADC povolené, čakanie povolené TCS34903.write (0x80, (byte) 0x0B); Thread.sleep (250); // Čítanie 8 bajtov dát s vymazanými/ir dátami LSB prvý bajt data1 = nový bajt [8]; // Čítanie údajov o teplote byte data = nový byte [2]; status = device.read (0x09); // Konfigurácia všetkých pinov ako VÝSTUP zariadenia.write (0x00, (byte) 0x00); Thread.sleep (500); while (true) {MCP9808.read (0x05, data, 0, 2); // Konvertovanie údajov int temp = ((data [0] & 0x1F) * 256 + (data [1] & 0xFF)); if (teplota> 4096) {temp -= 8192; } dvojnásobok cTemp = teplota * 0,0625; System.out.printf („Teplota v stupňoch Celzia je: %.2f C %n“, cTemp); TCS34903.read (0x94, data1, 0, 8); double ir = ((data1 [1] & 0xFF) * 256) + (data1 [0] & 0xFF) * 1,00; dvojitá červená = ((data1 [3] & 0xFF) * 256) + (data1 [2] & 0xFF) * 1,00; dvojitá zelená = ((data1 [5] & 0xFF) * 256) + (data1 [4] & 0xFF) * 1,00; dvojitá modrá = ((data1 [7] & 0xFF) * 256) + (data1 [6] & 0xFF) * 1,00; // Vypočítajte osvetlenie dvojnásobné osvetlenie = (-0,32466) * (červené) + (1,57837) * (zelené) + (-0,73191) * (modré); System.out.printf („Osvetlenie je: %.2f lux %n“, osvetlenie); if (osvetlenie 30) {hodnota = hodnota1 | (0x01); } else {hodnota = hodnota1 & (0x02); } device.write (0x09, (bajtová) hodnota); Thread.sleep (300); }}}

Krok 5: Vytvorenie súboru a spustenie kódu

  1. Na vytvorenie nového súboru, do ktorého je možné kód zapísať/skopírovať, sa použije nasledujúci príkaz: sudo nano FILE_NAME.javaEg. sudo nano MCP23008.java
  2. Po vytvorení súboru tu môžeme zadať kód.
  3. Skopírujte kód uvedený v predchádzajúcom kroku a prilepte ho do okna tu.
  4. Ukončite stlačením klávesov Ctrl+X a potom „y“.
  5. Potom skompilovajte kód pomocou nasledujúceho príkazu: pi4j FILE_NAME.javaEg. pi4j MCP23008.java
  6. Ak nie sú žiadne chyby, spustite program pomocou nižšie uvedeného príkazu: pi4j FILE_NAMEEg. pi4j MCP23008.java

Krok 6: Aplikácie

Tento systém vám umožňuje ovládať zariadenia bez toho, aby ste museli používať nástenné vypínače. Má rozsiahle možnosti, pretože časy zapnutia alebo vypnutia zariadení sú automaticky naplánované. Existuje niekoľko aplikácií tohto modulu od domov po priemyselné odvetvia, nemocnice, železničné stanice a mnoho ďalších miest, ktoré je možné automatizovať cenovo dostupným a jednoduchým spôsobom pomocou komponentov plug-and-play.

Krok 7: Zdroje

Viac informácií o reléovom ovládači TSL34903, MCP9808 MCP23008 nájdete na nasledujúcich odkazoch:

  • Technický list TSL34903
  • Dátový list MCP9808
  • Dátový list MCP23008

Odporúča: