Овој туторијал е дел од: Контролирање на реле со помош на Arduino
Ова се групни видеа поврзани со релеј. Линкови до други видеа се наоѓаат под оваа статија.
Користење на Arduino копче за вклучување/исклучување на реле и AC сијалица
Во ова упатство, ќе научиме како да контролираме AC сијалица или LED светло користејќи копче и реле. Копчето ќе го вклучува и исклучува светлото, одржувајќи ја неговата состојба дури и кога копчето е отпуштено. Оваа поставка не е само практична, туку и одличен вовед во работа со релеа и AC оптоварувања.

Како што напредуваме, ќе ги покриеме потребните компоненти, упатствата за поврзување и Arduino кодот што го овозможува овој проект. Погрижете се да го погледнете придружното видео за визуелен водич и детални објаснувања (во видео на 00:00).

Објаснување на хардверот
За овој проект, ќе користиме реле модул, Arduino плоча и копче. Реле модулот дејствува како прекинувач што може да контролира високонапонски AC оптоварувања, како што е сијалица, додека е контролиран од нисконапонските Arduino сигнали. Реле модулот има три главни терминали за поврзување на оптоварувањето: Заеднички (COM), Нормално Отворен (NO) и Нормално Затворен (NC).
Копчето служи како кориснички интерфејс за префрлување на состојбата на релето. Тоа е поврзано со еден од дигиталните пинови на Arduino. Кога копчето е притиснато, испраќа сигнал до Arduino, кој потоа го активира или деактивира релето соодветно. Оваа едноставна интеракција ни овозможува лесно да го контролираме светлото.
Детали од податочен лист за релето
| Производител | Songle |
|---|---|
| Број на дел | SRD-05VDC-SL-C |
| Напон на калемот | 5 VDC |
| Напон на префрлување | AC 250 V / DC 30 V |
| Струја на префрлување | 10 A макс. |
| Отпор на контакт | ≤ 100 mΩ |
| Отпор на изолација | ≥ 1000 MΩ |
| Работна температура | -40 до +70 °C |
| Пакет | Стандарден реле модул |
- Осигурете се дека релето е оценето за оптоварувањето што го префрлувате.
- Чувајте го реле модулот напојуван со 5 VDC.
- Користете соодветна изолација за AC приклучоци.
- Бидете внимателни додека работите со AC струја; осигурете се дека колото е исклучено пред да направите промени.
- Поврзете го копчето со назначениот влезен пин на Arduino.
- Користете го INPUT_PULLUP режимот за пинот на копчето за да избегнете потреба од надворешни отпорници.
- Тестирајте ја работата на релето со понизок напон пред да поврзете AC оптоварувања.
- Проверете ги приклучоците за да избегнете кратки споеви.
Упатства за поврзување

За да го поврзете реле модулот, започнете со поврзување на VCC пинот на релето со 5V пинот на Arduino, и GND пинот на релето со GND пинот на Arduino. IN пинот на релето треба да биде поврзан со дигиталниот пин 10 на Arduino. Овој пин ќе го испраќа сигналот за активирање на релето.
За копчето, поврзете еден терминал со дигиталниот пин 2 на Arduino. Другиот терминал треба да биде поврзан со GND. Оваа поставка го користи внатрешниот pull-up отпорник на Arduino, па затоа осигурете се дека пинот е поставен на INPUT_PULLUP во кодот. Кога копчето е притиснато, ќе го доведе пинот на LOW, испраќајќи сигнал до Arduino.
За AC оптоварувањето, поврзете една жица со COM терминалот на релето и другата жица со NO терминалот. Оваа конфигурација ќе овозможи AC оптоварувањето да се вклучи кога релето е активирано. Секогаш осигурувајте се дека AC приклучоците се безбедни и изолирани.
Примери на код и објаснување
Следниот код ги иницијализира потребните пинови и го поставува релето да остане исклучено на почетокот. Притискањето на копчето ја префрла состојбата на релето и соодветно ја ажурира статусот на светлото.
int pbuttonPin = 2; // поврзи го излезот со копчето
int relayPin = 10; // Поврзано со релето (LED)
void setup() {
Serial.begin(9600);
pinMode(pbuttonPin, INPUT_PULLUP);
pinMode(relayPin, OUTPUT);
digitalWrite(relayPin, HIGH); // задржи го оптоварувањето ИСКЛУЧЕНО на почетокот
}
Во кодот, променливата pbuttonPin е поставена на пин 2, кој се користи за копчето. relayPin е поставен на пин 10, контролирајќи го релето. Функцијата digitalWrite се користи за да се осигури дека релето започнува во ИСКЛУЧЕНА состојба.
void loop() {
val = digitalRead(pbuttonPin); // прочитај ја вредноста на копчето
if(val == HIGH && lightON == LOW) {
pushed = 1 - pushed; // префрли го статусот на притискање
delay(100);
}
if(pushed == HIGH) {
digitalWrite(relayPin, LOW); // вклучи го релето
} else {
digitalWrite(relayPin, HIGH); // исклучи го релето
}
}
Овој дел од кодот континуирано ја проверува состојбата на копчето. Кога копчето е притиснато, ја префрла променливата pushed. Во зависност од вредноста на pushed, релето се вклучува или исклучува, ефективно контролирајќи го светлото. Оваа јамка работи континуирано, осигурувајќи дека статусот на светлото се ажурира во реално време.
За целосни детали за кодот, ве молиме погледнете го кодот вчитан под статијата.
Демонстрација / Што да очекувате
Кога ќе го притиснете копчето, релето ќе се активира, вклучувајќи ја поврзаната AC сијалица. Притискањето на копчето повторно ќе ја исклучи сијалицата. Серискиот монитор ќе ги прикажува статусните пораки, означувајќи дали светлото е ВКЛУЧЕНО или ИСКЛУЧЕНО. Ако наидете на проблеми, осигурете се дека поврзувањето е точно и проверете за било какви лебдечки влезови што би можеле да предизвикаат неочекувано однесување (во видео на 10:00).
Временски ознаки на видеото
- 00:00 - Вовед
- 01:30 - Преглед на хардверот
- 03:15 - Упатства за поврзување
- 05:45 - Објаснување на кодот
- 08:00 - Демонстрација
Овој туторијал е дел од: Контролирање на реле со помош на Arduino
- Arduino код и видео за двојно-канален 5V реле
- Контролирање на 5V релеј со Arduino за контрола на AC или DC оптоварување како сијалица или мотор
- TTP224 4-канален сензор за допир за вклучување/исклучување на AC/DC оптоварувања со реле
- Користење на 5V реле модул (ниско активирање) со Arduino
- Користење на MAX6675 K-тип термопар со реле и дисплеј
- Користење на Рид прекинувач за контрола на реле и AC/DC оптоварувања со Arduino
- Користење на TTP223B допир модул и реле за контрола на AC/DC оптоварувања со 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);
}
Ресурси и референци
-
Внатрешно
Датотеки📁
Нема достапни датотеки.