Sisukord:
- Tarvikud
- Samm: teadmised DockerPi Series 4 Channel Relay Boardist
- 2. samm: funktsioonid
- 3. samm: seadme aadressikaart
- Samm: ühendage relee elektritoiteallika toitega pirnipesaga
- Samm: konfigureerige I2C (Raspberry Pi)
- 6. samm: otsene juhtimine ilma programmeerimiseta (Raspberry Pi)
- Samm: programm C keeles (Raspberry Pi)
- Samm: programmeerige Pythonis (Raspberry Pi)
- Samm: programmeerige Java -s (Raspberry Pi)
Video: Tulede juhtimissüsteem: 9 sammu
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:48
Hiljuti töötasin turvalisuse uurimise eesmärgil mikrokontrollerite ja IOT -põhiste seadmete mõistmise kallal. Niisiis, mõtlesin ehitada harjutamiseks väikese koduautomaatikasüsteemi. Ma pean seda veel lõpetama, kuid käivitamiseks jagan selles postituses, kuidas ma kasutasin Raspberry Pi 2 ja mõnda muud elektrilist komponenti oma ruumi valgustuse juhtimiseks. Samuti ei räägi ma siin Vaarika esialgsest seadistusest, selle jaoks võite leida erinevaid õpetusi.
Kuid selles projektis tutvustan teile seda dokkija pi -sarja toodet.
Tarvikud
Komponentide loend:
- 1 x Raspberry Pi 3B+/3B/Zero/Zero W/4B/
- 1 x 16 GB klassi 10 TF -kaart
- 1 x DockerPi seeria 4 kanaliga releeplaat (HAT)
- 1 x [email protected] toiteallikas, mis on pärit 52Pi
- 4 x valgusriba
- 1 x alalisvoolu pistik
- 1 x 12V toiteallikas valgusribadele.
- mitu juhtmest.
Samm: teadmised DockerPi Series 4 Channel Relay Boardist
DockerPi 4 kanaliga relee on DockerPi seeria liige, mida kasutatakse sagedamini IOT rakendustes.
DockerPi 4 kanaliga relee saab tavapäraste lülitite asemel edastada vahelduvvoolu/alalisvoolu, et saavutada rohkem ideid. DockerPi 4 kanaliga relee saab virnastada kuni 4 ja seda saab virnastada muu DockerPi laiendusplaadiga. Kui teil on vaja pikka aega töötada, soovitame kasutada ka meie DockerPi Power laiendusplaati, et anda rohkem energiat.
MÄRKUS ETTEVAATUST Enne kui me jätkame, tahaksin HOIATA teid elektrivõrguga katsetamise OHTU kohta. Kui midagi läheb valesti, võib halvim tagajärg olla surm või vähemalt oma maja mahapõlemine. Niisiis, palun ÄRGE KATSE teha midagi, mida selles artiklis mainiti, kui te ei saa aru, mida teete, või võtke paremini appi mõni kogenud elektrik. Alustame.
2. samm: funktsioonid
- DockerPi seeria
- Programmeeritav
- Juhtimine otse (ilma programmeerimiseta)
- Laiendage GPIO tihvte
- 4 kanaliga relee
- 4 Alt I2C Addr tugi
- Relee oleku LED -i tugi
- 3A 250V vahelduvvoolu tugi
- 3A 30V DC
- Kas saab virnastada ka teiste virnaplaatidega, sõltumata emaplaadi riistvarast (vaja I2C tuge)
3. samm: seadme aadressikaart
Sellel plaadil on eraldi registriaadress ja saate iga releed ühe käsuga juhtida.
Muud nõuded:
Põhiteadmised Pythoni või C või shelli või Java või mõne muu keele kohta (kasutan C, python, shell ja java)
- Põhiteadmised Linuxi süsteemidest
- Meele olemasolu
Enne edasiliikumist peate mõistma, milliseid elektrilisi komponente me kasutame:
1. relee:
Relee on elektriline seade, mida tavaliselt kasutatakse kõrgepinge juhtimiseks, kasutades sisendina väga madalat pinget. See koosneb pooluse ümber mähitud mähist ja kahest väikesest metallklapist (sõlmest), mida kasutatakse ahela sulgemiseks. Üks sõlmedest on fikseeritud ja teine teisaldatav. Kui mähis läbib elektrit, tekitab see magnetvälja ja meelitab liikuva sõlme staatilise sõlme poole ning vooluahel saab valmis. Niisiis, lihtsalt mähise sisselülitamiseks väikese pinge rakendamisega saame tegelikult kõrgepinge ahela lõpule viia. Samuti, kuna staatiline sõlm pole mähisega füüsiliselt ühendatud, on väga väike tõenäosus, et mähist toidav mikrokontroller saab viga, kui midagi läheb valesti.
Samm: ühendage relee elektritoiteallika toitega pirnipesaga
Nüüd keerulise osa juurde, ühendame relee peamise elektrivarustuse toitega pirnihoidjaga. Kuid kõigepealt tahan anda teile lühikese ettekujutuse sellest, kuidas tuled otse toiteallika kaudu sisse ja välja lülitatakse.
Nüüd, kui lambipirn on põhitoitega ühendatud, teeme seda tavaliselt, ühendades pirniga kaks juhtmest. üks juhtmest on neutraalne juhe ja teine on negatiivne juhe, mis tegelikult kannab voolu, samuti on kogu vooluahelale lisatud lüliti, et juhtida ON / OFF mehhanismi. Niisiis, kui lüliti on ühendatud (või sisse lülitatud), voolab vool läbi pirni ja nulljuhtme, lõpetades vooluringi. See lülitab lambipirni SISSE. Lüliti väljalülitamisel katkestab see vooluahela ja lambipirn lülitub välja. Siin on väike lülitusskeem selle selgitamiseks:
Nüüd peame oma eksperimendi jaoks panema negatiivse traadi läbi meie relee, et katkestada vooluahel ja juhtida vooluhulka relee lülitamise abil. Niisiis, kui relee lülitub sisse, peaks see ahela lõpule viima ja lambipirn sisse lülituma ja vastupidi. Täisringi leiate allolevast diagrammist.
Samm: konfigureerige I2C (Raspberry Pi)
Käivitage sudo raspi-config ja järgige juhiseid, et installida i2c tugi ARM tuuma ja Linuxi tuuma jaoks
Avage liidese valikud
6. samm: otsene juhtimine ilma programmeerimiseta (Raspberry Pi)
Lülitage kanali nr 1 relee sisse
i2cset -y 1 0x10 0x01 0xFF
Lülitage kanali nr 1 relee välja
i2cset -y 1 0x10 0x01 0x00
Lülitage kanali nr 2 relee sisse
i2cset -y 1 0x10 0x02 0xFF
Lülitage kanali nr 2 relee välja
i2cset -y 1 0x10 0x02 0x00
Lülitage kanali nr 3 relee sisse
i2cset -y 1 0x10 0x03 0xFF
Lülitage kanali nr 3 relee välja
i2cset -y 1 0x10 0x03 0x00
Lülitage kanali nr 4 relee sisse
i2cset -y 1 0x10 0x04 0xFF
Lülitage kanali nr 4 relee välja
i2cset -y 1 0x10 0x04 0x00
Samm: programm C keeles (Raspberry Pi)
Looge lähtekood ja pange sellele nimi "relay.c"
#kaasake
#kaasake
#kaasake
#define DEVCIE_ADDR 0x10
#define RELAY1 0x01
#define RELAY2 0x02
#define RELAY3 0x03
#define RELAY4 0x04
#define ON 0xFF
#define OFF 0x00
int main (tühine)
{
printf ("Lülita releed sisse C / n");
int fd;
int i = 0;
fd = juhtmestikPiI2CSetup (DEVICE_ADDR);
(;;) {jaoks
jaoks (i = 1; i <= 4; i ++)
{
printf ("lülitage relee nr $ d sisse", i);
juhtmestikPiI2CWriteReg8 (fd, i, ON);
magada (200);
printf ("lülitage relee nr $ d välja", i);
juhtmestikPiI2CWriteReg8 (fd, i, OFF);
magada (200);
}
}
tagasitulek 0;
}
Koostage see
gcc relee.c -juhtmestikPi -o relee
Täida see
./relee
Samm: programmeerige Pythonis (Raspberry Pi)
Järgmine kood on soovitatav käivitada Python 3 abil ja installida smbus raamatukogu:
Looge fail nimega "relay.py" ja kleepige järgmine kood:
impordi aeg kui t
import smbus
impordi süsteem
DEVICE_BUS = 1
SEADME_ADDR = 0x10
buss = smbus. SMBus (DEVICE_BUS)
kuigi tõsi:
proovige:
i jaoks vahemikus (1, 5):
bus.write_byte_data (DEVICE_ADDR, i, 0xFF)
t.maga (1)
bus.write_byte_data (DEVICE_ADDR, i, 0x00)
t.maga (1)
välja arvatud klaviatuur Katkesta kui e:
print ("Lõpeta tsükkel")
sys.exit ()
* Salvestage see ja käivitage seejärel python3:
python3 relee.py
Samm: programmeerige Java -s (Raspberry Pi)
Looge uus fail nimega: I2CRelay.java ja kleepige järgmine kood:
importige java.io. IOException;
import java.util. Arrays;
import 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;
avalik klass I2CRelay {
// relee registriaadress.
avalik staatiline lõplik int DOCKER_PI_RELAY_ADDR = 0x10;
// relee kanal.
avalik staatiline lõplik bait DOCKER_PI_RELAY_1 = (bait) 0x01;
avalik staatiline lõplik bait DOCKER_PI_RELAY_2 = (bait) 0x02;
avalik staatiline lõplik bait DOCKER_PI_RELAY_3 = (bait) 0x03;
avalik staatiline lõplik bait DOCKER_PI_RELAY_4 = (bait) 0x04;
// Relee olek
avalik staatiline lõplik bait DOCKER_PI_RELAY_ON = (bait) 0xFF;
avalik staatiline lõplik bait DOCKER_PI_RELAY_OFF = (bait) 0x00;
public static void main (String args) viskab InterruptException, PlatformAlreadyAssignedException, IOException, UnsupportedBusNumberException {
lõplik konsoolikonsool = new Console ();
I2CBus i2c = I2CFactory.getInstance (I2CBus. BUS_1);
I2CDevice seade = i2c.getDevice (DOCKER_PI_RELAY_ADDR);
console.println ("Lülita relee sisse!");
device.write (DOCKER_PI_RELAY_1, DOCKER_PI_RELAY_ON);
Niit.unenägu (500);
console.println ("Lülita relee välja!");
device.write (DOCKER_PI_RELAY_1, DOCKER_PI_RELAY_OFF);
}
}
Soovitan:
Creazione Della juhtimissüsteem: 5 sammu
Creazione Della Drivemall Board: Õpetuses, mis on mõeldud vedremo i passi fondamentali loomiseks Arduino custom laua loomiseks. Tarkvara, mida kasutatakse KiCadis, tahvliprogrammide jaoks ja Arduino loomiseks ning loomiseks ja karikatuuriks püsivara jaoks
Tehke nutika kodu juhtimissüsteem STONE HMI displeil: 23 sammu
Tehke nutika kodu juhtimissüsteem STONE HMI Disp'is: Projekti tutvustus Järgnev õpetus näitab teile, kuidas kasutada puuteekraanimoodulit STONE STVC050WT-01 lihtsa kodumasina juhtimissüsteemi loomiseks
Terraariumi niiskuse ja temperatuuri juhtimissüsteem: 11 sammu (koos piltidega)
Terraariumi niiskuse ja temperatuuri juhtimissüsteem: SISSEJUHATUS: See juhend on mõeldud modulaarse niiskuse ja temperatuuri juhtimissüsteemi väljatöötamiseks Arduino Uno abil. See süsteem kasutab keskkonnaparameetrite jälgimiseks veekindlat niiskuse ja temperatuuri andurit ning Arduino Uno ühendust
IoT -põhine mulla niiskuse seire- ja juhtimissüsteem NodeMCU abil: 6 sammu
IoT-põhine pinnase niiskuse seire- ja juhtimissüsteem NodeMCU abil INR) releemoodul- Amazon (130/- INR
Arduino - kütte juhtimissüsteem: 7 sammu
Arduino - kütte juhtimissüsteem: temperatuuri reguleerimine kütteelemendi abil, Arduino Pro Mini kontrollib kütteseadet, et see jõuaks seadistatud temperatuurini, näita ka arvuti graafikut (Visual Studio abil)