Innehållsförteckning:
- Tillbehör
- Steg 1: Att veta om DockerPi Series 4 Channel Relay Board
- Steg 2: Funktioner
- Steg 3: Enhetsadresskarta
- Steg 4: Anslut reläet till lamphållaren som drivs av huvudsaklig elförsörjning
- Steg 5: Konfigurera I2C (Raspberry Pi)
- Steg 6: Direktkontroll utan programmering (Raspberry Pi)
- Steg 7: Program i språk C (Raspberry Pi)
- Steg 8: Programmera i Python (Raspberry Pi)
- Steg 9: Programmera i Java (Raspberry Pi)
Video: Ljuskontrollsystem: 9 steg
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:44
Nyligen arbetade jag med att förstå mikrokontroller och IOT -baserade enheter för säkerhetsforskningsändamål. Så jag tänkte bygga ett litet hemautomatiseringssystem för träning. Jag har ännu inte slutfört detta, men för uppstart kommer jag att dela med mig av hur jag använde Raspberry Pi 2 och några andra elektriska komponenter för att styra mitt rums belysning i det här inlägget. Jag kommer inte heller att prata om Initial setup för Raspberry här, du kan hitta olika handledning för det.
Men i detta projekt kommer jag att presentera denna docker pi -serieprodukt för dig.
Tillbehör
Komponentlista:
- 1 x Raspberry Pi 3B+/3B/Zero/Zero W/4B/
- 1 x 16 GB TF -kort i klass 10
- 1 x DockerPi -serie 4 -kanals reläkort (HAT)
- 1 x [email protected] strömförsörjning som är från 52Pi
- 4 x Ljusremsa
- 1 x DC -kontakt
- 1 x 12V strömförsörjning för ljusremsorna.
- flera ledningar.
Steg 1: Att veta om DockerPi Series 4 Channel Relay Board
DockerPi 4 Channel Relay är medlem i DockerPi -serien, vanligare i IOT -applikationer.
DockerPi 4 Channel Relay kan vidarebefordra AC/DC, istället för traditionella switchar, för att uppnå fler idéer. DockerPi 4 Channel Relay kan stapla upp till 4 och kan staplas med andra DockerPi -expansionskort. Om du behöver köra länge rekommenderar vi också att du använder vårt DockerPi Power -expansionskort för att ge mer ström.
OBSERVERA Innan vi går vidare vill jag VARNA dig om FARAN med att experimentera med "elnätet". Om något går fel kan den värsta konsekvensen vara döden eller åtminstone bränna ditt eget hus. Så, FÖRSÖK INTE att göra något som nämns i den här artikeln om du inte förstår vad du gör eller bättre tar hjälp av någon erfaren elektriker. Låt oss börja.
Steg 2: Funktioner
- DockerPi -serien
- Programmerbar
- Styr direkt (utan programmering)
- Förläng GPIO -stiften
- 4 kanals relä
- 4 Alt I2C Addr -support
- Relä Status Leds Support
- 3A 250V AC -stöd
- 3A 30V DC
- Kan staplas med andra stackkort Oberoende av moderkortsmaskinvaran (kräver I2C -stöd)
Steg 3: Enhetsadresskarta
Detta kort har en separat registeradress, och du kan bara styra varje relä med ett kommando.
Andra krav:
Grundläggande förståelse för Python eller C eller shell eller Java eller något annat språk (jag använder C, python, shell och java)
- Grundläggande förståelse för Linux -system
- Sinnesnärvaro
Nu, innan du går vidare måste du förstå de elektriska komponenterna vi kommer att använda:
1. Relä:
Ett relä är en elektrisk enhet som vanligtvis används för att styra högspänningar med mycket låg spänning som ingång. Denna består av en spole lindad runt en stolpe och två små metallflikar (noder) som används för att stänga kretsen. En av noden är fixerad och den andra är rörlig. Närhelst en elektricitet passerar genom spolen skapar den ett magnetfält och lockar den rörliga noden mot den statiska noden och kretsen slutförs. Så bara genom att applicera liten spänning för att driva spolen kan vi faktiskt slutföra kretsen för högspänningen att resa. Eftersom den statiska noden inte är fysiskt ansluten till spolen är det mycket mindre risk att mikrokontrollern som driver spolen skadas om något går fel.
Steg 4: Anslut reläet till lamphållaren som drivs av huvudsaklig elförsörjning
Nu till den knepiga delen, Vi ansluter reläet till glödlampshållaren som drivs av Main Electric -försörjning. Men först vill jag ge dig en kort uppfattning om hur lamporna slås PÅ och AV via direkt strömförsörjning.
Nu, när glödlampan är ansluten till huvudförsörjningen, brukar vi göra detta genom att ansluta två ledningar till lampan. en av tråden är en "neutral" tråd och den andra är den "negativa" tråden som faktiskt bär strömmen, det finns också en strömbrytare som läggs till i hela kretsen för att styra PÅ och AV -mekanismen. Så när swithen är ansluten (eller påslagen) strömmar strömmen genom glödlampan och neutralledningen och slutför kretsen. Detta tänder lampan. När strömbrytaren slås på bryter den kretsen och glödlampan stängs av. Här är ett litet kretsschema för att förklara detta:
Nu, för vårt experiment, måste vi få "Negative Wire" att passera genom vårt relä för att bryta kretsen och styra effektflödet med hjälp av reläets omkoppling. Så när reläet slås PÅ bör det slutföra kretsen och glödlampan ska slås PÅ och vice versa. Se diagrammet nedan för Full krets.
Steg 5: Konfigurera I2C (Raspberry Pi)
Kör sudo raspi-config och följ anvisningarna för att installera i2c-stöd för ARM-kärnan och Linux-kärnan
Gå till gränssnittsalternativ
Steg 6: Direktkontroll utan programmering (Raspberry Pi)
Slå på kanal nr 1 relä
i2cset -y 1 0x10 0x01 0xFF
Stäng av kanal nr 1 relä
i2cset -y 1 0x10 0x01 0x00
Slå på kanal nr 2 relä
i2cset -y 1 0x10 0x02 0xFF
Stäng av kanal nr 2 relä
i2cset -y 1 0x10 0x02 0x00
Slå på kanal nr 3 relä
i2cset -y 1 0x10 0x03 0xFF
Stäng av kanal nr 3 relä
i2cset -y 1 0x10 0x03 0x00
Slå på kanal nr 4 relä
i2cset -y 1 0x10 0x04 0xFF
Stäng av kanal nr 4 -relä
i2cset -y 1 0x10 0x04 0x00
Steg 7: Program i språk C (Raspberry Pi)
Skapa källkod och ge den namnet "relay.c"
#omfatta
#omfatta
#omfatta
#define DEVCIE_ADDR 0x10
#define RELAY1 0x01
#define RELAY2 0x02
#define RELAY3 0x03
#define RELAY4 0x04
#define ON 0xFF
#define OFF 0x00
int main (void)
{
printf ("Slå på reläer i C / n");
int fd;
int i = 0;
fd = wiringPiI2CSetup (DEVICE_ADDR);
för(;;){
för (i = 1; i <= 4; i ++)
{
printf ("slå på relä nr $ d", i);
wiringPiI2CWriteReg8 (fd, i, ON);
sömn (200);
printf ("stäng av relä nr $ d", i);
wiringPiI2CWriteReg8 (fd, i, OFF);
sömn (200);
}
}
returnera 0;
}
Sammanställ det
gcc -relä. c -lwiringPi -o -relä
Exec It
./relä
Steg 8: Programmera i Python (Raspberry Pi)
Följande kod rekommenderas att köras med Python 3 och installera smbus -biblioteket:
Skapa en fil som heter den: "relay.py" och klistra in följande kod:
importtid som t
importera smbus
importera sys
DEVICE_BUS = 1
DEVICE_ADDR = 0x10
buss = smbus. SMBus (DEVICE_BUS)
medan det är sant:
Prova:
för i inom intervallet (1, 5):
bus.write_byte_data (DEVICE_ADDR, i, 0xFF)
t. sover (1)
bus.write_byte_data (DEVICE_ADDR, i, 0x00)
t. sover (1)
utom KeyboardInterrupt som e:
print ("Quit the Loop")
sys.exit ()
* Spara det och kör sedan som python3:
python3 -relä.py
Steg 9: Programmera i Java (Raspberry Pi)
Skapa en ny fil med namnet: I2CRelay.java och klistra in följande kod:
importera java.io. IOException;
importera java.util. Arrays;
importera com.pi4j.io.i2c. I2CBus;
importera com.pi4j.io.i2c. I2CDenhet;
importera com.pi4j.io.i2c. I2CFactory;
importera com.pi4j.io.i2c. I2CFactory. UnsupportedBusNumberException;
importera com.pi4j.platform. PlatformAlreadyAssignedException;
importera com.pi4j.util. Console;
public class I2CRelay {
// reläets registeradress.
public static final int DOCKER_PI_RELAY_ADDR = 0x10;
// kanal för 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) kastar InterruptedException, PlatformAlreadyAssignedException, IOException, UnsupportedBusNumberException {
slutlig konsolkonsol = ny konsol ();
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 ("Stäng av relä!");
device.write (DOCKER_PI_RELAY_1, DOCKER_PI_RELAY_OFF);
}
}
Rekommenderad:
Arduino Car Reverse Parking Alert System - Steg för steg: 4 steg
Arduino Car Reverse Parking Alert System | Steg för steg: I det här projektet kommer jag att utforma en enkel Arduino Car Reverse Parking Sensor Circuit med Arduino UNO och HC-SR04 Ultrasonic Sensor. Detta Arduino -baserade bilomvändningsvarningssystem kan användas för autonom navigering, robotavstånd och andra
Steg för steg PC -byggnad: 9 steg
Steg för steg PC -byggnad: Tillbehör: Hårdvara: ModerkortCPU & CPU -kylarePSU (strömförsörjningsenhet) Lagring (HDD/SSD) RAMGPU (krävs inte) CaseTools: Skruvmejsel ESD -armband/mathermisk pasta med applikator
Tre högtalarkretsar -- Steg-för-steg handledning: 3 steg
Tre högtalarkretsar || Steg-för-steg-handledning: Högtalarkretsen förstärker ljudsignalerna som tas emot från miljön till MIC och skickar den till högtalaren varifrån förstärkt ljud produceras. Här visar jag dig tre olika sätt att göra denna högtalarkrets med:
Steg-för-steg-utbildning i robotik med ett kit: 6 steg
Steg-för-steg-utbildning i robotik med ett kit: Efter ganska många månader av att bygga min egen robot (se alla dessa), och efter att två gånger ha misslyckats med delar, bestämde jag mig för att ta ett steg tillbaka och tänka om min strategi och riktning. De flera månaders erfarenhet var ibland mycket givande och
Akustisk levitation med Arduino Uno Steg-för-steg (8-steg): 8 steg
Akustisk levitation med Arduino Uno Steg-för-steg (8-steg): ultraljudsgivare L298N Dc kvinnlig adapter strömförsörjning med en manlig DC-pin Arduino UNOBreadboardHur det fungerar: Först laddar du upp kod till Arduino Uno (det är en mikrokontroller utrustad med digital och analoga portar för att konvertera kod (C ++)