Indholdsfortegnelse:
- Forbrugsvarer
- Trin 1: Kendskab til DockerPi Series 4 Channel Relay Board
- Trin 2: Funktioner
- Trin 3: Enhedens adressekort
- Trin 4: Tilslut relæet til pæreholderen, der drives af hovedforsyningen
- Trin 5: Konfiguration af I2C (Raspberry Pi)
- Trin 6: Direkte kontrol uden programmering (Raspberry Pi)
- Trin 7: Programmer i sprog C (Raspberry Pi)
- Trin 8: Programmer i Python (Raspberry Pi)
- Trin 9: Programmer i Java (Raspberry Pi)
Video: Lights Control System: 9 trin
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:27
For nylig arbejdede jeg på at forstå mikrokontrollere og IOT -baserede enheder til sikkerhedsforskningsformål. Så jeg tænkte på at bygge et lille hjemmeautomatiseringssystem til praksis. Jeg er endnu ikke færdig med dette, men til opstart vil jeg dele, hvordan jeg brugte Raspberry Pi 2 og nogle andre elektriske komponenter til at styre mit rums belysning i dette indlæg. Jeg vil heller ikke tale om indledende opsætning af hindbær her, du finder muligvis forskellige vejledninger til det.
Men i dette projekt vil jeg introducere dette docker pi -serie produkt for dig.
Forbrugsvarer
Komponentliste:
- 1 x Raspberry Pi 3B+/3B/Zero/Zero W/4B/
- 1 x 16 GB TF -kort i klasse 10
- 1 x DockerPi -serie 4 -kanals relækort (HAT)
- 1 x [email protected] strømforsyning, som er fra 52Pi
- 4 x lysstrimmel
- 1 x DC -stik
- 1 x 12V strømforsyning til lysstrimlerne.
- flere ledninger.
Trin 1: Kendskab til DockerPi Series 4 Channel Relay Board
DockerPi 4 Channel Relay er medlem af DockerPi -serien, mere almindeligt brugt i IOT -applikationer.
DockerPi 4 Channel Relay kan videresende AC/DC i stedet for traditionelle switches for at opnå flere ideer. DockerPi 4 Channel Relay kan stable op til 4 og kan stables med et andet DockerPi -udvidelseskort. Hvis du skal køre i lang tid, anbefaler vi også, at du bruger vores DockerPi Power -udvidelseskort til at levere mere strøm.
BEMÆRK FORSIGTIG Inden vi går videre, vil jeg gerne advare dig om FARE for at eksperimentere med "elnettet". Hvis noget går galt, kan den værste konsekvens være døden eller i det mindste brænde dit eget hus ned. Så prøv venligst IKKE at gøre noget, der er nævnt i denne artikel, hvis du ikke forstår, hvad du laver eller bedre tager hjælp fra en erfaren elektriker. Lad os komme igang.
Trin 2: Funktioner
- DockerPi -serien
- Programmerbar
- Styr direkte (uden programmering)
- Forlæng GPIO -benene
- 4 kanals relæ
- 4 Alt I2C Addr Support
- Relay Status Leds Support
- 3A 250V AC -understøttelse
- 3A 30V DC
- Kan stables med andet stakbræt Uafhængigt af hardboardhardware (kræver I2C -understøttelse)
Trin 3: Enhedens adressekort
Dette kort har en separat registeradresse, og du kan bare styre hvert relæ med en kommando.
Andre krav:
Grundlæggende forståelse af Python eller C eller shell eller Java eller et andet sprog (jeg bruger C, python, shell og java)
- Grundlæggende forståelse af Linux -systemer
- Sindets nærvær
Nu, før du går videre, skal du forstå de elektriske komponenter, vi vil bruge:
1. Relæ:
Et relæ er en elektrisk enhed, der generelt bruges til at styre højspændinger ved hjælp af meget lav spænding som input. Denne består af en spole viklet omkring en stang og to små metalflapper (noder), der bruges til at lukke kredsløbet. En af knuden er fast, og den anden er bevægelig. Når en elektricitet passeres gennem spolen, skaber den et magnetfelt og tiltrækker den bevægelige knude mod den statiske knude, og kredsløbet bliver afsluttet. Så bare ved at anvende lille spænding til at tænde spolen kan vi faktisk fuldføre kredsløbet for højspændingen til at rejse. Da den statiske knude ikke fysisk er forbundet til spolen, er der meget mindre chance for, at mikrokontrolleren, der driver spolen, bliver beskadiget, hvis noget går galt.
Trin 4: Tilslut relæet til pæreholderen, der drives af hovedforsyningen
Nu til den vanskelige del, vi forbinder relæet til pæreholderen, der drives af Main Electric -forsyning. Men først vil jeg give dig en kort idé om, hvordan lysene tændes og slukkes via direkte strømforsyning.
Nu, når pæren er tilsluttet hovedforsyningen, gør vi normalt dette ved at forbinde to ledninger til pæren. den ene af ledningen er en "neutral" ledning og den anden er den "negative" ledning, der faktisk bærer strømmen. Der er også tilføjet en kontakt til hele kredsløbet for at styre TIL og FRA -mekanismen. Så når swithen er tilsluttet (eller tændt) strømmer strømmen gennem pæren og den neutrale ledning og fuldender kredsløbet. Dette tænder pæren. Når kontakten er slukket, bryder den kredsløbet, og pæren slukker. Her er et lille kredsløbsdiagram for at forklare dette:
Nu til vores eksperiment skal vi få "Negative Wire" til at passere gennem vores relæ for at bryde kredsløbet og styre strømmen ved hjælp af relæets omskiftning. Så når relæet tændes, skal det fuldføre kredsløbet, og pæren skal tænde og omvendt. Se nedenstående diagram for fuldt kredsløb.
Trin 5: Konfiguration af I2C (Raspberry Pi)
Kør sudo raspi-config og følg vejledningen for at installere i2c-understøttelse til ARM-kernen og linux-kernen
Gå til grænsefladeindstillinger
Trin 6: Direkte kontrol uden programmering (Raspberry Pi)
Tænd kanal nr. 1 relæ
i2cset -y 1 0x10 0x01 0xFF
Sluk kanal nr. 1 relæ
i2cset -y 1 0x10 0x01 0x00
Tænd kanal nr. 2 relæ
i2cset -y 1 0x10 0x02 0xFF
Sluk kanal nr. 2 relæ
i2cset -y 1 0x10 0x02 0x00
Tænd kanal nr. 3 relæ
i2cset -y 1 0x10 0x03 0xFF
Sluk kanal nr. 3 relæ
i2cset -y 1 0x10 0x03 0x00
Tænd kanal nr. 4 relæ
i2cset -y 1 0x10 0x04 0xFF
Sluk kanal nr. 4 relæ
i2cset -y 1 0x10 0x04 0x00
Trin 7: Programmer i sprog C (Raspberry Pi)
Opret kildekode og navngiv den "relay.c"
#omfatte
#omfatte
#omfatte
#define DEVCIE_ADDR 0x10
#define RELAY1 0x01
#define RELAY2 0x02
#define RELAY3 0x03
#define RELAY4 0x04
#define ON 0xFF
#define OFF 0x00
int main (tomrum)
{
printf ("Slå relæer til i C / n");
int fd;
int i = 0;
fd = wiringPiI2CSetup (DEVICE_ADDR);
til(;;){
for (i = 1; i <= 4; i ++)
{
printf ("tænd relæ nr. $ d", i);
wiringPiI2CWriteReg8 (fd, i, ON);
søvn (200);
printf ("sluk for relæ nr. $ d", i);
wiringPiI2CWriteReg8 (fd, i, OFF);
søvn (200);
}
}
returnere 0;
}
Kompilér det
gcc relæ. c -lwiringPi -o relæ
Udfør det
./relæ
Trin 8: Programmer i Python (Raspberry Pi)
Følgende kode anbefales at blive udført ved hjælp af Python 3 og installere smbus -biblioteket:
Opret en fil med navnet: "relay.py" og indsæt følgende kode:
importtid som t
import smbus
import sys
DEVICE_BUS = 1
DEVICE_ADDR = 0x10
bus = smbus. SMBus (DEVICE_BUS)
mens det er sandt:
prøve:
for i i området (1, 5):
bus.write_byte_data (DEVICE_ADDR, i, 0xFF)
t. sover (1)
bus.write_byte_data (DEVICE_ADDR, i, 0x00)
t. sover (1)
undtagen KeyboardInterrupt som e:
print ("Quit the Loop")
sys.exit ()
* Gem det, og kør derefter som python3:
python3 relæ.py
Trin 9: Programmer i Java (Raspberry Pi)
Opret en ny fil ved navn: I2CRelay.java og indsæt følgende kode:
import java.io. IOException;
import java.util. Arrays;
importer com.pi4j.io.i2c. I2CBus;
import com.pi4j.io.i2c. I2CDevice;
import com.pi4j.io.i2c. I2CFactory;
import com.pi4j.io.i2c. I2CFactory. UnsupportedBusNumberException;
import com.pi4j.platform. PlatformAlreadyAssignedException;
import com.pi4j.util. Console;
public class I2CRelay {
// relæets registeradresse.
offentlig statisk endelig int DOCKER_PI_RELAY_ADDR = 0x10;
// kanal af relæ.
offentlig statisk slutbyte DOCKER_PI_RELAY_1 = (byte) 0x01;
offentlig statisk slutbyte DOCKER_PI_RELAY_2 = (byte) 0x02;
offentlig statisk slutbyte DOCKER_PI_RELAY_3 = (byte) 0x03;
offentlig statisk slutbyte DOCKER_PI_RELAY_4 = (byte) 0x04;
// Relæstatus
offentlig statisk slutbyte DOCKER_PI_RELAY_ON = (byte) 0xFF;
offentlig statisk slutbyte DOCKER_PI_RELAY_OFF = (byte) 0x00;
public static void main (String args) kaster InterruptedException, PlatformAlreadyAssignedException, IOException, UnsupportedBusNumberException {
sidste konsolkonsol = ny konsol ();
I2CBus i2c = I2CFactory.getInstance (I2CBus. BUS_1);
I2CDevice -enhed = i2c.getDevice (DOCKER_PI_RELAY_ADDR);
console.println ("Tænd relæ!");
device.write (DOCKER_PI_RELAY_1, DOCKER_PI_RELAY_ON);
Tråd. Sover (500);
console.println ("Sluk for relæ!");
device.write (DOCKER_PI_RELAY_1, DOCKER_PI_RELAY_OFF);
}
}
Anbefalede:
Hot Plate Automatic Control System (HPACS): 3 trin
Hot Plate Automatic Control System (HPACS): Dette projekt har til formål at give en enkel intuitiv måde at forstå, hvordan man udfører automatisk PID -tuning ved hjælp af en varmelegeme. Det, jeg har lavet, er baseret på Åström – Hägglund-metoden til at udlede parametre ved hjælp af bang-bang-kontrol til at afsløre systemkarakteristika
DIY Vanity Mirror i lette trin (ved hjælp af LED Strip Lights): 4 trin
DIY Vanity Mirror i lette trin (ved hjælp af LED Strip Lights): I dette indlæg lavede jeg et DIY Vanity Mirror ved hjælp af LED strips. Det er virkelig fedt, og du skal også prøve dem
Hydroponics Blynk Monitor & Control System: 4 trin
Hydroponics Blynk Monitor & Control System: I dette projekt skabte jeg et kontrolsystem, der overvåger og kontrollerer alle aspekter af et mellemstort hydroponics ebbe- og flowsystem. Værelset, jeg byggede det til, bruger 4 x 4'x4 '640W LM301B 8 bar systemer. Men denne instruks handler ikke om mine lys. JEG
RFID NFC ARDUINO ACCESS CONTROL SYSTEM: 3 trin
RFID NFC ARDUINO ACCESS CONTROL SYSTEM: Hvad jeg havde brug for var et adgangskontrolsystem til mit kontor.Hele projektet er ret let at bygge.Jeg havde et ekstra Aduino Mega og et Ethernet -skjold derhjemme, så med et par flere komponenter har jeg været i stand til at bygge et adgangskontrolsystem til min off
Alexa Curtain Control System - 3D -udskrivbar og lav pris: 19 trin (med billeder)
Alexa Curtain Control System - 3D -udskrivbar og lav pris: Hej, jeg har længe forsøgt at automatisere så meget af vores hus som muligt. Da vinteren ankommer her i Storbritannien, besluttede jeg at fjerne opgaven med at lukke alle gardinerne om aftenen og derefter åbne dem alle igen om morgenen. Det betyder at køre i