Innehållsförteckning:

Hemmautomation med Raspberry Pi med hjälp av reläkort: 7 steg
Hemmautomation med Raspberry Pi med hjälp av reläkort: 7 steg

Video: Hemmautomation med Raspberry Pi med hjälp av reläkort: 7 steg

Video: Hemmautomation med Raspberry Pi med hjälp av reläkort: 7 steg
Video: Learn Arduino in 30 Minutes: Examples and projects 2024, November
Anonim
Hemmautomation med Raspberry Pi med hjälp av reläkort
Hemmautomation med Raspberry Pi med hjälp av reläkort

En stor mängd människor vill ha stor komfort men till rimliga priser. Vi känner oss lata för att lysa upp husen varje kväll när solen går ner och nästa morgon, släcka lamporna igen Eller för att slå på/stänga av luftkonditioneringen/fläkten/värmare som var vädret eller rumstemperaturen.

En billig lösning för att undvika detta extra arbete med att stänga av apparaterna när det behövs finns här. Det är att automatisera dina hus till relativt mycket lägre kostnader med hjälp av enkla plug and play -produkter. Det fungerar som när temperaturen går upp eller ner, det slår på luftkonditioneringen respektive värmaren. Vid behov hjälper det också att slå på eller lamporna i ditt hem utan att manuellt slå på dem. Och många fler apparater kan styras. Automatisera världen. Låt oss starta ditt hem.

Steg 1: Hårdvara krävs

Hårdvara krävs
Hårdvara krävs
Hårdvara krävs
Hårdvara krävs
Hårdvara krävs
Hårdvara krävs

Vi kommer att använda:

Raspberry Pi

Raspberry Pi är en ensam Linux -baserad PC. Den här lilla datorn har en kraftfull effekt när det gäller att registrera kraft, som används som elektronikövningar och PC -operationer som kalkylblad, ordbehandling, webbsurfing och e -post och spel

I2C Shield eller I2C Header

INPI2 (I2C -adaptern) tillhandahåller Raspberry Pi 2/3 en I²C -port för användning med flera I2C -enheter

I2C Relästyrenhet MCP23008

MCP23008 från Microchip är en integrerad portexpander som styr åtta reläer via I²C -bussen. Du kan lägga till fler reläer, digital I/O, analog till digital omvandlare, sensorer och andra enheter med hjälp av den integrerade I²C expansionsporten

MCP9808 temperatursensor

MCP9808 är en temperatursensor med hög noggrannhet som ger kalibrerade, lineariserade sensorsignaler i digitalt I²C-format

TCS34903 luminanssensor

TCS34903 är en produkt med färgsensorfamiljer som ger värdet av RGB -komponenten ljus och färg

I2C -anslutningskabel

I2C-anslutningskabel är en 4-trådad kabel som är avsedd för I2C-kommunikation mellan två I2C-enheter som är anslutna via den

Micro USB -adapter

För att starta Raspberry Pi behöver vi en Micro USB -kabel

12V nätadapter för reläkort

MCP23008 Relästyrenhet fungerar på 12V extern ström och detta kan levereras med en 12V nätadapter

Du kan köpa produkten genom att klicka på dem. Du kan också hitta mer bra material på Dcube Store.

Steg 2: Hårdvaruanslutning

Hårdvaruanslutning
Hårdvaruanslutning
Hårdvaruanslutning
Hårdvaruanslutning
Hårdvaruanslutning
Hårdvaruanslutning
Hårdvaruanslutning
Hårdvaruanslutning

De nödvändiga anslutningarna (se bilderna) är följande:

  1. Detta kommer att fungera över I2C. Ta en I2C -sköld för Raspberry pi och anslut den försiktigt till GPIO -stiften på Raspberry Pi.
  2. Anslut den ena änden av I2C-kabeln till ingången på TCS34903 och den andra änden till I2C-skärmen.
  3. Anslut MCP9808-sensorns in-pot till TCS34903 ut med I2C-kabel.
  4. Anslut MCP23008: s in-pot till MCP9808-sensorns utgång med I2C-kabel.
  5. Anslut också Ethernet-kabeln till Raspberry Pi. Wi-Fi-routern kan också användas för samma.
  6. Slå sedan på Raspberry Pi med en mikro -USB -adapter och MCP23008 reläkort med en 12V -adapter.
  7. Slutligen, anslut ljuset med första relä och en fläkt eller värmare med andra relä. Du kan utöka modulen eller ansluta fler enheter till reläerna.

Steg 3: Kommunicera med I2C -protokoll

För att göra Raspberry Pi I2C aktiverad, fortsätt enligt nedan:

  1. I terminalen skriver du följande kommando för att öppna konfigurationsinställningarna: sudo raspi-config
  2. Välj "Avancerade alternativ" här.
  3. Välj "I2C" och klicka på "Ja".
  4. Starta om systemet för att konfigurera det enligt de ändringar som gjorts med kommandot omstart.

Steg 4: Programmering av modulen

Belöningen för att använda Raspberry Pi är, det vill säga ger dig flexibiliteten att välja ett programmeringsspråk där du vill programmera för att ansluta sensorn med Raspberry Pi. Med denna fördel med Raspberry Pi demonstrerar vi här dess programmering i Java.

För att konfigurera Java -miljön, installera "pi4j libraby" från https://pi4j.com/1.2/index.html Pi4j är ett Java Input/Output Library för Raspberry Pi. En enkel och mest föredragen metod för att installera "pi4j bibliotek”är att köra det undernämnda kommandot direkt i din Raspberry Pi:

curl -s get.pi4j.com | sudo bash

ELLER

curl -s get.pi4j.com

importera com.pi4j.io.i2c. I2CBus; importera com.pi4j.io.i2c. I2CDevice; importera com.pi4j.io.i2c. I2CFactory; importera java.io. IOException; klass MCP23008 {public static void main (String args ) kastar undantag {int status, värde, värde1 = 0x00; // Skapa I2C -buss I2CBus -buss = I2CFactory.getInstance (I2CBus. BUS_1); // Skaffa I2C -enhet, MCP23008 I2C -adress är 0x20 (32) I2CDevice device = bus.getDevice (0x20); // Skaffa I2C -enhet, MCP9808 I2C -adress är 0x18 (24) I2CDevice MCP9808 = bus.getDevice (0x18); // Skaffa I2C -enhet, TCS34903 I2C -adress är 0x39 (55) I2CDevice TCS34903 = bus.getDevice (0x39); // Ställ in väntetidsregister = 0xff (255), väntetid = 2,78 ms TCS34903.write (0x83, (byte) 0xFF); // Aktivera åtkomst till IR -kanal TCS34903.write (0xC0, (byte) 0x80); // Ställ in Atime -registret till 0x00 (0), maxantal = 65535 TCS34903.write (0x81, (byte) 0x00); // Power ON, ADC enabled, Wait enabled TCS34903.write (0x80, (byte) 0x0B); Tråd. Sover (250); // Läs 8 byte med data med tydliga/ir -data LSB första byte data1 = ny byte [8]; // Läs temperaturdatabyte data = ny byte [2]; status = device.read (0x09); // Konfigurerade alla stift som OUTPUT device.write (0x00, (byte) 0x00); Tråd. Sover (500); medan (true) {MCP9808.read (0x05, data, 0, 2); // Konvertera data int temp = ((data [0] & 0x1F) * 256 + (data [1] & 0xFF)); om (temp> 4096) {temp -= 8192; } dubbel cTemp = temp * 0,0625; System.out.printf (“Temperaturen i celsius är: %.2f C %n”, cTemp); TCS34903.read (0x94, data1, 0, 8); dubbel ir = ((data1 [1] & 0xFF) * 256) + (data1 [0] & 0xFF) * 1,00; dubbel röd = ((data1 [3] & 0xFF) * 256) + (data1 [2] & 0xFF) * 1,00; dubbel grön = ((data1 [5] & 0xFF) * 256) + (data1 [4] & 0xFF) * 1,00; dubbelblå = ((data1 [7] & 0xFF) * 256) + (data1 [6] & 0xFF) * 1,00; // Beräkna belysningsstyrka dubbelbelysning = (-0.32466) * (röd) + (1.57837) * (grön) + (-0.73191) * (blå); System.out.printf ("Belysningsstyrka är: %.2f lux %n", belysningsstyrka); if (belysning 30) {värde = värde1 | (0x01); } annat {värde = värde1 & (0x02); } device.write (0x09, (byte) värde); Tråd. Sover (300); }}}

Steg 5: Skapa fil och köra koden

  1. För att skapa en ny fil där koden kan skrivas/kopieras kommer följande kommando att användas: sudo nano FILE_NAME.javaEg. sudo nano MCP23008.java
  2. Efter att ha skapat filen kan vi mata in koden här.
  3. Kopiera koden från föregående steg och klistra in den i fönstret här.
  4. Tryck på Ctrl+X och sedan "y" för att avsluta.
  5. Kompilera sedan koden med följande kommando: pi4j FILE_NAME.javaEg. pi4j MCP23008.java
  6. Om det inte finns några fel, kör programmet med kommandot som nämns nedan: pi4j FILE_NAMEEg. pi4j MCP23008.java

Steg 6: Applikationer

Detta system låter dig styra enheterna utan att gå till väggbrytarna. Detta har omfattande funktioner eftersom tiderna för att slå på eller av enheterna schemaläggs automatiskt. Det finns en handfull tillämpningar av denna modul från hus till industrier, sjukhus, järnvägsstationer och många fler platser kan automatiseras på ett prisvärt och enkelt sätt med sina plug-and-play-komponenter.

Steg 7: Resurser

För mer information om TSL34903, MCP9808 MCP23008 Relay Controller, kolla nedanstående länkar:

  • TSL34903 Datablad
  • MCP9808 Datablad
  • MCP23008 Datablad

Rekommenderad: