Sisukord:
- Samm: vajalik riistvara
- 2. samm: riistvara ühendamine
- 3. samm: suhtlemine I2C protokolli abil
- 4. samm: mooduli programmeerimine
- Samm: faili loomine ja koodi käitamine
- 6. samm: rakendused
- Samm 7: Ressursid
Video: Koduautomaatika Raspberry Pi abil, kasutades releeplaati: 7 sammu
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:46
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
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
Vajalikud ühendused (vt pilte) on järgmised:
- See töötab üle I2C. Võtke Raspberry pi jaoks I2C -kilp ja ühendage see õrnalt Raspberry Pi GPIO -tihvtidega.
- Ühendage I2C kaabli üks ots TCS34903 sisendpordiga ja teine ots I2C varjestusega.
- Ühendage MCP9808 anduri potti I2C kaabli abil TCS34903 väljundiga.
- Ühendage MCP23008 potti I2C kaabli abil MCP9808 anduri väljundiga.
- Ühendage ka Etherneti kaabel Raspberry Pi-ga. Sama jaoks saab kasutada ka WiFi-ruuterit.
- Seejärel lülitage Raspberry Pi sisse, kasutades Micro USB -adapterit ja MCP23008 releeplaati, kasutades 12 V adapterit.
- 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.
- Sisestage terminalis konfiguratsiooniseadete avamiseks järgmine käsk: sudo raspi-config
- Valige siin "Täpsemad valikud".
- Valige "I2C" ja klõpsake "Jah".
- 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
- Koodi kirjutamiseks/kopeerimiseks uue faili loomiseks kasutatakse järgmist käsku: sudo nano FILE_NAME.javaEg. sudo nano MCP23008.java
- Pärast faili loomist saame koodi siia sisestada.
- Kopeerige eelmises etapis antud kood ja kleepige see siia aknasse.
- Väljumiseks vajutage Ctrl+X ja seejärel "y".
- Seejärel koostage kood järgmise käsu abil: pi4j FILE_NAME.javaEg. pi4j MCP23008.java
- 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:
DIY odava hinnaga koduautomaatika, kasutades Esp8266: 6 sammu
DIY odava hinnaga koduautomaatika, kasutades Esp8266: Tere kõigile, täna näitan selles juhendis teile, kuidas valmistasin ette oma koduautomaatika sammuna nutika kodu poole, kasutades ESP 8266 moodulit, mida üldiselt tuntakse nodemcu nime all, ilma et peaksite aega raiskama alustame:)
Google'i assistent - Koduautomaatika, kasutades esp8266: 6 sammu
Google'i assistent | Koduautomaatika, kasutades esp8266: selles juhendis näitan teile Google'i assistendi juhitavat koduautomaatikat
Interneti/pilvega juhitav koduautomaatika, kasutades Esp8266 (aREST, MQTT, IoT): 7 sammu (koos piltidega)
Interneti/pilvega juhitav koduautomaatika, kasutades Esp8266 (aREST, MQTT, IoT): KÕIK krediidid pilveteenuse eest saidile http://arest.io/ !! IoT on praegu maailma enim arutatud teema !! Pilveserverid ja -teenused, mis seda võimaldavad, on tänapäeva maailma tõmbenumber … KAUGUSPIIRMÄRGI VÄLJASTAMINE oli ja on
[Koduautomaatika] Releede juhtimine kõikjal, kasutades ESP8266 + Blynk: 4 sammu
[Koduautomaatika] Juhtreleed kõikjalt, kasutades ESP8266 + Blynk: Koduautomaatika tegemiseks on palju võimalusi, Mõned on keerulised, Mõned on lihtsad, See juhendatav Näitan, kuidas lihtsat releed juhtida, kasutades ESP-12E koos Blynk. Mugavaks disainiks oli ühepoolne trükkplaat, nii et saate ise valmistada
Lihtne koduautomaatika, kasutades Raspberry Pi3 ja Androidi asju: 5 sammu (koos piltidega)
Lihtne koduautomaatika, kasutades Raspberry Pi3 ja Androidi asju: Idee on kujundada “ nutikas HOME ” kus saab juhtida kodumasinaid, kasutades Androidi asju ja Raspberry Pi. Projekt koosneb majapidamisseadmete juhtimisest, nagu valgus, ventilaator, mootor jne. Vajalikud materjalid: Raspberry Pi 3HDMI Ca