Sisällysluettelo:

Koti -automatiikka Raspberry Pi -laitteella relelevyn avulla: 7 vaihetta
Koti -automatiikka Raspberry Pi -laitteella relelevyn avulla: 7 vaihetta

Video: Koti -automatiikka Raspberry Pi -laitteella relelevyn avulla: 7 vaihetta

Video: Koti -automatiikka Raspberry Pi -laitteella relelevyn avulla: 7 vaihetta
Video: DSP Machine 3 | Пока не закрыта крышка. Что внутри? 2024, Joulukuu
Anonim
Kotiautomaatio Raspberry Pi: n avulla käyttämällä Rele Boardia
Kotiautomaatio Raspberry Pi: n avulla käyttämällä Rele Boardia

Suurin osa ihmisistä haluaa suurta mukavuutta, mutta kohtuulliseen hintaan. Tuntuu laiskoilta sytyttämästä talot joka ilta auringon laskiessa ja seuraavana aamuna, sammuttamalla valot uudelleen tai kytkemällä ilmastointilaite/tuuletin/lämmittimet päälle/pois samoin kuin sää tai huonelämpötila.

Edullinen ratkaisu välttää tämä ylimääräinen työ sammuttamalla laitteet tarvittaessa. Se on automatisoida talosi suhteellisen pienillä kustannuksilla yksinkertaisilla plug and play -tuotteilla. Se toimii kuten lämpötilan noustessa tai laskiessa, kytkee ilmastointilaitteen tai lämmittimen päälle. Tarvittaessa se auttaa myös sytyttämään tai kodin valot sytyttämättä niitä käsin. Ja monia muita laitteita voidaan ohjata. Aloitetaan kotisi.

Vaihe 1: Laitteisto vaaditaan

Laitteisto vaaditaan
Laitteisto vaaditaan
Laitteisto vaaditaan
Laitteisto vaaditaan
Laitteisto vaaditaan
Laitteisto vaaditaan

Käytämme:

Raspberry Pi

Raspberry Pi on yksinäinen Linux -pohjainen PC. Tässä pienessä tietokoneessa on valta rekisteröidä tehoa, jota käytetään elektroniikkaharjoituksina ja PC -toimintoina, kuten laskentataulukoina, tekstinkäsittely, web -surffaus, sähköposti ja pelit

I2C Shield tai I2C Header

INPI2 (I2C -sovitin) tarjoaa Raspberry Pi 2/3 an I²C -portin käytettäväksi useiden I2C -laitteiden kanssa

I2C Releohjain MCP23008

Microchipin MCP23008 on integroitu portinlaajennin, joka ohjaa kahdeksaa relettä I²C -väylän kautta. Voit lisätä muita releitä, digitaalista I/O: ta, analogista digitaaliseen muunninta, antureita ja muita laitteita integroidun I²C -laajennusportin avulla

MCP9808 Lämpötila -anturi

MCP9808 on korkean tarkkuuden lämpötila-anturi, joka tuottaa kalibroituja, lineaarisia anturisignaaleja digitaalisessa I²C-muodossa

TCS34903 luminanssianturi

TCS34903 on värianturiperhetuote, joka tarjoaa valon ja värin RGB -komponentin arvon

I2C -liitäntäkaapeli

I2C-liitäntäkaapeli on 4-johtiminen kaapeli, joka on tarkoitettu I2C-viestintään kahden sen kautta yhdistetyn I2C-laitteen välillä

Micro -USB -sovitin

Raspberry Pi: n käynnistämiseksi tarvitsemme Micro USB -kaapelin

12 V: n virtalähde relekortille

MCP23008 Releohjain toimii 12 V: n ulkoisella virtalähteellä, ja se voidaan syöttää 12 V: n verkkolaitteella

Voit ostaa tuotteen klikkaamalla niitä. Löydät myös lisää hienoa materiaalia Dcube Storesta.

Vaihe 2: Laitteiston kytkentä

Laitteiston kytkentä
Laitteiston kytkentä
Laitteiston kytkentä
Laitteiston kytkentä
Laitteiston kytkentä
Laitteiston kytkentä
Laitteiston kytkentä
Laitteiston kytkentä

Tarvittavat liitännät (katso kuvat) ovat seuraavat:

  1. Tämä toimii I2C: llä. Ota I2C -suoja Raspberry pi: lle ja liitä se varovasti Raspberry Pi: n GPIO -nastoihin.
  2. Liitä I2C-kaapelin toinen pää TCS34903: n porttiin ja toinen pää I2C-suojaan.
  3. Liitä MCP9808-anturin potti TCS34903: n ulostuloon I2C-kaapelilla.
  4. Liitä MCP23008: n astia MCP9808-anturin ulostuloon I2C-kaapelilla.
  5. Liitä myös Ethernet-kaapeli Raspberry Pi: hen. Wi-Fi-reititintä voidaan käyttää myös samaan.
  6. Käynnistä sitten Raspberry Pi virtalähteenä Micro USB -sovittimella ja MCP23008 -relekortilla 12 V: n sovittimella.
  7. Lopuksi kytke valo ensimmäiseen releeseen ja puhallin tai lämmitin toiseen releeseen. Voit laajentaa moduulia tai kytkeä muita laitteita releisiin.

Vaihe 3: Viestintä I2C -protokollaa käyttäen

Ota Raspberry Pi I2C käyttöön seuraavasti:

  1. Kirjoita päätelaitteessa seuraava komento avataksesi määritysasetukset: sudo raspi-config
  2. Valitse tästä "Lisäasetukset".
  3. Valitse”I2C” ja napsauta”Kyllä”.
  4. Käynnistä järjestelmä uudelleen, jotta se asetetaan uudelleenkäynnistyksen avulla tehtyjen muutosten mukaisesti.

Vaihe 4: Moduulin ohjelmointi

Raspberry Pi: n käytön palkinto on se, että se tarjoaa sinulle joustavuuden valita ohjelmointikieli, jolla haluat ohjelmoida liittämään tunnistinlaitteen Raspberry Pi: n kanssa. Hyödynnämme tätä Raspberry Pi -etua ja demonstroimme sen ohjelmointia Javalla.

Asenna Java -ympäristö asentamalla "pi4j libraby" osoitteesta https://pi4j.com/1.2/index.html Pi4j on Java -tulo-/tulostuskirjasto Raspberry Pi: lle. Helppo ja suosituin tapa asentaa "pi4j kirjasto”on suorittaa alla mainittu komento suoraan Raspberry Pi -laitteessasi:

curl -s get.pi4j.com | sudo bash

TAI

curl -s get.pi4j.com

tuoda com.pi4j.io.i2c. I2CBus; tuoda com.pi4j.io.i2c. I2CDevice; tuonti com.pi4j.io.i2c. I2CFactory; tuoda java.io. IOException; luokka MCP23008 {public static void main (String args ) heittää Poikkeus {int status, value, value1 = 0x00; // Luo I2C -väylä I2CBus -väylä = I2CFactory.getInstance (I2CBus. BUS_1); // Hanki I2C -laite, MCP23008 I2C -osoite on 0x20 (32) I2CDevice device = bus.getDevice (0x20); // Hanki I2C -laite, MCP9808 I2C -osoite on 0x18 (24) I2CDevice MCP9808 = bus.getDevice (0x18); // Hanki I2C -laite, TCS34903 I2C -osoite on 0x39 (55) I2CDevice TCS34903 = bus.getDevice (0x39); // Aseta odotusajan rekisteri = 0xff (255), odotusaika = 2,78 ms TCS34903.write (0x83, (tavu) 0xFF); // Salli pääsy IR -kanavalle TCS34903.write (0xC0, (tavu) 0x80); // Aseta Atime -rekisteri arvoon 0x00 (0), enimmäismäärä = 65535 TCS34903.write (0x81, (tavu) 0x00); // Virta päällä, ADC käytössä, odota käytössä TCS34903.write (0x80, (tavu) 0x0B); Kierre. Nukkumassa (250); // Lue 8 tavua dataa selkeällä/ir -datalla LSB ensimmäinen tavu data1 = uusi tavu [8]; // Lue lämpötilatiedot tavu data = uusi tavu [2]; tila = laite.luku (0x09); // Kaikki nastat määritetty OUTPUT device.write (0x00, (tavu) 0x00); Kierteet.unen (500); while (true) {MCP9808.read (0x05, data, 0, 2); // Muunna tiedot int temp = ((data [0] & 0x1F) * 256 + (data [1] & 0xFF)); jos (lämpötila> 4096) {lämpötila -= 8192; } kaksinkertainen cTemp = lämpötila * 0,0625; System.out.printf ("Lämpötila celsiusasteina on: %.2f C %n", cTemp); TCS34903.luku (0x94, data1, 0, 8); double ir = ((data1 [1] & 0xFF) * 256) + (data1 [0] & 0xFF) * 1,00; kaksinkertainen punainen = ((data1 [3] & 0xFF) * 256) + (data1 [2] & 0xFF) * 1,00; kaksinkertainen vihreä = ((data1 [5] & 0xFF) * 256) + (data1 [4] & 0xFF) * 1,00; kaksoissininen = ((data1 [7] & 0xFF) * 256) + (data1 [6] & 0xFF) * 1,00; // Laske valaistuksen kaksoisvalaistus = (-0,32466) * (punainen) + (1,57837) * (vihreä) + (-0,73191) * (sininen); System.out.printf ("Valaistusvoimakkuus on: %.2f lux %n", valaistus); jos (valaistus 30) {arvo = arvo1 | (0x01); } else {arvo = arvo1 & (0x02); } device.write (0x09, (tavu) arvo); Kierre. Nukkumassa (300); }}}

Vaihe 5: Tiedoston luominen ja koodin suorittaminen

  1. Jos haluat luoda uuden tiedoston, johon koodi voidaan kirjoittaa/kopioida, käytetään seuraavaa komentoa: sudo nano FILE_NAME.javaEg. sudo nano MCP23008.java
  2. Tiedoston luomisen jälkeen voimme syöttää koodin tänne.
  3. Kopioi edellisessä vaiheessa annettu koodi ja liitä se tähän ikkunaan.
  4. Poistu painamalla Ctrl+X ja sitten "y".
  5. Käännä sitten koodi seuraavalla komennolla: pi4j FILE_NAME.javaEg. pi4j MCP23008.java
  6. Jos virheitä ei ole, suorita ohjelma käyttämällä alla mainittua komentoa: pi4j FILE_NAMEEg. pi4j MCP23008.java

Vaihe 6: Sovellukset

Tämän järjestelmän avulla voit hallita laitteita menemättä seinäkytkimiin. Tällä on laajat ominaisuudet, koska laitteiden käynnistys- ja sammutusajat ajoittuvat automaattisesti. Tällä moduulilla on kourallinen sovelluksia taloista teollisuuteen, sairaaloihin, rautatieasemille ja moniin muihin paikkoihin, jotka voidaan automatisoida edullisesti ja helposti plug-and-play-komponenttien avulla.

Vaihe 7: Resurssit

Lisätietoja TSL34903, MCP9808 MCP23008 releohjaimesta, katso alla olevista linkeistä:

  • TSL34903 tuotetiedot
  • MCP9808 tuotetiedot
  • MCP23008 tuotetiedot

Suositeltava: