Satura rādītājs:

Mājas automatizācija ar Raspberry Pi, izmantojot releja dēli: 7 soļi
Mājas automatizācija ar Raspberry Pi, izmantojot releja dēli: 7 soļi

Video: Mājas automatizācija ar Raspberry Pi, izmantojot releja dēli: 7 soļi

Video: Mājas automatizācija ar Raspberry Pi, izmantojot releja dēli: 7 soļi
Video: ZEITGEIST: MOVING FORWARD | OFFICIAL RELEASE | 2011 2024, Novembris
Anonim
Mājas automatizācija ar Raspberry Pi, izmantojot Relay Board
Mājas automatizācija ar Raspberry Pi, izmantojot Relay Board

Lielākā daļa cilvēku vēlas lielu komfortu, bet par saprātīgām cenām. Mēs jūtamies slinki, lai apgaismotu mājas katru vakaru, kad saule noriet, un nākamajā rītā, atkal izslēdzot gaismas vai ieslēdzot/izslēdzot gaisa kondicionētāju/ventilatoru/sildītāju, kā arī laika apstākļus vai istabas temperatūru.

Šeit ir pieejams lēts risinājums, lai izvairītos no šī papildu darba, izslēdzot ierīces. Tas ir automatizēt jūsu mājas salīdzinoši ļoti mazākās izmaksās, izmantojot vienkāršus plug and play produktus. Tas darbojas kā tad, kad temperatūra paaugstinās vai pazeminās, attiecīgi ieslēdz gaisa kondicionētāju vai sildītāju. Turklāt, ja nepieciešams, tas palīdzēs ieslēgt vai apgaismot jūsu māju, manuāli tos neieslēdzot. Un daudzas citas ierīces var kontrolēt. Automatizējiet pasauli. Ļaujiet mums sākt jūsu māju.

1. darbība. Nepieciešama aparatūra

Nepieciešama aparatūra
Nepieciešama aparatūra
Nepieciešama aparatūra
Nepieciešama aparatūra
Nepieciešama aparatūra
Nepieciešama aparatūra

Mēs izmantosim:

Raspberry Pi

Raspberry Pi ir vientuļš uz Linux balstīts dators. Šis mazais dators ir jaudīgs, reģistrējot jaudu, ko izmanto kā elektronikas vingrinājumu daļu, un tādas datora darbības kā izklājlapas, tekstapstrāde, sērfošana tīmeklī, e -pasts un spēles

I2C vairogs vai I2C galvene

INPI2 (I2C adapteris) nodrošina Raspberry Pi 2/3 an I²C portu lietošanai ar vairākām I2C ierīcēm

I2C releja kontrolieris MCP23008

Microchip MCP23008 ir integrēts portu paplašinātājs, kas caur I²C kopni kontrolē astoņus relejus. Izmantojot integrēto I²C paplašināšanas portu, varat pievienot vairāk releju, digitālo I/O, analogo un digitālo pārveidotāju, sensorus un citas ierīces

MCP9808 temperatūras sensors

MCP9808 ir augstas precizitātes temperatūras sensors, kas nodrošina kalibrētus, linearizētus sensoru signālus digitālā, I²C formātā

TCS34903 spilgtuma sensors

TCS34903 ir krāsu sensoru ģimenes produkts, kas nodrošina gaismas un krāsu RGB komponenta vērtību

I2C savienojuma kabelis

I2C savienojošais kabelis ir 4 vadu kabelis, kas paredzēts I2C komunikācijai starp divām caur to savienotām I2C ierīcēm

Micro USB adapteris

Lai ieslēgtu Raspberry Pi, mums ir nepieciešams Micro USB kabelis

12 V strāvas adapteris releja plāksnei

MCP23008 releja kontrolieris darbojas ar 12 V ārēju barošanu, un to var piegādāt, izmantojot 12 V strāvas adapteri

