Turinys:

Namų automatizavimas naudojant „Raspberry Pi“naudojant relės lentą: 7 žingsniai
Namų automatizavimas naudojant „Raspberry Pi“naudojant relės lentą: 7 žingsniai

Video: Namų automatizavimas naudojant „Raspberry Pi“naudojant relės lentą: 7 žingsniai

Video: Namų automatizavimas naudojant „Raspberry Pi“naudojant relės lentą: 7 žingsniai
Video: Leap Motion SDK 2024, Liepa
Anonim
Namų automatizavimas naudojant „Raspberry Pi“naudojant relės lentą
Namų automatizavimas naudojant „Raspberry Pi“naudojant relės lentą

Dauguma žmonių nori didelio komforto, tačiau už priimtiną kainą. Jaučiamės tingūs kiekvieną vakarą, kai saulė nusileidžia, apšviesti namus ir kitą rytą, vėl išjungti šviesą Arba įjungti/išjungti oro kondicionierių/ventiliatorių/šildytuvus, kaip ir oro ar kambario temperatūra.

Čia yra nebrangus sprendimas, padedantis išvengti papildomo darbo, kai reikia išjungti prietaisus. Tai yra automatizuoti jūsų namus palyginti mažesnėmis sąnaudomis naudojant paprastus „plug and play“produktus. Jis veikia taip, kai temperatūra pakyla arba nukrenta, atitinkamai įjungia oro kondicionierių arba šildytuvą. Be to, prireikus tai padės įjungti ar apšviesti jūsų namus rankiniu būdu jų neįjungus. Ir daug daugiau prietaisų galima valdyti. Automatizuokite pasaulį. Pradėkime nuo jūsų namų.

1 veiksmas: reikalinga aparatinė įranga

Reikalinga aparatinė įranga
Reikalinga aparatinė įranga
Reikalinga aparatinė įranga
Reikalinga aparatinė įranga
Reikalinga aparatinė įranga
Reikalinga aparatinė įranga

Mes naudosime:

Raspberry Pi

„Raspberry Pi“yra vienišas „Linux“kompiuteris. Šis mažas kompiuteris yra labai svarbus registruojant galią, naudojamas kaip elektronikos pratimų dalis ir kompiuterio operacijos, tokios kaip skaičiuoklės, tekstų apdorojimas, naršymas internete, el. Paštas ir žaidimai

„I2C Shield“arba „I2C“antraštė

INPI2 (I2C adapteris) turi Raspberry Pi 2/3 an I²C prievadą, skirtą naudoti su keliais I2C įrenginiais

I2C relės valdiklis MCP23008

MCP23008 iš „Microchip“yra integruotas prievado plėtiklis, valdantis aštuonias reles per I²C magistralę. Naudodami integruotą I²C išplėtimo prievadą, galite pridėti daugiau relių, skaitmeninių įvesties/išvesties, analoginių ir skaitmeninių keitiklių, jutiklių ir kitų įrenginių

MCP9808 temperatūros jutiklis

MCP9808 yra didelio tikslumo temperatūros jutiklis, teikiantis kalibruotus, linijinius jutiklių signalus skaitmeniniu I²C formatu

TCS34903 šviesumo jutiklis

TCS34903 yra spalvų jutiklių šeimos produktas, kuris suteikia RGB šviesos ir spalvos komponento vertę

I2C jungiamasis kabelis

„I2C“jungiamasis kabelis yra 4 laidų kabelis, skirtas I2C ryšiui tarp dviejų per jį prijungtų I2C įrenginių

Micro USB adapteris

Norėdami įjungti „Raspberry Pi“, mums reikia „Micro USB“kabelio

12 V maitinimo adapteris relės plokštei

MCP23008 relės valdiklis veikia iš 12 V išorinio maitinimo šaltinio ir gali būti tiekiamas naudojant 12 V maitinimo adapterį

Produktą galite įsigyti paspaudę ant jų. Be to, „Dcube Store“galite rasti daugiau puikios medžiagos.

