Innholdsfortegnelse:
- Rekvisita
- Trinn 1: Å vite om DockerPi Series 4 Channel Relay Board
- Trinn 2: Funksjoner
- Trinn 3: Enhetens adressekart
- Trinn 4: Koble reléet til pæreholderen som drives av hovedstrømforsyningen
- Trinn 5: Konfigurering av I2C (Raspberry Pi)
- Trinn 6: Direkte kontroll uten programmering (Raspberry Pi)
- Trinn 7: Program i språk C (Raspberry Pi)
- Trinn 8: Programmer i Python (Raspberry Pi)
- Trinn 9: Programmer i Java (Raspberry Pi)
Video: Kontrollsystem for lys: 9 trinn
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:23
Nylig jobbet jeg med å forstå mikrokontrollere og IOT -baserte enheter for sikkerhetsforskningsformål. Så jeg tenkte å bygge et lite hjemmeautomatiseringssystem for praksis. Jeg har ennå ikke fullført dette, men for oppstart vil jeg dele hvordan jeg brukte Raspberry Pi 2 og noen andre elektriske komponenter for å kontrollere lyset i rommet mitt i dette innlegget. Jeg vil ikke snakke om første oppsett for bringebær her, du kan finne forskjellige opplæringsprogrammer for det.
Men i dette prosjektet vil jeg introdusere dette docker pi -serien for deg.
Rekvisita
Komponentliste:
- 1 x Raspberry Pi 3B+/3B/Zero/Zero W/4B/
- 1 x 16 GB TF -kort i klasse 10
- 1 x DockerPi series 4 Channel Relay Board (HAT)
- 1 x [email protected] strømforsyning som er fra 52Pi
- 4 x lyslist
- 1 x DC -kontakt
- 1 x 12V strømforsyning for lyslistene.
- flere ledninger.
Trinn 1: Å vite om DockerPi Series 4 Channel Relay Board
DockerPi 4 Channel Relay er medlem av DockerPi -serien, mer vanlig brukt i IOT -applikasjoner.
DockerPi 4 Channel Relay kan videresende AC/DC, i stedet for tradisjonelle brytere, for å oppnå flere ideer. DockerPi 4 Channel Relay kan stable opptil 4, og kan stables med andre DockerPi -utvidelseskort. Hvis du trenger å kjøre lenge, anbefaler vi også at du bruker vårt DockerPi Power -utvidelseskort for å gi mer strøm.
MERK FORSIKTIG Før vi går videre, vil jeg advare deg om FARE for å eksperimentere med "strømnettet". Hvis noe går galt, kan den verste konsekvensen være døden eller i det minste brenne ditt eget hus. Så, IKKE FORSØK å gjøre noe som er nevnt i denne artikkelen hvis du ikke forstår hva du gjør eller bedre tar hjelp av en erfaren elektriker. La oss komme i gang.
Trinn 2: Funksjoner
- DockerPi -serien
- Programmerbar
- Styr direkte (uten programmering)
- Forleng GPIO -pinnene
- 4 -kanals relé
- 4 Alt I2C Addr -støtte
- Støtte for reléstatus Leds
- 3A 250V AC -støtte
- 3A 30V DC
- Kan stables med andre stavbrett Uavhengig av hovedkortmaskinvaren (krever I2C -støtte)
Trinn 3: Enhetens adressekart
Dette brettet har en separat registeradresse, og du kan bare kontrollere hvert relé med en kommando.
Andre krav:
Grunnleggende forståelse av Python eller C eller shell eller Java eller et annet språk (jeg bruker C, python, shell og java)
- Grunnleggende forståelse av Linux -systemer
- Tilstedeværelse av sinnet
Nå, før du går videre, må du forstå de elektriske komponentene vi skal bruke:
1. Stafett:
Et relé er en elektrisk enhet som vanligvis brukes til å kontrollere høyspenninger ved å bruke svært lav spenning som inngang. Denne består av en spole viklet rundt en stolpe og to små metallflapper (noder) som brukes til å lukke kretsen. En av noden er fast og den andre er bevegelig. Når en strøm sendes gjennom spolen, skaper den et magnetfelt og tiltrekker den bevegelige noden mot den statiske noden, og kretsen blir fullført. Så bare ved å bruke liten spenning for å starte spolen kan vi faktisk fullføre kretsen for høyspenningen å reise. Ettersom den statiske noden ikke er fysisk koblet til spolen, er det svært mindre sjanse for at mikrokontrolleren som driver spolen blir skadet hvis noe går galt.
Trinn 4: Koble reléet til pæreholderen som drives av hovedstrømforsyningen
Nå til den vanskelige delen, Vi kobler reléet til pæreholderen som drives av Main Electric -forsyning. Men først vil jeg gi deg en kort idé om hvordan lysene slås PÅ og AV via direkte strømforsyning.
Når lyspæren er koblet til hovedforsyningen, gjør vi vanligvis dette ved å koble to ledninger til pæren. en av ledningen er en "nøytral" ledning og den andre er den "negative" ledningen som faktisk bærer strømmen. Det er også en bryter som er lagt til hele kretsen for å styre PÅ og AV -mekanismen. Så når swithen er tilkoblet (eller slått PÅ) strømmer strømmen gjennom pæren og den nøytrale ledningen og fullfører kretsen. Dette slår på lyspæren. Når bryteren slås av, bryter den kretsen og lyspæren slås AV. Her er et lite kretsdiagram for å forklare dette:
Nå, for vårt eksperiment, må vi få "Negative Wire" til å passere gjennom reléet vårt for å bryte kretsen og kontrollere strømmen ved å bruke reléets bytte. Så når reléet slås PÅ, bør det fullføre kretsen og lyspæren skal slås PÅ og omvendt. Se diagrammet nedenfor for Full krets.
Trinn 5: Konfigurering av I2C (Raspberry Pi)
Kjør sudo raspi-config og følg instruksjonene for å installere i2c-støtte for ARM-kjernen og Linux-kjernen
Gå til Grensesnittalternativer
Trinn 6: Direkte kontroll uten programmering (Raspberry Pi)
Slå på kanal nr. 1 relé
i2cset -y 1 0x10 0x01 0xFF
Slå av kanal nr. 1 relé
i2cset -y 1 0x10 0x01 0x00
Slå på kanal nr. 2 relé
i2cset -y 1 0x10 0x02 0xFF
Slå av kanal nr. 2 relé
i2cset -y 1 0x10 0x02 0x00
Slå på kanal nr. 3 relé
i2cset -y 1 0x10 0x03 0xFF
Slå av kanal nr. 3 relé
i2cset -y 1 0x10 0x03 0x00
Slå på kanal nr. 4 relé
i2cset -y 1 0x10 0x04 0xFF
Slå av kanal nr. 4 relé
i2cset -y 1 0x10 0x04 0x00
Trinn 7: Program i språk C (Raspberry Pi)
Lag kildekoden og gi den navnet "relay.c"
#inkludere
#inkludere
#inkludere
#define DEVCIE_ADDR 0x10
#define RELAY1 0x01
#define RELAY2 0x02
#define RELAY3 0x03
#define RELAY4 0x04
#define PÅ 0xFF
#define OFF 0x00
int main (ugyldig)
{
printf ("Slå på reléer i C / n");
int fd;
int i = 0;
fd = wiringPiI2CSetup (DEVICE_ADDR);
til(;;){
for (i = 1; i <= 4; i ++)
{
printf ("slå på relé nr. $ d", i);
wiringPiI2CWriteReg8 (fd, i, ON);
søvn (200);
printf ("slå av relé nr. $ d", i);
wiringPiI2CWriteReg8 (fd, i, OFF);
søvn (200);
}
}
retur 0;
}
Kompiler det
gcc relé. c -lwiringPi -o relé
Utfør det
./relé
Trinn 8: Programmer i Python (Raspberry Pi)
Følgende kode anbefales å kjøres ved hjelp av Python 3 og installere smbus -biblioteket:
Lag en fil som heter den: "relay.py" og lim inn følgende kode:
importtid som t
importer smbus
importer sys
DEVICE_BUS = 1
DEVICE_ADDR = 0x10
buss = smbus. SMBus (DEVICE_BUS)
mens det er sant:
prøve:
for jeg i rekkevidde (1, 5):
bus.write_byte_data (DEVICE_ADDR, i, 0xFF)
t. sover (1)
bus.write_byte_data (DEVICE_ADDR, i, 0x00)
t. sover (1)
unntatt KeyboardInterrupt som e:
print ("Quit the Loop")
sys.exit ()
* Lagre det og kjør som python3:
python3 relé.py
Trinn 9: Programmer i Java (Raspberry Pi)
Lag en ny fil ved navn: I2CRelay.java og lim inn følgende kode:
importer java.io. IOException;
import java.util. Arrays;
importer com.pi4j.io.i2c. I2CBus;
importer com.pi4j.io.i2c. I2CDenhet;
importer com.pi4j.io.i2c. I2CFactory;
importer com.pi4j.io.i2c. I2CFactory. UnsupportedBusNumberException;
import com.pi4j.platform. PlatformAlreadyAssignedException;
import com.pi4j.util. Console;
offentlig klasse I2CRelay {
// stafettens registeradresse.
offentlig statisk endelig int DOCKER_PI_RELAY_ADDR = 0x10;
// kanal for relé.
offentlig statisk siste byte DOCKER_PI_RELAY_1 = (byte) 0x01;
offentlig statisk siste byte DOCKER_PI_RELAY_2 = (byte) 0x02;
offentlig statisk siste byte DOCKER_PI_RELAY_3 = (byte) 0x03;
offentlig statisk siste byte DOCKER_PI_RELAY_4 = (byte) 0x04;
// Reléstatus
offentlig statisk siste byte DOCKER_PI_RELAY_ON = (byte) 0xFF;
offentlig statisk siste byte DOCKER_PI_RELAY_OFF = (byte) 0x00;
public static void main (String args) kaster InterruptedException, PlatformAlreadyAssignedException, IOException, UnsupportedBusNumberException {
siste konsollkonsoll = ny konsoll ();
I2CBus i2c = I2CFactory.getInstance (I2CBus. BUS_1);
I2CDevice -enhet = i2c.getDevice (DOCKER_PI_RELAY_ADDR);
console.println ("Slå på relé!");
device.write (DOCKER_PI_RELAY_1, DOCKER_PI_RELAY_ON);
Tråd. Sover (500);
console.println ("Slå av relé!");
device.write (DOCKER_PI_RELAY_1, DOCKER_PI_RELAY_OFF);
}
}
Anbefalt:
Raspberry Pi innendørs klimaovervåkings- og kontrollsystem: 6 trinn
Raspberry Pi innendørs klimaovervåkings- og kontrollsystem: Folk vil være komfortable inne i huset sitt. Ettersom klimaet i vårt område kanskje ikke passer oss selv, bruker vi mange apparater for å opprettholde et sunt innemiljø: varmeapparat, luftkjøler, luftfukter, avfukter, renser, etc. I dag er det vanlig
IoT -basert overvåkings- og kontrollsystem for jordfuktighet ved bruk av NodeMCU: 6 trinn
IoT-basert jordovervåkings- og kontrollsystem for jord ved bruk av NodeMCU: I denne opplæringen skal vi implementere et IoT-basert jordovervåkings- og kontrollsystem for jord som bruker ESP8266 WiFi-modul, dvs. NodeMCU.Komponenter som kreves for dette prosjektet: ESP8266 WiFi-modul- Amazon (334/- INR) Relemodul- Amazon (130/- INR
Lys opp Chanukah-genser med individuelle "lys": 7 trinn (med bilder)
Opplyst Chanukah-genser med individuelle "stearinlys": Høytidsfesten og i år kan du være festens lysende stjerne med en lys menoragenser! Dette er et sydd kretsprosjekt som bruker relativt rimelige materialer som er lett å finne på nettet og i håndverksbutikken. Enda bedre
En enkel turbiditetsmonitor og kontrollsystem for mikroalger: 4 trinn
En enkel turbiditetsmonitor og kontrollsystem for mikroalger: La oss bare si at du kjeder deg med prøvetaking av vann for å måle turbiditet, et brutto uttrykk som indikerer små, suspenderte partikler i vann, noe som reduserer lysintensiteten enten med en økende lysbane eller en høyere partikkel. konsentrasjon eller begge deler
Musikkreaktivt lys -- Hvordan lage superenkelt musikkreaktivt lys for å gjøre skrivebordet fantastisk: 5 trinn (med bilder)
Music Reactive Light || How to Make Super Simple Music Reactive Light for Making Desktop Awsome .: Hei, hva skjer gutter, I dag skal vi bygge et veldig interessant prosjekt. I dag skal vi bygge musikk reaktivt lys. LED -en vil endre lysstyrken iht. bassen som faktisk er lavfrekvent lydsignal. Det er veldig enkelt å bygge. Vi vil