Jūs varat iegādāties produktu, noklikšķinot uz tiem. Turklāt jūs varat atrast vairāk lielisku materiālu vietnē Dcube Store.

2. darbība. Aparatūras savienošana

Aparatūras savienojums
Aparatūras savienojums
Aparatūras savienojums
Aparatūras savienojums
Aparatūras savienojums
Aparatūras savienojums
Aparatūras savienojums
Aparatūras savienojums

Nepieciešamie savienojumi (skatiet attēlus) ir šādi:

  1. Tas darbosies, izmantojot I2C. Paņemiet Raspberry pi I2C vairogu un viegli pievienojiet to Raspberry Pi GPIO tapām.
  2. Savienojiet I2C kabeļa vienu galu ar TCS34903 ieeju un otru galu pie I2C vairoga.
  3. Savienojiet MCP9808 sensora katlu ar TCS34903 izeju, izmantojot I2C kabeli.
  4. Savienojiet MCP23008 katlu ar MCP9808 sensora izeju, izmantojot I2C kabeli.
  5. Pievienojiet arī Ethernet kabeli Raspberry Pi. Tam var izmantot arī Wi-Fi maršrutētāju.
  6. Pēc tam barojiet Raspberry Pi, izmantojot Micro USB adapteri un MCP23008 releja plati, izmantojot 12 V adapteri.
  7. Visbeidzot, savienojiet gaismu ar pirmo releju un ventilatoru vai sildītāju ar otro releju. Jūs varat paplašināt moduli vai pievienot relejiem vairāk ierīču.

3. darbība. Saziņa, izmantojot I2C protokolu

Lai iespējotu Raspberry Pi I2C, rīkojieties šādi:

  1. Terminālī ierakstiet šādu komandu, lai atvērtu konfigurācijas iestatījumus: sudo raspi-config
  2. Šeit atlasiet “Papildu opcijas”.
  3. Atlasiet “I2C” un noklikšķiniet uz “Jā”.
  4. Restartējiet sistēmu, lai to iestatītu atbilstoši izmaiņām, kas veiktas, izmantojot komandu reboot.

4. solis: moduļa programmēšana

Atalgojums par Raspberry Pi izmantošanu ir tas, ka tas nodrošina elastību izvēlēties programmēšanas valodu, kurā vēlaties programmēt, lai saskarne ar uztveres ierīci būtu savienota ar Raspberry Pi. Izmantojot šo Raspberry Pi priekšrocību, mēs šeit demonstrējam tās programmēšanu Java.

Lai iestatītu Java vidi, instalējiet “pi4j libraby” vietnē https://pi4j.com/1.2/index.html Pi4j ir Java ievades/izvades bibliotēka Raspberry Pi. Vienkārša un vēlamākā metode “pi4j” instalēšanai bibliotēka”ir izpildīt zemāk minēto komandu tieši savā Raspberry Pi:

čokurošanās -s get.pi4j.com | sudo bash

VAI

čokurošanās -s get.pi4j.com

importēt com.pi4j.io.i2c. I2CBus; importēt com.pi4j.io.i2c. I2CDevice; importēt com.pi4j.io.i2c. I2CFactory; importēt java.io. IOException; klase MCP23008 {public static void main (String args ) met Izņēmums {int statuss, vērtība, vērtība1 = 0x00; // Izveidot I2C kopni I2CBus kopne = I2CFactory.getInstance (I2CBus. BUS_1); // Iegūt I2C ierīci, MCP23008 I2C adrese ir 0x20 (32) I2CDevice device = bus.getDevice (0x20); // Iegūt I2C ierīci, MCP9808 I2C adrese ir 0x18 (24) I2CDevice MCP9808 = bus.getDevice (0x18); // Iegūt I2C ierīci, TCS34903 I2C adrese ir 0x39 (55) I2CDevice TCS34903 = bus.getDevice (0x39); // Iestatīt gaidīšanas laika reģistru = 0xff (255), gaidīšanas laiks = 2,78 ms TCS34903.write (0x83, (baits) 0xFF); // Iespējot piekļuvi IS kanālam TCS34903.write (0xC0, (baits) 0x80); // Iestatīt Atime reģistru uz 0x00 (0), maksimālais skaits = 65535 TCS34903.write (0x81, (baits) 0x00); // Ieslēgšana, ieslēgts ADC, gaidīšana iespējota TCS34903.write (0x80, (baits) 0x0B); Vītne.miega (250); // Lasīt 8 baitus datu ar skaidru/ir datu LSB pirmais baits dati1 = jauns baits [8]; // Lasīt temperatūras datu baitu dati = jauns baits [2]; statuss = ierīce.lasīt (0x09); // Visas tapas konfigurētas kā OUTPUT device.write (0x00, (baits) 0x00); Vītne.miega (500); while (true) {MCP9808.read (0x05, data, 0, 2); // Pārvērst datus int temp = ((dati [0] & 0x1F) * 256 + (dati [1] & 0xFF)); ja (temp> 4096) {temp -= 8192; } dubultā cTemp = temp * 0,0625; System.out.printf (“Temperatūra pēc Celsija ir: %.2f C %n”, cTemp); TCS34903.lasīt (0x94, dati1, 0, 8); dubults ir = ((dati1 [1] & 0xFF) * 256) + (dati1 [0] un 0xFF) * 1,00; divreiz sarkans = ((dati1 [3] un 0xFF) * 256) + (dati1 [2] un 0xFF) * 1,00; divreiz zaļš = ((dati1 [5] un 0xFF) * 256) + (dati1 [4] un 0xFF) * 1,00; dubultzils = ((dati1 [7] & 0xFF) * 256) + (dati1 [6] un 0xFF) * 1,00; // Aprēķināt apgaismojuma dubulto apgaismojumu = (-0,32466) * (sarkans) + (1,57837) * (zaļš) + (-0,73191) * (zils); System.out.printf (“Apgaismojums ir: %.2f lux %n“, apgaismojums); ja (apgaismojums 30) {vērtība = vērtība1 | (0x01); } cits {vērtība = vērtība1 & (0x02); } device.write (0x09, (baitu) vērtība); Vītne.miega (300); }}}

5. darbība: faila izveide un koda palaišana

  1. Lai izveidotu jaunu failu, kurā kodu var ierakstīt/kopēt, tiks izmantota šāda komanda: sudo nano FILE_NAME.javaEg. sudo nano MCP23008.java
  2. Pēc faila izveides mēs varam ievadīt kodu šeit.
  3. Kopējiet iepriekšējā solī norādīto kodu un ielīmējiet to šeit esošajā logā.
  4. Lai izietu, nospiediet Ctrl+X un pēc tam "y".
  5. Pēc tam apkopojiet kodu, izmantojot šādu komandu: pi4j FILE_NAME.javaEg. pi4j MCP23008.java
  6. Ja nav kļūdu, palaidiet programmu, izmantojot zemāk minēto komandu: pi4j FILE_NAMEEg. pi4j MCP23008.java

6. darbība: lietojumprogrammas

Šī sistēma ļauj kontrolēt ierīces, neizejot pie sienas slēdžiem. Tam ir plašas iespējas, jo ierīču ieslēgšanas vai izslēgšanas laiks tiek automātiski ieplānots. Šim modulim ir nedaudz lietojumu, sākot no mājām līdz rūpniecībai, slimnīcām, dzelzceļa stacijām un daudzām citām vietām, to pieejamā un vienkāršā veidā var automatizēt, izmantojot plug-and-play komponentus.

7. solis: resursi

Lai iegūtu papildinformāciju par TSL34903, MCP9808 MCP23008 releja kontrolieri, skatiet zemāk esošās saites:

  • TSL34903 datu lapa
  • MCP9808 datu lapa
  • MCP23008 datu lapa

Ieteicams: