Sisukord:

Koduautomaatika Raspberry Pi abil, kasutades releeplaati: 7 sammu
Koduautomaatika Raspberry Pi abil, kasutades releeplaati: 7 sammu

Video: Koduautomaatika Raspberry Pi abil, kasutades releeplaati: 7 sammu

Video: Koduautomaatika Raspberry Pi abil, kasutades releeplaati: 7 sammu
Video: Leap Motion SDK 2024, November
Anonim
Koduautomaatika Raspberry Pi abil, kasutades releeplaati
Koduautomaatika Raspberry Pi abil, kasutades releeplaati

Suur osa inimesi soovib suurt mugavust, kuid mõistliku hinnaga. Tunneme end laiskana, et valgustada maju igal õhtul, kui päike loojub, ja järgmisel hommikul, kustutades tuled uuesti või lülitades sisse kliimaseadme/ventilaatori/kütteseadmed, nagu ilm või toatemperatuur.

Odav lahendus selle lisatöö vältimiseks, kui seadmeid vajadusel välja lülitada, on siin. See on lihtsate plug and play toodete abil oma majade automatiseerimine suhteliselt väikeste kuludega. See toimib nii, nagu temperatuur tõuseb või langeb, lülitab vastavalt sisse konditsioneeri või küttekeha. Samuti aitab see vajadusel teie kodu tuled sisse lülitada või neid käsitsi sisse lülitamata. Ja palju muid seadmeid saab juhtida. Automaatne maailm. Alustame teie koduga.

Samm: vajalik riistvara

Vajalik riistvara
Vajalik riistvara
Vajalik riistvara
Vajalik riistvara
Vajalik riistvara
Vajalik riistvara

Me kasutame:

Vaarika Pi

Raspberry Pi on üksildane Linuxil põhinev arvuti. Sellel väikesel arvutil on võimsuse registreerimine, mida kasutatakse elektroonikaharjutustena ja arvutitoimingutena, nagu arvutustabelid, tekstitöötlus, veebis surfamine ja e -post ning mängud

I2C Shield või I2C päis

INPI2 (I2C adapter) pakub Raspberry Pi 2/3 an I²C porti kasutamiseks mitme I2C seadmega

I2C releekontroller MCP23008

Microchipi MCP23008 on integreeritud pordi laiendaja, mis juhib kaheksa releed I²C siini kaudu. Integreeritud I²C laiendusporti kasutades saate lisada rohkem releesid, digitaalseid I/O, analoog -digitaalmuundureid, andureid ja muid seadmeid

MCP9808 temperatuuriandur

MCP9808 on ülitäpne temperatuuriandur, mis annab kalibreeritud, lineariseeritud andurisignaale digitaalses I²C-vormingus

TCS34903 heleduse andur

TCS34903 on värviandurite perekonna toode, mis pakub valguse ja värvi RGB komponendi väärtust

I2C ühenduskaabel

I2C ühenduskaabel on 4-juhtmeline kaabel, mis on mõeldud I2C-sideks kahe selle kaudu ühendatud I2C-seadme vahel

Micro USB adapter

Raspberry Pi sisselülitamiseks vajame mikro -USB -kaablit

12 V toiteadapter releeplaadile

MCP23008 releekontroller töötab 12 V välisvoolul ja seda saab tarnida 12 V toiteadapteri abil

Toote saate osta neile klõpsates. Lisaks leiate Dcube'i poest rohkem suurepäraseid materjale.

2. samm: riistvara ühendamine

Riistvara ühendamine
Riistvara ühendamine
Riistvara ühendamine
Riistvara ühendamine
Riistvara ühendamine
Riistvara ühendamine
Riistvara ühendamine
Riistvara ühendamine

Vajalikud ühendused (vt pilte) on järgmised:

  1. See töötab üle I2C. Võtke Raspberry pi jaoks I2C -kilp ja ühendage see õrnalt Raspberry Pi GPIO -tihvtidega.
  2. Ühendage I2C kaabli üks ots TCS34903 sisendpordiga ja teine ots I2C varjestusega.
  3. Ühendage MCP9808 anduri potti I2C kaabli abil TCS34903 väljundiga.
  4. Ühendage MCP23008 potti I2C kaabli abil MCP9808 anduri väljundiga.
  5. Ühendage ka Etherneti kaabel Raspberry Pi-ga. Sama jaoks saab kasutada ka WiFi-ruuterit.
  6. Seejärel lülitage Raspberry Pi sisse, kasutades Micro USB -adapterit ja MCP23008 releeplaati, kasutades 12 V adapterit.
  7. Lõpuks ühendage tuli esimese releega ja ventilaator või küttekeha teise releega. Saate moodulit laiendada või ühendada releedega rohkem seadmeid.

3. samm: suhtlemine I2C protokolli abil

Raspberry Pi I2C lubamiseks toimige järgmiselt.

  1. Sisestage terminalis konfiguratsiooniseadete avamiseks järgmine käsk: sudo raspi-config
  2. Valige siin "Täpsemad valikud".
  3. Valige "I2C" ja klõpsake "Jah".
  4. Taaskäivitage süsteem, et see seadistada vastavalt käsule reboot tehtud muudatustele.

4. samm: mooduli programmeerimine

Raspberry Pi kasutamise tasu on see, et see annab teile paindlikkuse valida programmeerimiskeel, milles soovite programmeerida, et liidestada anduriseade Raspberry Pi -ga. Kasutades seda Raspberry Pi eelist, demonstreerime siin selle programmeerimist Java -s.

Java keskkonna seadistamiseks installige “pi4j libraby” saidilt https://pi4j.com/1.2/index.html Pi4j on Java sisendi/väljundi teek Raspberry Pi jaoks. Lihtne ja eelistatuim viis „pi4j” installimiseks raamatukogu”täidab alltoodud käsku otse oma Raspberry Pi -s:

curl -s get.pi4j.com | sudo bash

VÕI

curl -s get.pi4j.com

import com.pi4j.io.i2c. I2CBus; import com.pi4j.io.i2c. I2CDevice; import com.pi4j.io.i2c. I2CFactory; importige java.io. IOException; klass MCP23008 {public static void main (String args ) viskab Erand {int staatus, väärtus, väärtus1 = 0x00; // Loo I2C siin I2CBus siin = I2CFactory.getInstance (I2CBus. BUS_1); // Hangi I2C seade, MCP23008 I2C aadress on 0x20 (32) I2CDevice device = bus.getDevice (0x20); // Hangi I2C seade, MCP9808 I2C aadress on 0x18 (24) I2CDevice MCP9808 = bus.getDevice (0x18); // Hangi I2C seade, TCS34903 I2C aadress on 0x39 (55) I2CDevice TCS34903 = bus.getDevice (0x39); // Määra ooteaja register = 0xff (255), ooteaeg = 2,78 ms TCS34903.write (0x83, (bait) 0xFF); // Luba juurdepääs IR -kanalile TCS34903.write (0xC0, (bait) 0x80); // Määra Atime register 0x00 (0), maksimaalne arv = 65535 TCS34903.write (0x81, (bait) 0x00); // Toide ON, ADC lubatud, Oota lubatud TCS34903.write (0x80, (bait) 0x0B); Niit.unenägu (250); // Loe 8 baiti andmeid selge/ir andmetega LSB esimene bait andmed1 = uus bait [8]; // Temperatuuri andmete baidi lugemine andmed = uus bait [2]; olek = seade.lugemine (0x09); // Kõik tihvtid on konfigureeritud väljundseadmeks.write (0x00, (bait) 0x00); Niit.unenägu (500); samas (tõene) {MCP9808.read (0x05, andmed, 0, 2); // Teisenda andmed int temp = ((andmed [0] & 0x1F) * 256 + (andmed [1] & 0xFF)); if (temp> 4096) {temp -= 8192; } kahekordne cTemp = temp * 0,0625; System.out.printf (“Temperatuur Celsiuse järgi on: %.2f C %n”, cTemp); TCS34903.lugemine (0x94, andmed1, 0, 8); topelt ir = ((andmed1 [1] & 0xFF) * 256) + (andmed1 [0] ja 0xFF) * 1,00; topeltpunane = ((andmed1 [3] & 0xFF) * 256) + (andmed1 [2] & 0xFF) * 1,00; topeltroheline = ((andmed1 [5] & 0xFF) * 256) + (andmed1 [4] & 0xFF) * 1,00; topelt sinine = ((andmed1 [7] & 0xFF) * 256) + (andmed1 [6] & 0xFF) * 1,00; // Valgustuse kahekordse valgustuse arvutamine = (-0,32466) * (punane) + (1,57837) * (roheline) + (-0,73191) * (sinine); System.out.printf („Valgustus on: %.2f lux %n“, valgustatus); kui (valgustus 30) {väärtus = väärtus1 | (0x01); } else {väärtus = väärtus1 & (0x02); } device.write (0x09, (bait) väärtus); Niit.unenägu (300); }}}

Samm: faili loomine ja koodi käitamine

  1. Koodi kirjutamiseks/kopeerimiseks uue faili loomiseks kasutatakse järgmist käsku: sudo nano FILE_NAME.javaEg. sudo nano MCP23008.java
  2. Pärast faili loomist saame koodi siia sisestada.
  3. Kopeerige eelmises etapis antud kood ja kleepige see siia aknasse.
  4. Väljumiseks vajutage Ctrl+X ja seejärel "y".
  5. Seejärel koostage kood järgmise käsu abil: pi4j FILE_NAME.javaEg. pi4j MCP23008.java
  6. Kui vigu pole, käivitage programm, kasutades alltoodud käsku: pi4j FILE_NAMEEg. pi4j MCP23008.java

6. samm: rakendused

See süsteem võimaldab teil seadmeid juhtida ilma seinalülititesse minemata. Sellel on ulatuslikud võimalused, kuna seadmete sisse- ja väljalülitamise ajad on automaatselt ajastatud. Sellel moodulil on käputäis rakendusi-alates majadest kuni tööstusettevõtete, haiglate, raudteejaamade ja paljude teiste kohtadeni-seda saab plug-and-play komponentide abil taskukohasel ja lihtsal viisil automatiseerida.

Samm 7: Ressursid

TSL34903, MCP9808 MCP23008 releekontrolleri kohta lisateabe saamiseks vaadake allolevaid linke:

  • TSL34903 Andmeleht
  • MCP9808 andmeleht
  • MCP23008 Andmeleht

Soovitan: