Talaan ng mga Nilalaman:
- Mga gamit
- Hakbang 1: Pag-alam Tungkol sa DockerPi Series 4 Channel Relay Board
- Hakbang 2: Mga Tampok
- Hakbang 3: Mapa ng Address ng Device
- Hakbang 4: Ikonekta ang Relay sa Bulb Holder na Pinapagana ng Main Electric Supply
- Hakbang 5: Pag-configure ng I2C (Raspberry Pi)
- Hakbang 6: Direktang Kontrol Nang Walang Programming (Raspberry Pi)
- Hakbang 7: Programa sa Wika C (Raspberry Pi)
- Hakbang 8: Programa sa Python (Raspberry Pi)
- Hakbang 9: Programa sa Java (Raspberry Pi)
Video: Sistema ng Control ng Lights: 9 Mga Hakbang
2024 May -akda: John Day | [email protected]. Huling binago: 2024-01-30 13:13
Kamakailan ay nagtatrabaho ako sa pag-unawa sa mga Microcontroller at aparato na nakabatay sa IOT para sa mga layunin ng Pananaliksik sa Seguridad. Kaya, naisip kong bumuo ng isang maliit na sistema ng automation ng bahay para sa pagsasanay. Hindi ko pa ito makukumpleto, ngunit sa pagsisimula ay ibabahagi ko kung paano ko ginamit ang Raspberry Pi 2 at ilang iba pang mga de-koryenteng sangkap upang makontrol ang pag-iilaw ng aking silid sa post na ito. Gayundin, hindi ko sasabihin ang tungkol sa Paunang pag-setup para sa Raspberry dito, maaari kang makahanap ng iba't ibang mga tutorial para doon.
Ngunit sa proyektong ito, ipakilala ko sa iyo ang produktong docker pi series na ito.
Mga gamit
Listahan ng Bahagi:
- 1 x Raspberry Pi 3B + / 3B / Zero / Zero W / 4B /
- 1 x 16GB Class 10 TF card
- 1 x serye ng DockerPi 4 Channel Relay Board (HAT)
- 1 x [email protected] supply ng kuryente na mula sa 52Pi
- 4 x Banayad na strip
- 1 x konektor ng DC
- 1 x 12V power supply para sa mga light strip.
- maraming mga wire.
Hakbang 1: Pag-alam Tungkol sa DockerPi Series 4 Channel Relay Board
Ang DockerPi 4 Channel Relay ay isang miyembro ng DockerPi Series, na mas karaniwang ginagamit sa mga aplikasyon ng IOT.
Maaaring i-relay ng DockerPi 4 Channel Relay ang AC / DC, sa halip na tradisyonal na mga switch, upang makamit ang higit pang mga ideya. Ang DockerPi 4 Channel Relay ay maaaring i-stack hanggang sa 4, at maaaring isalansan sa iba pang board ng pagpapalawak ng DockerPi. Kung kailangan mong tumakbo nang mahabang panahon, inirerekumenda rin namin na gamitin mo ang aming DockerPi Power expansion board upang magbigay ng higit na lakas.
TANDAAN NG PAG-INGAT Bago tayo magpatuloy sa karagdagang nais kong WALA SA iyo ang tungkol sa PANGANIB na pag-eksperimento sa "Mains Elektrisidad". Kung may mali man ang pinakamasamang bunga ay ang kamatayan o hindi nasusunog na nasunog ang iyong sariling bahay. Kaya, mangyaring HUWAG MAG-ATTEMPT upang gumawa ng anumang nabanggit sa artikulong ito kung hindi mo naiintindihan kung ano ang iyong ginagawa o mas mahusay na kumuha ng tulong ng ilang nakaranasang elektrisista. Magsimula na tayo.
Hakbang 2: Mga Tampok
- Serye ng DockerPi
- Programmable
- Direktang kontrolin (nang walang programa)
- Palawakin ang GPIO Pins
- 4 Channel Relay
- 4 Alt I2C Addr Support
- Suporta ng Status ng Relay ng Katayuan
- 3A 250V Suporta ng AC
- 3A 30V DC
- Maaaring Mag-stack sa iba pang Stack board Independent ng mainboard hardware (nangangailangan ng suporta ng I2C)
Hakbang 3: Mapa ng Address ng Device
Ang board na ito ay may hiwalay na address ng rehistro, at makokontrol mo lamang ang bawat relay ng isang utos.
Iba pang mga kinakailangan:
Pangunahing Pag-unawa sa Python o C o shell o Java o anumang iba pang wika (gagamitin ko ang C, python, shell, at java)
- Pangunahing Pag-unawa sa mga system ng Linux
- Presensya ng Isip
Ngayon, bago magpatuloy kakailanganin mong maunawaan ang mga de-koryenteng sangkap na gagamitin namin:
1. Relay:
Ang isang relay ay isang aparatong elektrikal na karaniwang ginagamit upang makontrol ang mga mataas na boltahe gamit ang napakababang boltahe bilang isang Input. Binubuo ito ng isang likid na nakabalot sa isang poste at isang dalawang maliit na flap ng metal (node) na ginagamit upang isara ang circuit. Ang isa sa node ay naayos at iba pa ay maaaring ilipat. Tuwing ang isang kuryente ay dumaan sa likid, lumilikha ito ng isang magnetic field at inaakit ang gumagalaw na node patungo sa static node at nakumpleto ang circuit. Kaya, sa pamamagitan lamang ng paglalapat ng maliit na boltahe upang magaan ang coil maaari talaga nating makumpleto ang circuit para sa mataas na boltahe na maglakbay. Gayundin, dahil ang static node ay hindi pisikal na konektado sa coil mayroong mas kaunting pagkakataon na ang Microcontroller na nagpapatakbo ng coil ay nasisira kung may mali.
Hakbang 4: Ikonekta ang Relay sa Bulb Holder na Pinapagana ng Main Electric Supply
Ngayon sa nakakalito na bahagi, Ikonekta namin ang relay sa may hawak ng bombilya na pinalakas ng supply ng Main Electric. Ngunit, unang nais kong bigyan ka ng isang maikling ideya tungkol sa kung paano naka-ON at NAKA-OFF ang mga ilaw sa pamamagitan ng direktang supply ng kuryente.
Ngayon, kapag ang bombilya ay konektado sa pangunahing supply, karaniwang ginagawa namin ito sa pamamagitan ng pagkonekta ng dalawang mga wire sa bombilya. ang isa sa kawad ay isang "Neutral" na kawad at ang isa pa ay ang "Negatibo" na kawad na talagang nagdadala ng kasalukuyang, mayroon ding isang switch na idinagdag sa buong circuit upang makontrol ang ON isang OFF na mekanismo. Kaya, kapag ang swith ay konektado (O Naka-ON) ang kasalukuyang daloy sa pamamagitan ng bombilya at ang walang kinikilingan na kawad, pagkumpleto ng circuit. Ini-ON ang ilaw na bombilya. Kapag naka-switch ang switch, binabasag nito ang circuit at ang bombilya ay naka-OFF. Narito ang isang maliit na diagram ng circuit upang ipaliwanag ito:
Ngayon, para sa aming eksperimento, kakailanganin nating gawin ang "Negative Wire" na dumaan sa aming relay upang masira ang circuit at makontrol ang daloy ng kuryente gamit ang paglipat ng relay. Kaya, kapag ang relay ay MAG-ON, dapat itong kumpletuhin ang circuit at ang Light bombilya ay dapat na ON at vice-versa. Sumangguni sa diagram sa ibaba para sa Buong circuit.
Hakbang 5: Pag-configure ng I2C (Raspberry Pi)
Patakbuhin ang sudo raspi-config at sundin ang mga senyas upang mai-install ang suporta sa i2c para sa ARM core at linux kernel
Pumunta sa Mga Pagpipilian sa Interfacing
Hakbang 6: Direktang Kontrol Nang Walang Programming (Raspberry Pi)
I-on ang relay ng No.1 No.1
i2cset -y 1 0x10 0x01 0xFF
I-off ang channel No.1 relay
i2cset -y 1 0x10 0x01 0x00
I-on ang relay ng channel No.2
i2cset -y 1 0x10 0x02 0xFF
I-off ang relay ng channel No.2
i2cset -y 1 0x10 0x02 0x00
I-on ang relay ng channel No.3
i2cset -y 1 0x10 0x03 0xFF
I-off ang relay ng channel No.3
i2cset -y 1 0x10 0x03 0x00
I-on ang channel No.4 relay
i2cset -y 1 0x10 0x04 0xFF
I-off ang channel No.4 relay
i2cset -y 1 0x10 0x04 0x00
Hakbang 7: Programa sa Wika C (Raspberry Pi)
Lumikha ng source code at pangalanan itong "relay.c"
# isama
# isama
# isama
# tukuyin ang DEVCIE_ADDR 0x10
# tukuyin ang RELAY1 0x01
# tukuyin ang RELAY2 0x02
# tukuyin ang RELAY3 0x03
# tukuyin ang RELAY4 0x04
# tukuyin SA 0xFF
# tukuyin ang OFF 0x00
int main (walang bisa)
{
printf ("I-on ang Mga Relay sa C / n");
int tot;
int i = 0;
taut = mga kablePiI2CSetup (DEVICE_ADDR);
para sa (;;) {
para sa (i = 1; i <= 4; i ++)
{
printf ("i-on ang relay No. $ d", i);
mga kablePiI2CWriteReg8 (taut, i, ON);
pagtulog (200);
printf ("patayin ang relay No. $ d", i);
mga kablePiI2CWriteReg8 (taut, i, OFF);
pagtulog (200);
}
}
ibalik ang 0;
}
Ipunin ito
gcc relay.c -lwiringPi -o relay
Exec Ito
./relay
Hakbang 8: Programa sa Python (Raspberry Pi)
Ang sumusunod na code ay inirerekumenda na maipatupad gamit ang Python 3 at i-install ang smbus library:
Lumikha ng isang file na pinangalanan ito: "relay.py" at i-paste ang sumusunod na code:
pag-import ng oras bilang t
import smbus
import sys
DEVICE_BUS = 1
DEVICE_ADDR = 0x10
bus = smbus. SMBus (DEVICE_BUS)
habang Totoo:
subukan:
para sa saklaw ko (1, 5):
bus.write_byte_data (DEVICE_ADDR, i, 0xFF)
t.tulog (1)
bus.write_byte_data (DEVICE_ADDR, i, 0x00)
t.tulog (1)
maliban sa KeyboardInterrupt bilang e:
i-print ("Quit the Loop")
sys.exit ()
* I-save ito at pagkatapos ay tumakbo bilang python3:
python3 relay.py
Hakbang 9: Programa sa Java (Raspberry Pi)
Lumikha ng isang bagong file na pinangalanang: I2CRelay.java at i-paste ang sumusunod na code:
i-import ang java.io. IOException;
import java.util. Array;
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;
pampublikong klase I2CRelay {
// address ng rehistro ng relay.
pampublikong static final int DOCKER_PI_RELAY_ADDR = 0x10;
// channel ng relay.
pampubliko static panghuling byte DOCKER_PI_RELAY_1 = (byte) 0x01;
pampubliko static panghuling byte DOCKER_PI_RELAY_2 = (byte) 0x02;
pampubliko static panghuling byte DOCKER_PI_RELAY_3 = (byte) 0x03;
pampubliko static panghuling byte DOCKER_PI_RELAY_4 = (byte) 0x04;
// Status ng relay
pampubliko static panghuling byte DOCKER_PI_RELAY_ON = (byte) 0xFF;
pampublikong static panghuling byte DOCKER_PI_RELAY_OFF = (byte) 0x00;
pampublikong static void main (String args) ay nagtatapon ng InterruptException, PlatformAlreadyAssignedException, IOException, UnsupportedBusNumberException {
pangwakas na Console console = bagong Console ();
I2CBus i2c = I2CFactory.getInstance (I2CBus. BUS_1);
I2CDevice device = i2c.getDevice (DOCKER_PI_RELAY_ADDR);
console.println ("I-on ang Relay!");
aparato.write (DOCKER_PI_RELAY_1, DOCKER_PI_RELAY_ON);
Thread.tulog (500);
console.println ("Patayin ang Relay!");
aparato.write (DOCKER_PI_RELAY_1, DOCKER_PI_RELAY_OFF);
}
}
Inirerekumendang:
Line Follower Robot para sa Mga Algorithm ng Control Control: 3 Mga Hakbang
Line Follower Robot para sa Mga Algorithm ng Pagkontrol sa Pagtuturo: Idinisenyo ko ang tagasunod na robot na ito ng ilang taon na ang nakakaraan noong ako ay isang guro ng robotics. Ang layunin para sa proyektong ito ay upang turuan ang aking mga mag-aaral kung paano mag-code ng isang linya na sumusunod sa robot para sa isang kumpetisyon at ihambing din sa pagitan ng If / Else at PID control. At hindi
3 Mga Kamangha-manghang Mga Utak ng Control ng BRAIN / MIND Control LedStrip LED Sa Arduino at Neurosky: 6 na Hakbang (na may Mga Larawan)
3 Kamangha-manghang Mga Utak ng Control ng BRAIN / MIND Control LedStrip LED Sa Arduino at Neurosky: Nais mo bang buksan o i-OFF ang mga ilaw sa pamamagitan lamang ng pag-iisip tungkol dito? O nais mong malaman kung gaano ka-stress sa pamamagitan ng pagtingin sa kulay ng isang humantong sa RGB? Habang ngayon maaari mo sa pamamagitan ng pagsunod sa mga Instructionable na ito! Upang makakuha ng isang pakiramdam para sa kung ano ang pupuntahan namin
Robot Con Sistema De Control: 7 Mga Hakbang (na may Mga Larawan)
Ang Robot Con Sistema De Control: Magagawa na Maituturo sa mga talata sa system: Construir un robot sencilloIncroporarle un system de control para que se mueva entre paredesPara el sistema de control, utilizo una bersyon ó n simplificada de control PID y se utiliza algo de impresi & oa
Mapagkukunang Magaan ng Macro Photography Gamit ang Mga Malamig na Cathode Lights: 9 Mga Hakbang (na may Mga Larawan)
Mapagmulan ng Liwanag ng Macro Photography Gamit ang Mga Malamig na Cathode Lights: Kapag nag-shoot gamit ang isang light tent isang mapagkukunan ng ilaw na may mababang intensidad ay lubos na kapaki-pakinabang. Ang CCFL (malamig na katod na fluorescent light) na matatagpuan sa mga LCD screen ay perpekto para sa hangaring ito. Ang CCFL at ang nauugnay na mga light dispersing panel ay matatagpuan sa sirang lapto
Mga Lights ng Elevator Nang Walang Elevator: 6 Mga Hakbang (na may Mga Larawan)
Mga Elevator Light na Walang Elevator: Background Ilang taon na ang nakakalipas ang lahat ng mga elevator sa isang lokal na gusali ay ginawang muli. Nakita ng isang kaibigan ko ang lahat ng mga bahagi na itinapon at kumuha ng pahintulot na mag-scrounge. Naghanap kami at natagpuan ang maraming mga item ng interes. Ang pinakamagandang bahagi na