Relemoduuli interfacing kanssa Arduino-Arduino Relemoduuli
tässä artikkelissa aiomme ohjata Arduino relemoduuli. Ohjaamme kahta eri laitetta sen avulla. Ensin ohjaamme yksinkertainen LED sitten ohjaamme lamppu käyttämällä sitä. Arduino voi ohjata laitteita, jotka toimivat jopa 5V joten jos haluamme hallita laitteita, jotka toimivat yli 5V tai A. C laitteet sitten meidän täytyy käyttää relemoduuli, jonka kautta voimme ohjata A. C sekä DC-laitteet.
Relemoduuli
rele on periaatteessa kytkin, jota pyörittää sähkömagneetti. Sähkömagneetti vaatii pienen jännitteen aktivoituakseen, jonka annamme arduinosta, ja kun se on aktivoitu, se vetää kontaktin suurjännitepiirin muodostamiseksi.
relemoduuli, jota aiomme käyttää, on SRD-05VDC-SL-C. Se toimii 5V: llä ja voimme ohjata sitä millä tahansa mikro-ohjaimella, mutta aiomme käyttää Arduinoa.
Pin out of 5V relemoduuli
Arduino relemoduulissa on yhteensä kuusi pinniä: kolme toisella puolella ja kolme toisella puolella.Pohjassa puolella on kolme nastat, jotka ovat signaali, 5V ja maahan. Yhdistämme nämä nastat Arduinoon. Vaikka toisella puolella, on NC (yleensä lähellä), C (yhteinen) ja NO (normaalisti auki), jotka ovat lähtö nastat 5V rele. Siellä, me yhdistää lähtö laite.
Normaalisti avoin tila (ei) VS normaalisti suljettu tila (NC)
Arduinon relemoduulia voidaan käyttää kahdessa tilassa, jotka ovat
- Normaalisti avoin tila (ei)
- normaalisti suljettu tila (NC)
Normaalisti avoin tila (ei)
normaalisti avoimessa tilassa releen lähtöteho on alhainen, kun se saa virtaa. Tässä tilassa käytetään yhteisiä ja normaalisti avoimia nastoja.
normaalisti suljetussa tilassa (NC)
normaalisti suljetussa tilassa releen lähtöteho on suuri, kun se saa virtaa. Tässä tilassa käytetään yhteisiä ja normaalisti läheisiä nastoja.
TASAVIRTALAITTEIDEN ohjaaminen Arduino-Relemoduulilla
ensimmäisessä osassa ohjaamme lediä releen avulla ja toisessa osassa ohjaamme suurjännitelaitetta releen avulla. DC-laitteen ohjaaminen on helppoa verrattuna AC-laitteeseen. DC-laitteen ohjaamiseen ei tarvita ulkoista tarjontaa, ennen kuin ohjaat pientä jännitelaitetta, kuten lediä, joka toimii jopa 5V: ssä.
tarvittavat komponentit
- Arduino Uno
- Relemoduuli
LED
piirikaavio ja selitys
relemoduulin liittäminen Arduinoon on hyvin yksinkertaista. Tässä esimerkissä kytkemme relemoduulin Arduinoon normaalisti avoimessa tilassa. Niin, liitä 5V ja maahan Arduino kanssa 5V ja maahan relemoduulin. Liitä sitten signaalin pin relemoduulin pin 12 Arduino.
relemoduulin toisella puolella käytetään yhteistä pinniä ja normaalisti avointa pinniä, koska aiomme kytkeä releen normaalisti avoimeen tilaan. Joten, liitä pin 13 Arduino yhteinen relemoduulin ja normaalisti auki (NO)relemoduulin positiivinen pin LED. Liitä toinen tappi LED maahan Arduino.
Code
int relay_pin = 8;int led_pin = 13;void setup(){ pinMode(relay_pin,OUTPUT); pinMode(led_pin,OUTPUT); digitalWrite(led_pin,HIGH);}void loop(){ digitalWrite(relay_pin,HIGH); delay(5000); digitalWrite(relay_pin,LOW); delay(5000);}
AC-laitteen ohjaaminen Arduinon relemoduulilla
vaihtovirtalaitteen ohjaukseen on ryhdyttävä tarvittaviin varotoimiin, koska vaihtovirtalaite on vaarallinen ja se voi vahingoittaa sinua. Joten, välttää vaaraa, noudata alla opetusohjelma oikein.
tarvittavat komponentit
- Arduino Uno
- Relemoduuli
- hehkulamppu pidikkeineen
piirikaavio ja selitys
vaihtovirtalaitteen ohjaukseen tarvitaan ulkoinen lähde, joka antaa virtaa vaihtovirtalähteelle. Niin, kytke VCC, maahan ja signaalin 5V, maahan ja pin 8 Arduino vastaavasti. Toisessa päässä, liitä yksi Lanka AC-lähteen toiseen päähän polttimo ja toinen Lanka yhteiseen (C) rele. Kytke sitten normaalisti auki oleva (NO) polttimon toiseen päähän.
Code
int relay_pin = 8;void setup(){ pinMode(relay_pin,OUTPUT);}void loop(){ digitalWrite(relay_pin,HIGH); delay(5000); digitalWrite(relay_pin,LOW); delay(5000);}
Videos
piirilevysuunnittelu
varmistettuani, että kaikki toimii hyvin leipälaudalla, olen suunnitellut piirilevyn kicadiin.
tämän projektin projektikansioon on linkki.
piirilevyjen suunnittelun jälkeen tuotin PCB: n valmistukseen tarvittavan Gerber-tiedoston.
Gerber-tiedoston voi ladata seuraavan linkin kautta
vaaditut komponentit
- Arduino Nano
- Relay SRD-05vdc-SL-C X 4
- terminaalilohko 3 pin 5.08mm X 4
- Tynnyrijätkä
- 1N4007 diodi X 5
- LED punainen
- LED vihreä X 4
- Bc547 X 4
- vastus 1k X 5
- vastus 220ohm X 5
- vastus 2k
vaihtokytkin 3-nastainen
PCB
nyt meillä on PCB-suunnittelu ja on aika tilata PCB: t. JLCPCB.com, ja klikkaa ”QUOTE nyt” nappi.
jlcpcb ovat myös tämän projektin rahoittajia. JLCPCB (Shenzhen JLC Electronics Co., Ltd.), on Kiinan suurin PCB-prototyyppiyritys ja korkean teknologian valmistaja, joka on erikoistunut nopeaan PCB-prototyyppiin ja pienen erän PCB-tuotantoon. Voit tilata vähintään 5 PCB vain $2.
saadaksesi PCB: n valmistettua, lataa gerber-tiedosto, jonka latasit viimeisessä vaiheessa. Lataa se .zip-tiedosto tai voit myös vetää ja pudottaa Gerber-tiedostoja.
zip-tiedoston lataamisen jälkeen näet menestysviestin alareunassa, jos tiedosto ladataan onnistuneesti.
voit tarkistaa piirilevyn Gerber-katselijasta varmistaaksesi, että kaikki on hyvin. Voit tarkastella sekä ylä-että alareunassa PCB.
kun PIIRILEVYMME näyttää hyvältä, voimme nyt tehdä tilauksen kohtuulliseen hintaan. Voit tilata 5 PCB vain $2 mutta jos se on ensimmäinen tilaus niin saat 10 pcb $2.
tehdäksesi tilauksen, klikkaa ”Tallenna ostoskoriin” – painiketta.
PCB: iden valmistamiseen meni 2 päivää ja ne saapuivat viikossa DHL: n toimitusmahdollisuutta käyttäen. PCB oli hyvin pakattu ja laatu oli todella hyvä.
koottuaan kaiken täällä on miltä näyttää.
Code
int relay1_pin = 6;int relay2_pin = 7;int relay3_pin = 8;int relay4_pin = 9;void setup() { pinMode(relay1_pin, OUTPUT); pinMode(relay2_pin, OUTPUT); pinMode(relay3_pin, OUTPUT); pinMode(relay4_pin, OUTPUT); digitalWrite(relay1_pin, LOW); digitalWrite(relay2_pin, LOW); digitalWrite(relay3_pin, LOW); digitalWrite(relay4_pin, LOW);}void loop() { digitalWrite(relay1_pin, HIGH); delay(1000); digitalWrite(relay2_pin, HIGH); delay(1000); digitalWrite(relay3_pin, HIGH); delay(1000); digitalWrite(relay4_pin, HIGH); delay(1000); digitalWrite(relay4_pin, LOW); delay(1000); digitalWrite(relay3_pin, LOW); delay(1000); digitalWrite(relay2_pin, LOW); delay(1000); digitalWrite(relay1_pin, LOW); delay(1000);}