2 veiksmas: prijungimas prie aparatūros

Techninės įrangos prijungimas
Techninės įrangos prijungimas
Techninės įrangos prijungimas
Techninės įrangos prijungimas
Techninės įrangos prijungimas
Techninės įrangos prijungimas
Techninės įrangos prijungimas
Techninės įrangos prijungimas

Reikalingos jungtys (žr. Paveikslėlius) yra šios:

  1. Tai veiks per I2C. Paimkite „Raspberry pi“I2C skydą ir švelniai prijunkite jį prie „Raspberry Pi“GPIO kaiščių.
  2. Vieną I2C kabelio galą prijunkite prie TCS34903 prievado, kitą-prie I2C skydo.
  3. Prijunkite MCP9808 jutiklio katilą prie TCS34903 išvesties naudodami I2C kabelį.
  4. Prijunkite MCP23008 katilą prie MCP9808 jutiklio išvesties naudodami I2C kabelį.
  5. Taip pat prijunkite eterneto kabelį prie „Raspberry Pi“. Taip pat galima naudoti „Wi-Fi“maršrutizatorių.
  6. Tada įjunkite „Raspberry Pi“maitinimą naudodami „Micro USB“adapterį ir MCP23008 relės plokštę naudodami 12 V adapterį.
  7. Galiausiai prijunkite šviesą su pirmąja relė ir ventiliatoriumi arba šildytuvu su antrąja relė. Galite išplėsti modulį arba prijungti daugiau įrenginių prie relių.

3 žingsnis: Bendravimas naudojant I2C protokolą

Norėdami įjungti „Raspberry Pi I2C“, atlikite toliau nurodytus veiksmus.

  1. Terminale įveskite šią komandą, kad atidarytumėte konfigūracijos nustatymus: sudo raspi-config
  2. Čia pasirinkite „Išplėstinės parinktys“.
  3. Pasirinkite „I2C“ir spustelėkite „Taip“.
  4. Iš naujo paleiskite sistemą, kad ją nustatytumėte pagal pakeitimus, atliktus naudojant komandą reboot.

4 žingsnis: modulio programavimas

„Raspberry Pi“naudojimo atlygis yra tai, kad suteikia lankstumo pasirinkti programavimo kalbą, kuria norite programuoti, kad sąsaja su jutimo įrenginiu būtų su „Raspberry Pi“. Pasinaudoję šiuo „Raspberry Pi“pranašumu, mes čia demonstruojame jo programavimą „Java“.

Norėdami nustatyti „Java“aplinką, įdiekite „pi4j libraby“iš https://pi4j.com/1.2/index.html „Pi4j“yra „Raspberry Pi“„Java“įvesties/išvesties biblioteka. Lengvas ir labiausiai pageidaujamas „pi4j“diegimo būdas biblioteka “yra vykdyti toliau nurodytą komandą tiesiai„ Raspberry Pi “:

garbanos -s get.pi4j.com | sudo bash

ARBA

curl -s get.pi4j.com

importuoti com.pi4j.io.i2c. I2CBus; importuoti com.pi4j.io.i2c. I2CDevice; importuoti com.pi4j.io.i2c. I2CFactory; importuoti java.io. IOException; klasė MCP23008 {public static void main (String args ) metimai Išimtis {int status, value, value1 = 0x00; // Sukurti I2C magistralę I2CBus magistralė = I2CFactory.getInstance (I2CBus. BUS_1); // Gauti I2C įrenginį, MCP23008 I2C adresas yra 0x20 (32) I2CDevice device = bus.getDevice (0x20); // Gauti I2C įrenginį, MCP9808 I2C adresas yra 0x18 (24) I2CDevice MCP9808 = bus.getDevice (0x18); // Gauti I2C įrenginį, TCS34903 I2C adresas yra 0x39 (55) I2CDevice TCS34903 = bus.getDevice (0x39); // Nustatyti laukimo laiko registrą = 0xff (255), laukimo laikas = 2,78 ms TCS34903.write (0x83, (baitas) 0xFF); // Įgalinti prieigą prie IR kanalo TCS34903.write (0xC0, (baitas) 0x80); // Nustatykite Atime registrą į 0x00 (0), maksimalus skaičius = 65535 TCS34903.write (0x81, (baitas) 0x00); // Įjungtas maitinimas, įjungtas ADC, palaukimas palauktas TCS34903.write (0x80, (baitas) 0x0B); Siūlai.miegoti (250); // Skaityti 8 baitus duomenų su aiškiu/ir duomenimis LSB pirmasis baitas duomenys1 = naujas baitas [8]; // Skaityti temperatūros duomenų baitą duomenys = naujas baitas [2]; status = device.read (0x09); // Visi kaiščiai sukonfigūruoti kaip OUTPUT device.write (0x00, (baitas) 0x00); Siūlai.miegoti (500); nors (tiesa) {MCP9808.read (0x05, duomenys, 0, 2); // Konvertuoti duomenis int temp = ((duomenys [0] ir 0x1F) * 256 + (duomenys [1] ir 0xFF)); if (temp> 4096) {temp -= 8192; } dvigubas cTemp = temp * 0,0625; System.out.printf („Temperatūra pagal Celsijų yra: %.2f C %n“, cTemp); TCS34903. skaityti (0x94, data1, 0, 8); dvigubas ir = ((duomenys1 [1] ir 0xFF) * 256) + (duomenys1 [0] ir 0xFF) * 1,00; dvigubai raudona = ((duomenys1 [3] ir 0xFF) * 256) + (duomenys1 [2] ir 0xFF) * 1,00; dvigubai žalia = ((duomenys1 [5] ir 0xFF) * 256) + (duomenys1 [4] ir 0xFF) * 1,00; dvigubai mėlyna = ((duomenys1 [7] ir 0xFF) * 256) + (duomenys1 [6] ir 0xFF) * 1,00; // Apskaičiuokite apšvietimo dvigubą apšvietimą = (-0,32466) * (raudona) + (1,57837) * (žalia) + (-0,73191) * (mėlyna); System.out.printf („Apšvietimas yra: %.2f lux %n“, apšvietimas); jei (apšvietimas 30) {vertė = vertė1 | (0x01); } else {value = value1 & (0x02); } device.write (0x09, (baitų) reikšmė); Siūlai.miegoti (300); }}}

5 veiksmas: sukurkite failą ir paleiskite kodą

  1. Norint sukurti naują failą, į kurį galima įrašyti/nukopijuoti kodą, bus naudojama ši komanda: sudo nano FILE_NAME.javaEg. sudo nano MCP23008.java
  2. Sukūrę failą, galime įvesti kodą čia.
  3. Nukopijuokite ankstesniame žingsnyje nurodytą kodą ir įklijuokite jį čia esančiame lange.
  4. Norėdami išeiti, paspauskite Ctrl+X, tada „y“.
  5. Tada surinkite kodą naudodami šią komandą: pi4j FILE_NAME.javaEg. pi4j MCP23008.java
  6. Jei nėra klaidų, paleiskite programą naudodami toliau nurodytą komandą: pi4j FILE_NAMEEg. pi4j MCP23008.java

6 žingsnis: programos

Ši sistema leidžia valdyti prietaisus, nesikreipiant į sieninius jungiklius. Tai turi daug galimybių, nes prietaisų įjungimo arba išjungimo laikas yra automatiškai suplanuotas. Yra keletas šio modulio taikymo sričių-nuo namų iki pramonės, ligoninių, geležinkelio stočių ir daug kitų vietų, kurias galima lengvai ir paprastai automatizuoti naudojant „plug-and-play“komponentus.

7 žingsnis: ištekliai

Norėdami gauti daugiau informacijos apie TSL34903, MCP9808 MCP23008 relės valdiklį, peržiūrėkite toliau pateiktas nuorodas:

  • TSL34903 duomenų lapas
  • MCP9808 duomenų lapas
  • MCP23008 duomenų lapas

Rekomenduojamas: