Innholdsfortegnelse:
- Trinn 1: Maskinvare påkrevd
- Trinn 2: Maskinvaretilkobling
- Trinn 3: Kommunisere ved hjelp av I2C -protokoll
- Trinn 4: Programmering av modulen
- Trinn 5: Opprette fil og kjøre koden
- Trinn 6: Søknader
- Trinn 7: Ressurser
Video: Hjemmeautomatisering med bringebær Pi ved bruk av relékort: 7 trinn
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:21
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
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
De nødvendige tilkoblingene (se bildene) er som følger:
- Dette vil fungere over I2C. Ta et I2C -skjold for Raspberry pi og koble det forsiktig til GPIO -pinnene på Raspberry Pi.
- Koble den ene enden av I2C-kabelen til inngangen på TCS34903 og den andre enden til I2C-skjoldet.
- Koble MCP9808-sensorens in-pot til TCS34903 ut med I2C-kabel.
- Koble MCP23008-in-potten til MCP9808-sensoren ut med I2C-kabel.
- Koble også Ethernet-kabelen til Raspberry Pi. Wi-Fi-ruteren kan også brukes til den samme.
- Deretter slår du på Raspberry Pi ved hjelp av en mikro -USB -adapter og et MCP23008 -relékort med en 12V -adapter.
- 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:
- I terminal skriver du inn følgende kommando for å åpne konfigurasjonsinnstillingene: sudo raspi-config
- Velg "Avanserte alternativer" her.
- Velg "I2C" og klikk "Ja".
- 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
- For å opprette en ny fil der koden kan skrives/kopieres, brukes følgende kommando: sudo nano FILE_NAME.javaEg. sudo nano MCP23008.java
- Etter å ha opprettet filen, kan vi legge inn koden her.
- Kopier koden gitt i forrige trinn og lim den inn i vinduet her.
- Trykk Ctrl+X og deretter "y" for å avslutte.
- Kompiler deretter koden med følgende kommando: pi4j FILE_NAME.javaEg. pi4j MCP23008.java
- 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:
Flymonitor ved bruk av en bringebær -PI og en DVB -pinne: 3 trinn
Flight Monitor Bruke en Raspberry PI og en DVB Stick: Hvis du er en hyppig flyger, eller bare brenner for fly, så er Flightradar eller Flightaware 2 må ha nettsteder (eller apper, som det også er mobilapper) som du vil bruke på daglig Begge lar deg spore fly i sanntid, se flytur
Vannstandsmåler ved bruk av Oled -skjerm med bringebær Pi: 4 trinn
Vannstandsmåler ved bruk av Oled -skjerm med Raspberry Pi: Hei alle sammen, jeg er Shafin, medlem av Aiversity. Jeg skal dele om hvordan man bygger en vannstandssensor med en Oled -skjerm for vanntanker med en Raspberry pi. Oljedisplayet viser prosentandelen av bøtte fylt med vann
3-akset akselerometer, ADXL345 med bringebær Pi ved bruk av Python: 6 trinn
3-akset akselerometer, ADXL345 med bringebær Pi ved bruk av Python: Tenker på en gadget som kan kontrollere punktet der offroaderen din vippes mot for å dvele. Ville det ikke vært hyggelig i tilfelle noen blir justert når det er mulighet for å velte? Tydeligvis ja. Det ville være sant
Smart musikk på soverom og bad med bringebær Pi - Integrering av multirom, alarm, knappestyring og hjemmeautomatisering: 7 trinn
Smart musikk i soverom og bad med Raspberry Pi - Integrering av multirom, alarm, knappestyring og hjemmeautomatisering: I dag vil vi gi deg to eksempler på hvordan du kan bruke Raspberry Pi med vår Max2Play -programvare for hjemmeautomatisering: på badet og soverommet . Begge prosjektene er like ved at musikk fra flere kilder kan streames gjennom
Billig og effektiv hjemmeautomatisering med bringebær Pi: 11 trinn (med bilder)
Billig og effektiv hjemmeautomatisering med Raspberry Pi: Jeg har alltid ønsket å kunne styre lysene trådløst, men kommersielle alternativer er vanligvis dyre. Philips Hue -lys koster rundt $ 70, og WiFi -tilkoblede lys er også dyre. Denne opplæringen vil fortelle deg hvordan du kontrollerer opptil fem lys/l