Ардуино коды және USB арқылы релеге PowerShell командалық жолымен басқаруға арналған бейне
Бұл оқулықта біз Arduino және USB-UART модулін пайдаланып, Windows PowerShell пәрмендері арқылы релені қалай басқаруға болатынын қарастырамыз. Бұл қондырғы пәрмен жолы арқылы арнайы пәрмендер жіберу арқылы шамды қашықтан қосуға және өшіруге мүмкіндік береді. Осы нұсқаулықтың соңында сізде айнымалы ток құрылғыларын қауіпсіз және тиімді басқара алатын жұмыс істейтін жүйе болады.

Біз Arduino-ның сериялық байланыс мүмкіндіктерін пайдаланып, PowerShell-ден жіберілген пәрмендерді тыңдаймыз. Қолданылатын нақты пәрмендер релені қосу және өшіруге сәйкес келетін бүтін сандар болады. Бұл жоба айнымалы ток кернеуін мұқият өңдеуді талап етеді, сондықтан бүкіл процесс барысында қауіпсіздік шараларын сақтау қажет. Қосымша түсініктеме алу үшін толық бейнені міндетті түрде көріңіз (бейнеде 00:00).
Аппараттық құралдар түсіндірмесі
Бұл жобаға қатысатын негізгі компоненттерге Arduino тақтасы, USB-UART модулі және реле кіреді. Arduino операцияның миы ретінде әрекет етеді, сериялық пәрмендерді өңдейді және релені сәйкесінше басқарады. USB-UART модулі Arduino мен компьютер арасындағы байланысты жеңілдетеді, PowerShell арқылы пәрмендерді енгізуге мүмкіндік береді.
Реле шамға электр ағынын басқаратын қосқыш ретінде қызмет етеді. Реле іске қосылғанда, ол тізбекті жабады, токтың ағуына және шамның жануына мүмкіндік береді. Өшірілгенде, ол тізбекті ашады, қуатты үзіп, шамды өшіреді. Бұл төмен кернеулі жүйеден жоғары кернеулі құрылғыларды қауіпсіз басқаруға мүмкіндік береді.
Деректер парағының мәліметтері
| Өндіруші | FTDI |
|---|---|
| Бөлшек нөмірі | FT232R |
| Логика/IO кернеуі | 3.3 В / 5 В |
| Қоректендіру кернеуі | 4.5 В - 5.5 В |
| Шығыс тогы (арна үшін) | 50 мА |
| Ең жоғары ток (арна үшін) | 100 мА |
| ШИМ жиілігі бойынша нұсқаулық | Жоқ |
| Кіріс логикалық шектері | 0.3 В (төмен), 0.7 В (жоғары) |
| Кернеудің төмендеуі / RDS(on) / қанығу | 0.5 В макс. |
| Жылулық шектер | 125 °C |
| Қаптама | 32 LQFP |
| Ескертулер / нұсқалар | USB-UART түрлендіргіші |
- Реле мен UART модулі үшін дұрыс кернеу деңгейлерін қамтамасыз етіңіз.
- Реле жоғары жүктемелерді өңдейтін болса, жылу қабылдағышты пайдаланыңыз.
- Жүйені қуаттандырмас бұрын барлық қосылымдарды қайта тексеріңіз.
- Модульді ылғалдан және өткізгіш материалдардан алыс ұстаңыз.
- Кернеу секірулерін болдырмау үшін барлық компоненттер үшін ортақ жерге қосуды пайдаланыңыз.
Сымды қосу нұсқаулары


Реле модулінің VCC түйреуішін Arduino-дағы 5V түйреуішіне қосудан бастаңыз. Әрі қарай, реленің GND түйреуішін Arduino-дағы жерге қосу түйреуіштерінің біріне қосыңыз. Реледен шығатын басқару түйреуіші (IN немесе осыған ұқсас деп белгіленген) Arduino-дағы 8 цифрлық түйреуішке қосылуы керек.
USB-UART модулі үшін TX түйреуішін Arduino-ның RX түйреуішіне және модульдің RX түйреуішін Arduino-ның TX түйреуішіне қосыңыз. USB модулінің жерге қосу түйреуішін Arduino-мен бірдей жерге қосуға қосуды ұмытпаңыз, бұл ортақ анықтаманы қамтамасыз етеді. Бұл қондырғы Arduino мен компьютер арасында PowerShell арқылы үздіксіз байланысқа мүмкіндік береді.
Код мысалдары және түсіндірме
byte RX_Value = 0; // алынған байтты сақтайды
#define relay 8 // реле үшін 8 түйреуіш
int comON = 6; // шамды қосу коды
int comOFF = 2; // шамды өшіру коды
Бұл үзіндіде біз сериялық монитордан алынған пәрменді сақтау үшін RX_Value айнымалысын анықтаймыз. relay 8 түйреуішке орнатылған және біз екі пәрменді анықтаймыз: шамды қосу үшін comON және оны өшіру үшін comOFF.

void setup() {
Serial.begin(9600); // 9600 бод жылдамдығында сериялық байланысты бастау
pinMode(relay, OUTPUT); // Реле түйреуішін шығыс ретінде орнату
digitalWrite(relay, HIGH); // Бастапқыда релені өшіру
}
setup() функциясында біз 9600 бод жылдамдығында сериялық байланысты инициализациялаймыз, бұл PowerShell параметрлеріне сәйкес келуі керек. Реле түйреуіші шығыс ретінде конфигурацияланады және бағдарлама басталғанда реленің өшірулі болуын қамтамасыз ету үшін оны HIGH күйіне орнатамыз.

if (Serial.available()) {
RX_Value = Serial.read(); // Кіріс байтты оқу
if (RX_Value == comON) {
digitalWrite(relay, LOW); // Релені қосу
} else if (RX_Value == comOFF) {
digitalWrite(relay, HIGH); // Релені өшіру
}
}
Бұл код үзіндісі бағдарламаның кіріс сериялық деректерді қалай тыңдайтынын көрсетеді. comON мәніне сәйкес келетін пәрмен алынса, реле іске қосылып, шам жанады. Керісінше, comOFF алынса, реле өшіріліп, шам сөнеді. Бұл цикл жалғасады, бұл PowerShell-ден жылдам басқаруға мүмкіндік береді.
Демонстрация / Не күтуге болады
Қондырғы аяқталғанда және код жүктелгенде, сіз PowerShell-ді ашып, шамды басқару үшін пәрмендерді жібере алуыңыз керек. Сәйкес пәрменді терген кезде реле дереу іске қосылып, шамды қалағаныңызша қосады немесе өшіреді. Айнымалы ток құрылғыларымен жұмыс істегенде абай болыңыз, сынақ кезінде ешқандай ашық сымдардың болмауын қамтамасыз етіңіз.
Бейне уақыт белгілері
- 00:00 - Жобаға кіріспе және шолу
- 02:30 - Сымды қосу түсіндірмесі
- 05:00 - Кодты түсіндіру
- 08:15 - PowerShell пәрмендерін демонстрациялау
- 10:45 - Қорытынды және қауіпсіздік кеңестері
++
/*
* This Arduino code is to read and decode serial monitor
* code sent from USB to UART or USB to UART FTDI chip
* commands sent from Windows PowerShell or other systems commands.
* When the code is detected and matched with the present codes
* for example, 6 is to turn the relay ON and 2 to turn OFF the relay,
* in turn, will turn ON the AC bulb.
Watch the video for this code: https://youtu.be/HzLCkzX5q3w
*
*/
// Written by Ahmad S. Robojax at 19:11 on Saturday, April 01, 2018
byte RX_Value = 0; // stores received byte
#define relay 8 // pin 8 for relay
int comON = 6;//code to turn ON the light
int comOFF = 2;// code to turn OFF the light
void setup() {
// Robojax code for USB command to Relay
Serial.begin(9600);
while (!Serial) {
; // wait for serial port to connect. Needed for native USB port only
}
pinMode(relay,OUTPUT);// define pin 8 as output
digitalWrite(relay,HIGH);// turn the relay OFF
Serial.println("Robojax USB Command");
}
void loop() { // run over and over
// Robojax code for USB command to Relay
if (Serial.available()) {
RX_Value = Serial.read();
if(Serial.read() == comON)
{
digitalWrite(relay,LOW);// turn the relay ON
Serial.print("Code to Turn ON:");
Serial.println(RX_Value);// print the received command
}
if(RX_Value == comOFF)
{
digitalWrite(relay,HIGH);// turn the relay OFF
Serial.print("Code to Turn OFF:");
Serial.println(RX_Value); // print the received command
}
}
}// loop
Сізге қажет болуы мүмкін нәрселер
-
Амазонка
-
Амазонка
-
eBay
-
AliExpressPurchase 1 channel 5V KY-019 relay from AliExpresss.click.aliexpress.com
Ресурстар мен сілтемелер
Әлі ресурстар жоқ.
Файлдар📁
Fritzing файлы
-
4-Channel 5v Relay module
4-Channel 5v Relay Shield.fzpz0.02 MB -
FT232-AZ-USB-to_TTL-serial-adapter
FT232-AZ-USB-to_TTL-serial-adapter.fzpz0.01 MB
Басқа файлдар
-
Power Script to control relay over USB
robojax-usb-relay-powershell_scripts.zip