Indholdsfortegnelse:

Hjemmeautomatisering med Raspberry Pi ved hjælp af relækort: 7 trin
Hjemmeautomatisering med Raspberry Pi ved hjælp af relækort: 7 trin

Video: Hjemmeautomatisering med Raspberry Pi ved hjælp af relækort: 7 trin

Video: Hjemmeautomatisering med Raspberry Pi ved hjælp af relækort: 7 trin
Video: (Part-1) - Homey Pro 2023 DIY Memory & Storage Upgrade / New Raspberry Pi4 Compute Module 8/16GB 2024, November
Anonim
Hjemmeautomatisering med Raspberry Pi ved hjælp af relækort
Hjemmeautomatisering med Raspberry Pi ved hjælp af relækort

Et stort antal mennesker ønsker stor komfort, men til rimelige priser. Vi føler os dovne for at tænde husene hver aften, når solen går ned og næste morgen, slukke lyset igen Eller for at tænde/slukke for klimaanlægget/blæseren/varmeapparaterne, ligesom vejret eller stuetemperaturen var.

En billig løsning for at undgå dette ekstra arbejde med at slukke apparaterne, når det er påkrævet, er her. Det er at automatisere dine huse i forholdsvis meget lavere omkostninger ved hjælp af simple plug and play -produkter. Det fungerer som når temperaturen går op eller ned, det tænder henholdsvis klimaanlægget eller varmelegemet. Når det er påkrævet, hjælper det også med at tænde eller lyset i dit hjem uden at tænde dem manuelt. Og mange flere apparater kan styres. Automatiser verden. Lad os starte dit hjem.

Trin 1: Hardware påkrævet

Hardware påkrævet
Hardware påkrævet
Hardware påkrævet
Hardware påkrævet
Hardware påkrævet
Hardware påkrævet

Vi vil bruge:

Hindbær Pi

Raspberry Pi er en enslig board Linux -baseret pc. Denne lille pc giver et slag til at registrere strøm, der bruges som et stykke elektronikøvelser og pc -operationer som regneark, tekstbehandling, websurfing og e -mail og spil

I2C Shield eller I2C Header

INPI2 (I2C -adapteren) giver Raspberry Pi 2/3 en I²C -port til brug med flere I2C -enheder

I2C Relæ controller MCP23008

MCP23008 fra Microchip er en integreret portudvidelse, der styrer otte relæer gennem I²C -bussen. Du kan tilføje flere relæer, digital I/O, analog til digital omformere, sensorer og andre enheder ved hjælp af den integrerede I²C -udvidelsesport

MCP9808 Temperatursensor

MCP9808 er en temperatursensor med høj nøjagtighed, der leverer kalibrerede, lineariserede sensorsignaler i digitalt I²C-format

TCS34903 luminanssensor

TCS34903 er et farvesensorfamilieprodukt, der giver værdien af RGB -komponenten lys og farve

I2C tilslutningskabel

I2C-tilslutningskabel er et 4-kablet kabel, der er beregnet til I2C-kommunikation mellem to I2C-enheder, der er forbundet via det

Micro USB adapter

For at tænde Raspberry Pi skal vi bruge et Micro USB -kabel

12V strømadapter til relækort

MCP23008 Relæ controller fungerer på 12V ekstern strøm, og denne kan leveres med en 12V strømadapter

Du kan købe produktet ved at klikke på dem. Du kan også finde mere godt materiale i Dcube Store.

Trin 2: Hardware -tilslutning

Hardware -tilslutning
Hardware -tilslutning
Hardware -tilslutning
Hardware -tilslutning
Hardware -tilslutning
Hardware -tilslutning
Hardware -tilslutning
Hardware -tilslutning

De nødvendige forbindelser (se billederne) er som følger:

  1. Dette fungerer over I2C. Tag et I2C -skjold til Raspberry pi og tilslut det forsigtigt til GPIO -benene på Raspberry Pi.
  2. Tilslut den ene ende af I2C-kablet til indgangen på TCS34903 og den anden ende til I2C-skærmen.
  3. Tilslut MCP9808-sensorens in-pot til TCS34903's ud ved hjælp af I2C-kabel.
  4. Tilslut MCP23008's in-pot til MCP9808-sensorens udgang ved hjælp af I2C-kabel.
  5. Tilslut også Ethernet-kablet til Raspberry Pi. Wi-Fi-router kan også bruges til det samme.
  6. Derefter tændes Raspberry Pi ved hjælp af en mikro -USB -adapter og MCP23008 -relækort ved hjælp af 12V -adapter.
  7. Tilslut til sidst lyset med første relæ og en blæser eller varmelegeme med andet relæ. Du kan udvide modulet eller forbinde flere enheder med relæerne.

Trin 3: Kommunikation ved hjælp af I2C -protokol

For at gøre Raspberry Pi I2C aktiveret skal du fortsætte som nævnt nedenfor:

  1. I terminal skal du skrive følgende kommando for at åbne konfigurationsindstillingerne: sudo raspi-config
  2. Vælg "Avancerede indstillinger" her.
  3. Vælg "I2C" og klik på "Ja".
  4. Genstart systemet for at konfigurere det i henhold til de ændringer, der er foretaget ved hjælp af kommandoen genstart.

Trin 4: Programmering af modulet

Belønningen ved at bruge Raspberry Pi er, det vil sige giver dig fleksibiliteten til at vælge det programmeringssprog, som du vil programmere til at grænseflade mellem sensorenheden og Raspberry Pi. Ved at udnytte denne fordel ved Raspberry Pi demonstrerer vi her sin programmering i Java.

For at konfigurere Java -miljøet skal du installere “pi4j libraby” fra https://pi4j.com/1.2/index.html Pi4j er et Java Input/Output -bibliotek til Raspberry Pi. En let og mest foretrukken metode til at installere “pi4j bibliotek”er at udføre den undernævnte kommando direkte i din Raspberry Pi:

krølle -s get.pi4j.com | sudo bash

ELLER

curl -s get.pi4j.com

import com.pi4j.io.i2c. I2CBus; import com.pi4j.io.i2c. I2CDevice; import com.pi4j.io.i2c. I2CFactory; import java.io. IOException; klasse MCP23008 {public static void main (String args ) kaster undtagelse {int status, value, value1 = 0x00; // Opret I2C bus I2CBus bus = I2CFactory.getInstance (I2CBus. BUS_1); // Hent I2C -enhed, MCP23008 I2C -adresse er 0x20 (32) I2CDevice device = bus.getDevice (0x20); // Hent I2C -enhed, MCP9808 I2C -adresse er 0x18 (24) I2CDevice MCP9808 = bus.getDevice (0x18); // Hent I2C -enhed, TCS34903 I2C -adresse er 0x39 (55) I2CDevice TCS34903 = bus.getDevice (0x39); // Indstil ventetidsregister = 0xff (255), ventetid = 2,78 ms TCS34903.write (0x83, (byte) 0xFF); // Aktiver adgang til IR -kanal TCS34903.write (0xC0, (byte) 0x80); // Indstil Atime -register til 0x00 (0), maksimale tællinger = 65535 TCS34903.write (0x81, (byte) 0x00); // Tænd, ADC aktiveret, Vent aktiveret TCS34903.write (0x80, (byte) 0x0B); Tråd. Sover (250); // Læs 8 Bytes data med klare/ir data LSB første byte data1 = ny byte [8]; // Læs temperaturdatabyte data = ny byte [2]; status = device.read (0x09); // Konfigurerede alle pins som OUTPUT device.write (0x00, (byte) 0x00); Tråd. Sover (500); mens (sand) {MCP9808.read (0x05, data, 0, 2); // Konverter data int temp = ((data [0] & 0x1F) * 256 + (data [1] & 0xFF)); hvis (temp> 4096) {temp -= 8192; } dobbelt cTemp = temp * 0,0625; System.out.printf ("Temperatur i celsius er: %.2f C %n", cTemp); TCS34903.read (0x94, data1, 0, 8); dobbelt ir = ((data1 [1] & 0xFF) * 256) + (data1 [0] & 0xFF) * 1,00; dobbelt rød = ((data1 [3] & 0xFF) * 256) + (data1 [2] & 0xFF) * 1,00; dobbelt grøn = ((data1 [5] & 0xFF) * 256) + (data1 [4] & 0xFF) * 1,00; dobbeltblå = ((data1 [7] & 0xFF) * 256) + (data1 [6] & 0xFF) * 1,00; // Beregn belysningsstyrke dobbeltbelysning = (-0.32466) * (rød) + (1.57837) * (grøn) + (-0.73191) * (blå); System.out.printf ("Belysningsstyrke er: %.2f lux %n", belysningsstyrke); hvis (belysningsstyrke 30) {værdi = værdi1 | (0x01); } ellers {værdi = værdi1 & (0x02); } device.write (0x09, (byte) værdi); Thread.sleep (300); }}}

Trin 5: Oprettelse af fil og kørsel af koden

  1. For at oprette en ny fil, hvor koden kan skrives/kopieres, bruges følgende kommando: sudo nano FILE_NAME.javaEg. sudo nano MCP23008.java
  2. Efter oprettelse af filen kan vi indtaste koden her.
  3. Kopier koden, der blev givet i forrige trin, og indsæt den i vinduet her.
  4. Tryk på Ctrl+X og derefter "y" for at afslutte.
  5. Kompilér derefter koden ved hjælp af følgende kommando: pi4j FILE_NAME.javaEg. pi4j MCP23008.java
  6. Hvis der ikke er nogen fejl, skal du køre programmet ved hjælp af den undernævnte kommando: pi4j FILE_NAMEEg. pi4j MCP23008.java

Trin 6: Applikationer

Dette system giver dig mulighed for at styre enhederne uden at gå til vægkontakterne. Dette har omfattende muligheder, da tiderne for at tænde eller slukke for enhederne er automatisk planlagt. Der er en håndfuld anvendelser af dette modul fra huse til industrier, hospitaler, jernbanestationer og mange flere steder kan automatiseres på en overkommelig og let måde ved hjælp af sine plug-and-play-komponenter.

Trin 7: Ressourcer

For mere information om TSL34903, MCP9808 MCP23008 Relay Controller, tjek nedenstående links:

  • TSL34903 Datablad
  • MCP9808 Datablad
  • MCP23008 Datablad

Anbefalede: