This tutorial is part of: Kudhibiti Relay kwa Kutumia Arduino
Hizi ni video za vikundi zinazohusiana na relay. Viungo vya video zingine viko chini ya makala haya.
Kutumia kitufe cha kushinikiza cha Arduino kuwasha relay na balbu ya AC
Katika mafunzo haya, tutajifunza jinsi ya kudhibiti balbu ya AC au taa ya LED kwa kutumia kitufe cha kushinikiza na relay. Kitufe cha kushinikiza kitabadilisha taa kuwasha na kuzima, kikihifadhi hali yake hata kitufe kinapoachiliwa. Mpangilio huu si wa vitendo tu bali pia ni utangulizi mzuri wa kufanya kazi na relay na mizigo ya AC.

Tunapoendelea, tutashughulikia vipengele muhimu, maagizo ya wiring, na msimbo wa Arduino unaowezesha mradi huu. Hakikisha umetazama video inayohusiana kwa mwongozo wa kuona na maelezo ya kina (katika video saa 00:00).

Vifaa Vimeelezwa
Kwa mradi huu, tutatumia moduli ya relay, bodi ya Arduino, na kitufe cha kushinikiza. Moduli ya relay hufanya kazi kama swichi inayoweza kudhibiti mizigo ya AC ya voltage ya juu, kama balbu, huku ikidhibitiwa na ishara za Arduino za voltage ya chini. Moduli ya relay ina vituo vitatu vikuu vya kuunganisha mzigo: Common (COM), Normally Open (NO), na Normally Closed (NC).
Kitufe cha kushinikiza hutumika kama kiolesura cha mtumiaji kubadilisha hali ya relay. Kimeunganishwa kwenye moja ya pini za dijiti kwenye Arduino. Kitufe kinapobonyezwa, kinatuma ishara kwa Arduino, ambayo kisha inawasha au kuzima relay ipasavyo. Mwingiliano huu rahisi unaturuhusu kudhibiti taa kwa urahisi.
Maelezo ya Datasheet kwa Relay
| Mtengenezaji | Songle |
|---|---|
| Nambari ya sehemu | SRD-05VDC-SL-C |
| Voltage ya coil | 5 VDC |
| Voltage ya kubadilisha | AC 250 V / DC 30 V |
| Mkondo wa kubadilisha | 10 A max. |
| Upinzani wa mawasiliano | ≤ 100 mΩ |
| Upinzani wa insulation | ≥ 1000 MΩ |
| Joto la kufanya kazi | -40 hadi +70 °C |
| Kifurushi | Moduli ya Kawaida ya Relay |
- Hakikisha relay imekadiriwa kwa mzigo unaobadilisha.
- Weka moduli ya relay ikiwa na nguvu ya 5 VDC.
- Tumia insulation inayofaa kwa miunganisho ya AC.
- Kuwa makini unapofanya kazi na nguvu ya AC; hakikisha mzunguko umekatwa kabla ya kufanya mabadiliko.
- Unganisha kitufe cha kushinikiza kwenye pini maalum ya kuingiza kwenye Arduino.
- Tumia hali ya INPUT_PULLUP kwa pini ya kitufe cha kushinikiza ili kuepuka hitaji la resistors za nje.
- Jaribu uendeshaji wa relay kwa voltage ya chini kabla ya kuunganisha mizigo ya AC.
- Thibitisha miunganisho ili kuepuka mzunguko mfupi.
Maagizo ya Wiring

Ili kuunganisha moduli ya relay, anza kwa kuunganisha pini ya VCC ya relay kwenye pini ya 5V kwenye Arduino, na pini ya GND ya relay kwenye pini ya GND kwenye Arduino. Pini ya IN kwenye relay inapaswa kuunganishwa kwenye pini ya dijiti 10 kwenye Arduino. Pini hii itatuma ishara kuamsha relay.
Kwa kitufe cha kushinikiza, unganisha terminal moja kwenye pini ya dijiti 2 kwenye Arduino. Terminal nyingine inapaswa kuunganishwa kwenye GND. Mpangilio huu unatumia resistor ya ndani ya kuvuta-juu ya Arduino, kwa hivyo hakikisha pini imewekwa kwenye INPUT_PULLUP kwenye msimbo. Kitufe kinapobonyezwa, kitaleta pini kwenye LOW, kikitoa ishara kwa Arduino.
Kwa mzigo wa AC, unganisha waya moja kwenye terminal ya COM kwenye relay na waya nyingine kwenye terminal ya NO. Mpangilio huu utaruhusu mzigo wa AC kuwasha wakati relay inapoamshwa. Hakikisha kila wakati miunganisho ya AC iko salama na imefungwa vizuri.
Mifano ya Msimbo na Maelekezo
Msimbo ufuatao huanzisha pini muhimu na kuweka relay kuzima mwanzoni. Kubonyeza kitufe kunabadilisha hali ya relay na kusasisha hali ya taa ipasavyo.
int pbuttonPin = 2; // unganisha pato kwenye kitufe cha kushinikiza
int relayPin = 10; // Imeunganishwa kwenye relay (LED)
void setup() {
Serial.begin(9600);
pinMode(pbuttonPin, INPUT_PULLUP);
pinMode(relayPin, OUTPUT);
digitalWrite(relayPin, HIGH); // weka mzigo OFF mwanzoni
}
Kwenye msimbo, kigezo pbuttonPin kimewekwa kwenye pini 2, ambayo hutumika kwa kitufe cha kushinikiza. relayPin imewekwa kwenye pini 10, ikidhibiti relay. Kazi ya digitalWrite inatumika kuhakikisha relay inaanza katika hali ya OFF.
void loop() {
val = digitalRead(pbuttonPin); // soma thamani ya kitufe cha kushinikiza
if(val == HIGH && lightON == LOW) {
pushed = 1 - pushed; // badilisha hali ya kushinikiza
delay(100);
}
if(pushed == HIGH) {
digitalWrite(relayPin, LOW); // washa relay
} else {
digitalWrite(relayPin, HIGH); // zima relay
}
}
Sehemu hii ya msimbo inaangalia kila mara hali ya kitufe cha kushinikiza. Kitufe kinapobonyezwa, inabadilisha kigezo pushed. Kulingana na thamani ya pushed, relay inawashwa au kuzimwa, ikidhibiti taa kwa ufanisi. Mzunguko huu unaendelea kila wakati, kuhakikisha hali ya taa inasasishwa kwa wakati halisi.
Kwa maelezo kamili ya msimbo, tafadhali rejea msimbo uliopakiwa chini ya makala.
Maonyesho / Nini cha Kutarajia
Unapobonyeza kitufe cha kushinikiza, relay itaamshwa, ikiwasha balbu ya AC iliyounganishwa. Kubonyeza kitufe tena kutazima balbu. Kichunguzi cha mfululizo kitaonyesha ujumbe wa hali, ukionyesha kama taa iko WASHI au IMEZIMA. Ikiwa utapata matatizo, hakikisha wiring ni sahihi, na angalia kwa pembejeo zozote zinazoelea zinazoweza kusababisha tabia isiyotarajiwa (katika video saa 10:00).
Vidokezo vya Muda wa Video
- 00:00 - Utangulizi
- 01:30 - Muhtasari wa Vifaa
- 03:15 - Maagizo ya Wiring
- 05:45 - Maelekezo ya Msimbo
- 08:00 - Maonyesho
This tutorial is part of: Kudhibiti Relay kwa Kutumia Arduino
- Kodi ya Arduino na Video kwa Relay ya Chaneli Mbili ya 5V
- Kudhibiti Relay ya 5V Kwa Kutumia Arduino Kudhibiti mzigo wa AC au DC kama balbu au motor
- Kigundua TTP224 cha Njia 4 cha Kuhisi Mguso ili Kuwasha/Mzima Mizigo ya AC/DC kwa Relay
- Använda en 5V relämodul (låg utlösning) med Arduino
- Kutumia Thermocouple ya Aina ya K ya MAX6675 pamoja na Relay na Onyesho
- Kutumia Reed Switch Kudhibiti Relay na Mizigo ya AC/DC na Arduino
- Kutumia moduli ya kugusa TTP223B na relay kudhibiti mizigo ya AC/DC kwa Arduino
/*
* This is the Arduino code for a push button to turn ON and OFF a relay and AC bulb.
It toggles the bulb ON and OFF.
* The output pin 10 is connected to the relay.
* Watch video instructions on YouTube: https://youtu.be/7CCSRs5bvH0
* Be careful working with AC; it is dangerous. Disconnect from AC power when working and wear protective gloves when touching AC components.
* Full explanation of this code and wiring diagram is available in
* my Arduino Course at Udemy.com here: http://robojax.com/L/?id=62
* Written by Ahmad Shamshiri on December 14, 2017 in Ajax, Ontario, Canada
* in Ajax, Ontario, Canada. www.robojax.com
*
* Get this code and other Arduino codes from Robojax.com.
Learn Arduino step by step in a structured course with all materials, wiring diagrams, and libraries
all in one place. Purchase my course on Udemy.com: http://robojax.com/L/?id=62
If you found this tutorial helpful, please support me so I can continue creating
content like this. You can support me on Patreon: http://robojax.com/L/?id=63
or make a donation using PayPal: http://robojax.com/L/?id=64
* * This code is "AS IS" without warranty or liability. Free to be used as long as you keep this note intact.*
* This code has been downloaded from Robojax.com
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
int pbuttonPin = 2;// connect output to push button
int relayPin = 10;// Connected to relay (LED)
int val = 0; // push value from pin 2
int lightON = 0;//light status
int pushed = 0;//push status
void setup() {
// Robojax.com code and video tutorial for push button ON and OFF
Serial.begin(9600);
pinMode(pbuttonPin, INPUT_PULLUP);
pinMode(relayPin, OUTPUT);
digitalWrite(relayPin, HIGH);// keep the load OFF at the begining. If you wanted to be ON, change the HIGH to LOW
}
void loop() {
// Robojax.com code and video tutorial for push button ON and OFF
val = digitalRead(pbuttonPin);// read the push button value
if(val == HIGH && lightON == LOW){
pushed = 1-pushed;
delay(100);
}
lightON = val;
if(pushed == HIGH){
Serial.println("Light ON");
digitalWrite(relayPin, LOW);
}else{
Serial.println("Light OFF");
digitalWrite(relayPin, HIGH);
}
// Robojax.com code and video tutorial for push button ON and OFF
delay(100);
}
Resurser och referenser
Filer📁
Inga filer tillgängliga.