INHOUDSOPGAWE:

Tuisautomatisering met framboos Pi met relaybord: 7 stappe
Tuisautomatisering met framboos Pi met relaybord: 7 stappe

Video: Tuisautomatisering met framboos Pi met relaybord: 7 stappe

Video: Tuisautomatisering met framboos Pi met relaybord: 7 stappe
Video: ? ? РУКОВОДСТВО ПО УСТАНОВКЕ SOLAR ПРОГРАММНОЕ ОБЕСПЕЧ 2024, November
Anonim
Tuisautomatisering met Framboos Pi met behulp van relaibord
Tuisautomatisering met Framboos Pi met behulp van relaibord

'N Groot aantal mense wil baie gemak hê, maar teen billike pryse. Ons voel lui om elke aand die huise aan te steek as die son ondergaan en die volgende oggend weer die ligte af te skakel Of om die lugversorger/waaier/verwarmers aan/af te skakel, net soos die weer of kamertemperatuur.

Hier is 'n goedkoop oplossing om hierdie ekstra werk om die toestelle uit te skakel, te vermy. Dit is om u huise teen 'n relatief lae koste te outomatiseer met behulp van eenvoudige plug and play -produkte. Dit werk asof die temperatuur styg of daal, die lugversorger of verwarmer aanskakel. As dit nodig is, sal dit ook help om die ligte van u huis aan te skakel sonder om dit met die hand aan te skakel. En nog vele meer toestelle kan beheer word. Outomatiseer die wêreld. Laat ons u huis begin.

Stap 1: hardeware benodig

Hardeware benodig
Hardeware benodig
Hardeware benodig
Hardeware benodig
Hardeware benodig
Hardeware benodig

Ons sal gebruik maak van:

Framboos Pi

Die Raspberry Pi is 'n alleenstaande Linux -gebaseerde rekenaar. Hierdie klein rekenaar gee 'n groot indruk in die registrasie van krag, wat as elektroniese oefeninge gebruik word, en rekenaarbedrywighede soos sigblaaie, woordverwerking, webblaai en e -pos en speletjies

I2C Shield of I2C Header

Die INPI2 (I2C -adapter) bied die Raspberry Pi 2/3 en I²C -poort vir gebruik met verskeie I2C -toestelle

I2C Relay controller MCP23008

MCP23008 van Microchip is 'n geïntegreerde poortuitbreider wat agt relais deur die I²C -bus beheer. U kan meer relais, digitale I/O, analoog na digitale omsetters, sensors en ander toestelle byvoeg met die geïntegreerde I²C -uitbreidingspoort

MCP9808 Temperatuursensor

Die MCP9808 is 'n temperatuursensor met 'n hoë akkuraatheid wat gekalibreerde, lineêre sensorsignale in digitale I²C-formaat verskaf

Luminansiesensor TCS34903

TCS34903 is 'n kleursensorfamilie -produk wat die waarde van die RGB -komponent van lig en kleur bied

I2C aansluitkabel

I2C-aansluitkabel is 'n 4-bedrade kabel wat bedoel is vir I2C-kommunikasie tussen twee I2C-toestelle wat daardeur gekoppel is

Mikro -USB -adapter

Om Raspberry Pi aan te skakel, benodig ons 'n mikro -USB -kabel

12V -kragadapter vir aflosbord

MCP23008 Relay controller werk op 12V eksterne krag en dit kan voorsien word met 'n 12V Power Adapter

U kan die produk koop deur daarop te klik. U kan ook meer wonderlike materiaal by Dcube Store vind.

Stap 2: Hardeware -aansluiting

Hardeware -aansluiting
Hardeware -aansluiting
Hardeware -aansluiting
Hardeware -aansluiting
Hardeware -aansluiting
Hardeware -aansluiting
Hardeware -aansluiting
Hardeware -aansluiting

Die vereiste verbindings (verwys na die foto's) is soos volg:

  1. Dit sal werk oor I2C. Neem 'n I2C -skild vir Raspberry pi en koppel dit liggies aan die GPIO -penne van Raspberry Pi.
  2. Koppel die een kant van die I2C-kabel aan die ingang van TCS34903 en die ander kant aan die I2C-skild.
  3. Koppel die MCP9808-sensor se in-pot aan die TCS34903-buitekant met behulp van I2C-kabel.
  4. Koppel die MCP23008 se in-pot aan die MCP9808-sensor met die I2C-kabel.
  5. Koppel ook die Ethernet-kabel aan die Raspberry Pi. Wi-Fi-router kan ook hiervoor gebruik word.
  6. Skakel dan die Raspberry Pi aan met 'n mikro -USB -adapter en MCP23008 Relay -bord met 'n 12V -adapter.
  7. Koppel laastens die lig met die eerste relais en 'n waaier of verwarmer met die tweede relais. U kan die module uitbrei of meer toestelle met die relais verbind.

Stap 3: Kommunikeer met behulp van I2C -protokol

Om Raspberry Pi I2C geaktiveer te maak, gaan voort soos hieronder genoem:

  1. Tik in die terminale die volgende opdrag om die konfigurasie-instellings oop te maak: sudo raspi-config
  2. Kies hier 'Gevorderde opsies'.
  3. Kies "I2C" en klik op "Ja".
  4. Herlaai die stelsel om dit op te stel volgens die veranderings wat gemaak is met die opdrag herlaai.

Stap 4: Programmering van die module

Die beloning van die gebruik van Raspberry Pi is dat dit u die buigsaamheid bied om te kies in die programmeertaal waarin u wil programmeer om die sensor met Raspberry Pi te koppel. Deur hierdie voordeel van Raspberry Pi te benut, demonstreer ons hier die programmering daarvan in Java.

Om die Java -omgewing op te stel, installeer die "pi4j libraby" vanaf https://pi4j.com/1.2/index.html Pi4j is 'n Java -invoer-/uitvoerbiblioteek vir Raspberry Pi. 'N Maklike en mees voorkeur -metode om die "pi4j te installeer library "is om die onderstaande opdrag direk in u Raspberry Pi uit te voer:

krul -s get.pi4j.com | sudo bash

OF

krul -s get.pi4j.com

invoer com.pi4j.io.i2c. I2CBus; invoer com.pi4j.io.i2c. I2CDevice; invoer com.pi4j.io.i2c. I2CFactory; invoer java.io. IOException; klas MCP23008 {public static void main (String args ) gooi Uitsondering {int status, waarde, waarde1 = 0x00; // Skep I2C -bus I2CBus -bus = I2CFactory.getInstance (I2CBus. BUS_1); // Kry I2C -toestel, MCP23008 I2C -adres is 0x20 (32) I2CDevice device = bus.getDevice (0x20); // Kry I2C -toestel, MCP9808 I2C -adres is 0x18 (24) I2CDevice MCP9808 = bus.getDevice (0x18); // Kry I2C -toestel, TCS34903 I2C -adres is 0x39 (55) I2CDevice TCS34903 = bus.getDevice (0x39); // Stel wagtydregister in = 0xff (255), wagtyd = 2.78 ms TCS34903.write (0x83, (byte) 0xFF); // Aktiveer toegang tot IR -kanaal TCS34903.write (0xC0, (byte) 0x80); // Stel Atime -register op 0x00 (0), maksimum tellings = 65535 TCS34903.write (0x81, (byte) 0x00); // Power ON, ADC enabled, Wait enabled TCS34903.write (0x80, (byte) 0x0B); Draad.slaap (250); // Lees 8 grepe data met duidelike/ir data LSB eerste greep data1 = nuwe greep [8]; // Lees temperatuurdatabyt data = nuwe greep [2]; status = apparaat.lees (0x09); // Alle penne gekonfigureer as OUTPUT device.write (0x00, (byte) 0x00); Draad.slaap (500); terwyl (waar) {MCP9808.read (0x05, data, 0, 2); // Skakel data int temp = ((data [0] & 0x1F) * 256 + (data [1] & 0xFF)); as (temp> 4096) {temp -= 8192; } dubbel cTemp = temp * 0,0625; System.out.printf (“Temperatuur in celsius is: %.2f C %n”, cTemp); TCS34903.lees (0x94, data1, 0, 8); dubbel ir = ((data1 [1] & 0xFF) * 256) + (data1 [0] & 0xFF) * 1,00; dubbel rooi = ((data1 [3] & 0xFF) * 256) + (data1 [2] & 0xFF) * 1,00; dubbel groen = ((data1 [5] & 0xFF) * 256) + (data1 [4] & 0xFF) * 1,00; dubbelblou = ((data1 [7] & 0xFF) * 256) + (data1 [6] & 0xFF) * 1,00; // Bereken illuminansie dubbelbeligting = (-0.32466) * (rooi) + (1.57837) * (groen) + (-0.73191) * (blou); System.out.printf ("Verligting is: %.2f lux %n", verligting); as (illuminansie 30) {waarde = waarde1 | (0x01); } anders {waarde = waarde1 & (0x02); } device.write (0x09, (byte) waarde); Draad.slaap (300); }}}

Stap 5: Skep lêer en voer die kode uit

  1. Om 'n nuwe lêer te skep waar die kode geskryf/gekopieer kan word, word die volgende opdrag gebruik: sudo nano FILE_NAME.javaEg. sudo nano MCP23008.java
  2. Nadat ons die lêer geskep het, kan ons die kode hier invoer.
  3. Kopieer die kode wat in die vorige stap gegee is en plak dit hier in die venster.
  4. Druk Ctrl+X en dan "y" om te verlaat.
  5. Stel dan die kode saam met die volgende opdrag: pi4j FILE_NAME.javaEg. pi4j MCP23008.java
  6. As daar geen foute is nie, voer die program uit met die onderstaande opdrag: pi4j FILE_NAMEEg. pi4j MCP23008.java

Stap 6: Aansoeke

Met hierdie stelsel kan u die toestelle beheer sonder om na die muurskakelaars te gaan. Dit het uitgebreide vermoëns, aangesien die tye waarop die toestelle in- of uitgeskakel word, outomaties geskeduleer word. Daar is 'n handjievol toepassings van hierdie module, van huise tot nywerhede, hospitale, spoorwegstasies en vele meer plekke, wat op 'n bekostigbare en maklike manier geoutomatiseer kan word deur sy plug-and-play-komponente.

Stap 7: Hulpbronne

Kyk na die onderstaande skakels vir meer inligting oor TSL34903, MCP9808 MCP23008 Relay Controller:

  • TSL34903 Gegevensblad
  • MCP9808 Gegevensblad
  • MCP23008 Gegevensblad

Aanbeveel: