Orodha ya maudhui:
- Vifaa
- Hatua ya 1: Kujua Kuhusu DockerPi Series 4 Bodi ya Kupeleka Channel
- Hatua ya 2: Vipengele
- Hatua ya 3: Ramani ya Anwani ya Kifaa
- Hatua ya 4: Unganisha Kupeleka kwa Mmiliki wa Bulbu Iliyotumiwa na Ugavi kuu wa Umeme
- Hatua ya 5: Kusanidi I2C (Raspberry Pi)
- Hatua ya 6: Udhibiti wa moja kwa moja bila Programu (Raspberry Pi)
- Hatua ya 7: Programu katika Lugha C (Raspberry Pi)
- Hatua ya 8: Programu katika Python (Raspberry Pi)
- Hatua ya 9: Programu katika Java (Raspberry Pi)
Video: Mfumo wa Udhibiti wa Taa: Hatua 9
2024 Mwandishi: John Day | [email protected]. Mwisho uliobadilishwa: 2024-01-30 12:51
Hivi majuzi nilikuwa nikifanya kazi ya kuelewa Microcontrollers na vifaa vya msingi vya IOT kwa malengo ya Utafiti wa Usalama. Kwa hivyo, nilifikiria kujenga mfumo mdogo wa nyumbani wa mazoezi. Bado sijakamilisha hii, lakini kwa kuanza nitashiriki jinsi nilivyotumia Raspberry Pi 2 na vifaa vingine vya umeme kudhibiti taa ya chumba changu kwenye chapisho hili. Pia, sitazungumza juu ya usanidi wa Awali wa Raspberry hapa, unaweza kupata mafunzo kadhaa ya hiyo.
Lakini katika mradi huu, nitakuletea hii bidhaa ya safu ya docker pi.
Vifaa
Orodha ya Vipengele:
- 1 x Raspberry Pi 3B + / 3B / Zero / Zero W / 4B /
- 1 x 16GB Kadi ya 10 TF kadi
- 1 x DockerPi mfululizo 4 Bodi ya Kupeleka Channel (HAT)
- 1 x [email protected] umeme ambao unatoka 52Pi
- 4 x Ukanda mwepesi
- 1 x kontakt DC
- 1 x 12V usambazaji wa umeme kwa vipande vya taa.
- waya kadhaa.
Hatua ya 1: Kujua Kuhusu DockerPi Series 4 Bodi ya Kupeleka Channel
Relay ya DockerPi 4 ni mshiriki wa DockerPi Series, inayotumika zaidi katika matumizi ya IOT.
Relay ya Channel ya DockerPi 4 inaweza kupeleka AC / DC, badala ya swichi za jadi, kufikia maoni zaidi. Relay ya Channel ya DockerPi 4 inaweza kushika hadi 4, na inaweza kubanwa na bodi nyingine ya upanuzi ya DockerPi. Ikiwa unahitaji kukimbia kwa muda mrefu, tunapendekeza pia utumie bodi yetu ya upanuzi wa Nguvu ya DockerPi kutoa nguvu zaidi.
KUMBUKA TAHADHARI Kabla ya kuendelea zaidi ningependa kukuonya juu ya HATARI ya kujaribu "Umeme wa Akiba". Kama kitu chochote kitaenda vibaya, matokeo mabaya zaidi yanaweza kuwa kifo au kufa kuteketeza nyumba yako mwenyewe. Kwa hivyo, tafadhali USIJARIBU kufanya chochote kilichotajwa katika nakala hii ikiwa hauelewi unachofanya au bora kuchukua msaada wa fundi umeme mwenye ujuzi. Tuanze.
Hatua ya 2: Vipengele
- Mfululizo wa DockerPi
- Inaweza kusanidiwa
- Dhibiti moja kwa moja (bila programu)
- Panua Pini za GPIO
- Kupeleka Channel 4
- 4 Alt I2C Msaada wa Kiongeza
- Usaidizi wa Hali ya Upelekaji wa Hali
- Msaada wa 3A 250V AC
- 3A 30V DC
- Je! Unaweza kubaki na bodi nyingine ya Stack Inayojitegemea ya vifaa vya mainboard (inahitaji msaada wa I2C)
Hatua ya 3: Ramani ya Anwani ya Kifaa
Bodi hii ina anwani tofauti ya rejista, na unaweza kudhibiti kila relay kwa amri moja.
Mahitaji mengine:
Uelewa wa kimsingi wa chatu au C au ganda au Java au lugha nyingine yoyote (nitatumia C, chatu, ganda, na java)
- Uelewa wa Msingi wa mifumo ya Linux
- Uwepo wa Akili
Sasa, kabla ya kuendelea mbele utahitaji kuelewa vifaa vya umeme tutakavyotumia:
1. Kupitisha:
Relay ni kifaa cha umeme ambacho kwa ujumla hutumiwa kudhibiti voltages kubwa kwa kutumia voltage ya chini sana kama Ingizo. Hii inajumuisha coil iliyofungwa kwenye nguzo na vijiti viwili vidogo vya chuma ambavyo hutumiwa kufunga mzunguko. Moja ya node ni fasta na nyingine ni zinazohamishika. Wakati wowote umeme unapopitishwa kupitia coil, huunda uwanja wa sumaku na huvutia node inayosonga kuelekea nodi ya tuli na mzunguko hukamilika. Kwa hivyo, kwa kutumia tu voltage ndogo ili kuwezesha coil tunaweza kumaliza mzunguko wa voltage ya juu kusafiri. Pia, kwa kuwa nodi ya tuli haijaunganishwa na coil kuna nafasi ndogo sana kwamba Microcontroller inayowezesha coil inaharibika ikiwa kitu kitaenda vibaya.
Hatua ya 4: Unganisha Kupeleka kwa Mmiliki wa Bulbu Iliyotumiwa na Ugavi kuu wa Umeme
Sasa kwa sehemu ngumu, Tutaunganisha upelekaji kwa mmiliki wa Bulb inayotumiwa na Usambazaji Mkuu wa Umeme. Lakini, kwanza nataka kukupa wazo fupi juu ya jinsi taa zinavyowashwa NA KUZIMWA kupitia usambazaji wa umeme wa moja kwa moja.
Sasa, wakati balbu ya taa imeunganishwa na usambazaji kuu, kawaida tunafanya hivyo kwa kuunganisha waya mbili kwa balbu. moja ya waya ni waya wa "Neutral" na nyingine ni waya "Negative" ambayo kwa kweli hubeba ya sasa, pia kuna swichi iliyoongezwa kwa mzunguko mzima kudhibiti mfumo wa ON ON. Kwa hivyo, wakati swith imeunganishwa (Au Imewashwa) sasa inapita kupitia balbu na waya wa upande wowote, ikikamilisha mzunguko. Hii inawasha balbu ya taa. Kitufe kinapowashwa, huvunja mzunguko na balbu ya taa huzima. Hapa kuna mchoro mdogo wa mzunguko kuelezea hii:
Sasa, kwa jaribio letu, tutahitaji kufanya "waya hasi" kupita kwenye relay yetu kuvunja mzunguko na kudhibiti mtiririko wa nguvu kwa kutumia ubadilishaji wa relay. Kwa hivyo, wakati relay itawasha, inapaswa kukamilisha mzunguko na balbu ya Nuru inapaswa kuwasha na kinyume chake. Rejelea mchoro hapa chini kwa Mzunguko kamili.
Hatua ya 5: Kusanidi I2C (Raspberry Pi)
Endesha sudo raspi-config na ufuate vidokezo vya kusanikisha usaidizi wa i2c kwa msingi wa ARM na kernel ya linux
Nenda kwenye Chaguzi za Kuingiliana
Hatua ya 6: Udhibiti wa moja kwa moja bila Programu (Raspberry Pi)
Washa relay ya nambari 1
i2cset -y 1 0x10 0x01 0xFF
Zima kituo cha 1 kinachorudiwa
i2cset -y 1 0x10 0x01 0x00
Washa relay ya nambari 2
i2cset -y 1 0x10 0x02 0xFF
Zima kituo cha relay cha 2
i2cset -y 1 0x10 0x02 0x00
Washa relay ya nambari 3
i2cset -y 1 0x10 0x03 0xFF
Zima kituo cha # relay
i2cset -y 1 0x10 0x03 0x00
Washa relay ya nambari 4
i2cset -y 1 0x10 0x04 0xFF
Zima kituo cha relay namba 4
i2cset -y 1 0x10 0x04 0x00
Hatua ya 7: Programu katika Lugha C (Raspberry Pi)
Unda nambari ya chanzo na uipe jina "relay.c"
# pamoja
# pamoja
# pamoja
#fafanua DEVCIE_ADDR 0x10
#fafanua RELAY1 0x01
#fafanua RELAY2 0x02
#fafanua RELAY3 0x03
#fafanua RELAY4 0x04
#fafanua KWENYE 0xFF
#fafanua OFF 0x00
kuu (batili)
{
printf ("Washa Upelekaji kwa C / n");
int fd;
int i = 0;
fd = wiringPiI2CSetup (DEVICE_ADDR);
kwa (;;) {
kwa (i = 1; i <= 4; i ++)
{
printf ("washa relay No. $ d", i);
wiringPiI2CWriteReg8 (fd, i, ON);
kulala (200);
printf ("zima relay No. $ d", i);
wiringPiI2CWriteReg8 (fd, i, OFF);
kulala (200);
}
}
kurudi 0;
}
Kuikusanya
relay ya gcc.c -kuzungukaPi -o relay
Utekeleze
./dalili
Hatua ya 8: Programu katika Python (Raspberry Pi)
Nambari ifuatayo inapendekezwa kutekelezwa kwa kutumia Python 3 na kusanikisha maktaba ya smbus:
Unda faili iliyoipa jina: "relay.py" na ubandike nambari ifuatayo:
wakati wa kuagiza kama t
kuagiza smbus
kuagiza sys
DEVICE_BUS = 1
DEVICE_ADDR = 0x10
basi = smbus. SMBus (DEVICE_BUS)
wakati Kweli:
jaribu:
kwa mimi katika anuwai (1, 5):
andika_data_ya data (DEVICE_ADDR, i, 0xFF)
kulala. (1)
andika data ya basi (DEVICE_ADDR, i, 0x00)
kulala. (1)
isipokuwa KeyboardInterrupt kama e:
chapisha ("Acha Kitanzi")
sys.exit ()
* Ihifadhi na kisha ukimbie kama python3:
relay python3.py
Hatua ya 9: Programu katika Java (Raspberry Pi)
Unda faili mpya inayoitwa: I2CRelay.java na ubandike nambari ifuatayo:
kuagiza java.io. IOException;
kuagiza java.util. Array;
kuagiza com.pi4j.io.i2c. I2CBus;
kuagiza com.pi4j.io.i2c. I2CDevice;
kuagiza com.pi4j.io.i2c. I2CFactory;
kuagiza com.pi4j.io.i2c. I2CFactory. UnsupportedBusNumberException;
kuagiza com.pi4j.platform. PlatformAlreadyAssignedException;
kuagiza com.pi4j.util. Console;
darasa la umma I2CRelay {
Anwani ya rejista ya // relay.
tuli ya mwisho ya umma int DOCKER_PI_RELAY_ADDR = 0x10;
// kituo cha relay.
static byte ya mwisho ya umma DOCKER_PI_RELAY_1 = (byte) 0x01;
static byte ya mwisho ya umma DOCKER_PI_RELAY_2 = (byte) 0x02;
static byte ya mwisho ya umma DOCKER_PI_RELAY_3 = (byte) 0x03;
static byte ya mwisho ya umma DOCKER_PI_RELAY_4 = (byte) 0x04;
// Hali ya kupeleka tena
static byte ya mwisho ya umma DOCKER_PI_RELAY_ON = (byte) 0xFF;
static byte ya mwisho ya umma DOCKER_PI_RELAY_OFF = (byte) 0x00;
static public void main (String args) inatupa InterruptedException, PlatformAlreadyAssignedException, IOException, UnsupportedBusNumberException {
koni ya mwisho ya Dashibodi = Dashibodi mpya ();
I2CBus i2c = I2CFactory.getInstance (I2CBus. BUS_1);
Kifaa cha I2CDevice i2c.getDevice (DOCKER_PI_RELAY_ADDR);
console.println ("Washa Relay!");
andika kifaa (DOCKER_PI_RELAY_1, DOCKER_PI_RELAY_ON);
Kulala (500);
console.println ("Zima Kupeleka tena!");
andika kifaa (DOCKER_PI_RELAY_1, DOCKER_PI_RELAY_OFF);
}
}
Ilipendekeza:
Taa ya Taa ya Smart Smart - Taa mahiri W / Arduino - Nafasi ya Kazi ya Neopixels: Hatua 10 (na Picha)
Taa ya Taa ya Smart Smart | Taa mahiri W / Arduino | Nafasi ya Kazi ya Neopixels: Sasa siku tunatumia muda mwingi nyumbani, kusoma na kufanya kazi kwa kweli, kwa nini tusifanye nafasi yetu ya kazi iwe kubwa na mfumo wa taa na taa za Arduino na Ws2812b msingi. Hapa naonyesha jinsi ya kujenga Smart yako Dawati la Taa ya LED ambayo
Jinsi ya Kufanya Taa za Taa za Taa za Umeme za ARGB: Hatua 5
Jinsi ya Kufanya Taa za Taa za Taa za Umeme za ARGB: Halo, kwa mafunzo haya nitakuonyesha jinsi ya kufanya muziki tendaji wa rgb iliyoongozwa kwa njia rahisi sana, inazalisha mabadiliko kadhaa ya rangi wakati unacheza muziki wako uupendao Kwa miradi mingine ya kushangaza tembelea letsmakeprojects.com
Taa ya Mummy - Taa mahiri ya Udhibiti wa WiFi: Hatua 5 (na Picha)
Taa ya Mummy - Taa mahiri iliyodhibitiwa na WiFi: Karibu miaka elfu 230 iliyopita mwanadamu akijifunza kudhibiti moto, hii inasababisha mabadiliko makubwa katika mtindo wake wa maisha kwani alianza kufanya kazi usiku pia akitumia taa kutoka kwa moto. Tunaweza kusema kuwa huu ni mwanzo wa Taa za ndani. Sasa mimi
Taa ya Taa ya Miaka 31 ya Taa za Taa za Mfano Nk ..: Hatua 11 (na Picha)
Taa ya Taa ya Miaka 31 ya Taa za Taa za Mfano nk. Shida ni kwamba modeli za taa zinaweza kuwa ndogo na nafasi ndogo ya betri na
Taa za wavuti za WS2811 - Chukua Udhibiti juu ya Taa za Mwaka Mpya !: Hatua 8
Taa za wavuti za WS2811 - Chukua Udhibiti juu ya Taa zako za Mwaka Mpya! Na kwa hakika, taji za umeme za LED huja kwenye kitengo hiki. Kwa bahati mbaya, taa hizi zinanijia wakati Mwaka Mpya umepita tu. Lakini Hey! Natumai huu sio mwisho wetu