Innholdsfortegnelse:

Hjemmeautomatisering med bringebær Pi ved bruk av relékort: 7 trinn
Hjemmeautomatisering med bringebær Pi ved bruk av relékort: 7 trinn

Video: Hjemmeautomatisering med bringebær Pi ved bruk av relékort: 7 trinn

Video: Hjemmeautomatisering med bringebær Pi ved bruk av relékort: 7 trinn
Video: (Part-1) - Homey Pro 2023 DIY Memory & Storage Upgrade / New Raspberry Pi4 Compute Module 8/16GB 2024, Juli
Anonim
Hjemmeautomatisering med bringebær Pi ved bruk av relékort
Hjemmeautomatisering med bringebær Pi ved bruk av relékort

Et stort antall mennesker ønsker god komfort, men til rimelige priser. Vi føler oss late til å lyse opp husene hver kveld når solen går ned og neste morgen, slå av lysene igjen Eller for å slå klimaanlegg/vifte/varmeovner på/av som været eller romtemperaturen.

En rimelig løsning for å unngå dette ekstra arbeidet med å slå av apparatene når det er nødvendig, er her. Det er å automatisere husene dine til relativt lave kostnader ved å bruke enkle plug and play -produkter. Det fungerer som når temperaturen går opp eller ned, det slår på henholdsvis klimaanlegget eller varmeapparatet. Når det er nødvendig, vil det også hjelpe å slå på eller lysene i hjemmet ditt uten å slå dem på manuelt. Og mange flere apparater kan kontrolleres. Automatiser verden. La oss starte hjemmet ditt.

Trinn 1: Maskinvare påkrevd

Maskinvare påkrevd
Maskinvare påkrevd
Maskinvare påkrevd
Maskinvare påkrevd
Maskinvare påkrevd
Maskinvare påkrevd

Vi kommer til å bruke:

Bringebær Pi

Raspberry Pi er en enslig brett Linux -basert PC. Denne lille PC -en gir kraft i å registrere strøm, brukt som et stykke elektronikkøvelser, og PC -operasjoner som regneark, tekstbehandling, nettsurfing og e -post og spill

I2C Shield eller I2C Header

INPI2 (I2C -adapteren) gir Raspberry Pi 2/3 en I²C -port for bruk med flere I2C -enheter

I2C Relékontroller MCP23008

MCP23008 fra Microchip er en integrert portekspander som styrer åtte releer gjennom I²C -bussen. Du kan legge til flere reléer, digital I/O, analog til digital omformere, sensorer og andre enheter ved hjelp av den integrerte I²C -ekspansjonsporten

MCP9808 temperatursensor

MCP9808 er en temperatursensor med høy nøyaktighet som gir kalibrerte, lineariserte sensorsignaler i digitalt I²C-format

TCS34903 luminanssensor

TCS34903 er et fargesensorfamilieprodukt som gir verdien av RGB -komponenten lys og farge

I2C -tilkoblingskabel

I2C-tilkoblingskabel er en 4-kablet kabel som er ment for I2C-kommunikasjon mellom to I2C-enheter som er koblet gjennom den

Micro USB -adapter

For å starte Raspberry Pi trenger vi en Micro USB -kabel

12V strømadapter for relékort

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

Du kan kjøpe produktet ved å klikke på dem. Du kan også finne mer flott materiale på Dcube Store.

Trinn 2: Maskinvaretilkobling

Maskinvaretilkobling
Maskinvaretilkobling
Maskinvaretilkobling
Maskinvaretilkobling
Maskinvaretilkobling
Maskinvaretilkobling
Maskinvaretilkobling
Maskinvaretilkobling

De nødvendige tilkoblingene (se bildene) er som følger:

  1. Dette vil fungere over I2C. Ta et I2C -skjold for Raspberry pi og koble det forsiktig til GPIO -pinnene på Raspberry Pi.
  2. Koble den ene enden av I2C-kabelen til inngangen på TCS34903 og den andre enden til I2C-skjoldet.
  3. Koble MCP9808-sensorens in-pot til TCS34903 ut med I2C-kabel.
  4. Koble MCP23008-in-potten til MCP9808-sensoren ut med I2C-kabel.
  5. Koble også Ethernet-kabelen til Raspberry Pi. Wi-Fi-ruteren kan også brukes til den samme.
  6. Deretter slår du på Raspberry Pi ved hjelp av en mikro -USB -adapter og et MCP23008 -relékort med en 12V -adapter.
  7. Til slutt kobler du lyset til det første reléet og en vifte eller varmeapparat med det andre reléet. Du kan utvide modulen eller koble flere enheter til reléene.

Trinn 3: Kommunisere ved hjelp av I2C -protokoll

For å gjøre Raspberry Pi I2C aktivert, fortsett som nevnt nedenfor:

  1. I terminal skriver du inn følgende kommando for å åpne konfigurasjonsinnstillingene: sudo raspi-config
  2. Velg "Avanserte alternativer" her.
  3. Velg "I2C" og klikk "Ja".
  4. Start systemet på nytt for å konfigurere det i henhold til endringene som er gjort med kommandoen reboot.

Trinn 4: Programmering av modulen

Belønningen ved å bruke Raspberry Pi er, det vil si at du får fleksibiliteten til å velge programmeringsspråket du vil programmere for å koble sensorenheten til Raspberry Pi. Når vi utnytter denne fordelen med Raspberry Pi, demonstrerer vi her programmeringen i Java.

For å konfigurere Java -miljøet, installer “pi4j libraby” fra https://pi4j.com/1.2/index.html Pi4j er et Java Input/Output Library for Raspberry Pi. En enkel og mest foretrukket metode for å installere “pi4j bibliotek”er å utføre den nevnte kommandoen direkte i din Raspberry Pi:

curl -s get.pi4j.com | sudo bash

ELLER

curl -s get.pi4j.com

import com.pi4j.io.i2c. I2CBus; import com.pi4j.io.i2c. I2CDevice; importer com.pi4j.io.i2c. I2CFactory; importer java.io. IOException; klasse MCP23008 {public static void main (String args ) kaster Unntak {int status, verdi, verdi1 = 0x00; // Lag I2C -buss I2CBus -buss = I2CFactory.getInstance (I2CBus. BUS_1); // Få I2C -enhet, MCP23008 I2C -adresse er 0x20 (32) I2CDevice device = bus.getDevice (0x20); // Få I2C -enhet, MCP9808 I2C -adresse er 0x18 (24) I2CDevice MCP9808 = bus.getDevice (0x18); // Få I2C -enhet, TCS34903 I2C -adresse er 0x39 (55) I2CDevice TCS34903 = bus.getDevice (0x39); // Sett ventetidregister = 0xff (255), ventetid = 2,78 ms TCS34903.write (0x83, (byte) 0xFF); // Aktiver tilgang til IR -kanal TCS34903.write (0xC0, (byte) 0x80); // Sett Atime -registeret til 0x00 (0), maksimumsantall = 65535 TCS34903.write (0x81, (byte) 0x00); // Strøm PÅ, ADC aktivert, Vent aktivert TCS34903.write (0x80, (byte) 0x0B); Tråd. Sover (250); // Les 8 byte data med klare/ir data LSB første byte data1 = ny byte [8]; // Les temperaturdatabyte data = ny byte [2]; status = device.read (0x09); // Konfigurert alle pins som OUTPUT device.write (0x00, (byte) 0x00); Tråd. Sover (500); mens (true) {MCP9808.read (0x05, data, 0, 2); // Konverter data int temp = ((data [0] & 0x1F) * 256 + (data [1] & 0xFF)); hvis (temp> 4096) {temp -= 8192; } dobbel cTemp = temp * 0,0625; System.out.printf ("Temperaturen i celsius er: %.2f C %n", cTemp); TCS34903.read (0x94, data1, 0, 8); dobbelt ir = ((data1 [1] & 0xFF) * 256) + (data1 [0] & 0xFF) * 1,00; dobbel rød = ((data1 [3] & 0xFF) * 256) + (data1 [2] & 0xFF) * 1,00; dobbel grønn = ((data1 [5] & 0xFF) * 256) + (data1 [4] & 0xFF) * 1,00; dobbelt blå = ((data1 [7] & 0xFF) * 256) + (data1 [6] & 0xFF) * 1,00; // Beregn belysningsstyrke dobbel belysning = (-0.32466) * (rød) + (1.57837) * (grønn) + (-0.73191) * (blå); System.out.printf ("Belysning er: %.2f lux %n", lysstyrke); hvis (belysning 30) {verdi = verdi1 | (0x01); } annet {verdi = verdi1 & (0x02); } device.write (0x09, (byte) verdi); Tråd. Sover (300); }}}

Trinn 5: Opprette fil og kjøre koden

  1. For å opprette en ny fil der koden kan skrives/kopieres, brukes følgende kommando: sudo nano FILE_NAME.javaEg. sudo nano MCP23008.java
  2. Etter å ha opprettet filen, kan vi legge inn koden her.
  3. Kopier koden gitt i forrige trinn og lim den inn i vinduet her.
  4. Trykk Ctrl+X og deretter "y" for å avslutte.
  5. Kompiler deretter koden med følgende kommando: pi4j FILE_NAME.javaEg. pi4j MCP23008.java
  6. Hvis det ikke er noen feil, kan du kjøre programmet ved å bruke kommandoen under: pi4j FILE_NAMEEg. pi4j MCP23008.java

Trinn 6: Søknader

Dette systemet lar deg kontrollere enhetene uten å gå til veggbryterne. Dette har omfattende muligheter, da tidspunktene for å slå enhetene på eller av er automatisk planlagt. Det er en håndfull applikasjoner av denne modulen fra hus til industrier, sykehus, jernbanestasjoner og mange flere steder kan automatiseres på en rimelig og enkel måte ved hjelp av plug-and-play-komponentene.

Trinn 7: Ressurser

For mer informasjon om TSL34903, MCP9808 MCP23008 relékontroller, sjekk ut linkene nedenfor:

  • TSL34903 Dataark
  • MCP9808 Datablad
  • MCP23008 Dataark

Anbefalt: