আরডুইনো কোড এবং ইউএসবি-এর মাধ্যমে রিলে-এর পাওয়ারশেল কমান্ড-লাইন নিয়ন্ত্রণের জন্য ভিডিও
এই টিউটোরিয়ালে, আমরা শিখব কীভাবে একটি Arduino এবং একটি USB থেকে UART মডিউল ব্যবহার করে একটি রিলে নিয়ন্ত্রণ করা যায়, সবকিছু Windows PowerShell কমান্ডের মাধ্যমে। এই সেটআপটি আপনাকে কমান্ড লাইনের মাধ্যমে নির্দিষ্ট কমান্ড পাঠিয়ে দূর থেকে একটি আলো চালু এবং বন্ধ করার সুযোগ দেয়। এই গাইডের শেষে, আপনার কাছে একটি কার্যকরী সিস্টেম থাকবে যা AC ডিভাইসগুলিকে নিরাপদে এবং কার্যকরভাবে নিয়ন্ত্রণ করতে পারে।

আমরা Arduino-এর সিরিয়াল যোগাযোগ ক্ষমতা ব্যবহার করব PowerShell থেকে পাঠানো কমান্ড শোনার জন্য। ব্যবহৃত নির্দিষ্ট কমান্ডগুলি হবে পূর্ণসংখ্যা যা রিলে চালু এবং বন্ধ করার সাথে সম্পর্কিত। এই প্রকল্পটির জন্য AC ভোল্টেজের সতর্কতার সাথে পরিচালনা প্রয়োজন, তাই পুরো প্রক্রিয়া জুড়ে নিরাপত্তা সতর্কতা অবলম্বন করতে হবে। অতিরিক্ত স্পষ্টতার জন্য, সম্পূর্ণ ভিডিওটি দেখতে ভুলবেন না (ভিডিওতে 00:00 এ)।
হার্ডওয়্যার ব্যাখ্যা
এই প্রকল্পের সাথে জড়িত প্রধান উপাদানগুলির মধ্যে রয়েছে Arduino বোর্ড, USB থেকে UART মডিউল এবং রিলে। Arduino অপারেশনের মস্তিষ্ক হিসেবে কাজ করে, সিরিয়াল কমান্ড প্রক্রিয়া করে এবং সেই অনুযায়ী রিলে নিয়ন্ত্রণ করে। USB থেকে UART মডিউলটি Arduino এবং আপনার কম্পিউটারের মধ্যে যোগাযোগ সহজতর করে, PowerShell-এর মাধ্যমে কমান্ড ইনপুট সক্ষম করে।
রিলেটি একটি সুইচ হিসেবে কাজ করে যা আলোতে বিদ্যুতের প্রবাহ নিয়ন্ত্রণ করে। যখন রিলে সক্রিয় হয়, এটি সার্কিট বন্ধ করে দেয়, যা কারেন্ট প্রবাহিত হতে দেয় এবং আলো জ্বলে ওঠে। যখন নিষ্ক্রিয় হয়, এটি সার্কিট খুলে দেয়, বিদ্যুৎ বিচ্ছিন্ন করে এবং আলো বন্ধ করে দেয়। এটি একটি নিম্ন-ভোল্টেজ সিস্টেম থেকে উচ্চ-ভোল্টেজ ডিভাইসগুলির নিরাপদ নিয়ন্ত্রণের অনুমতি দেয়।
ডেটাশিট বিবরণ
| প্রস্তুতকারক | FTDI |
|---|---|
| পার্ট নম্বর | FT232R |
| লজিক/আইও ভোল্টেজ | 3.3 V / 5 V |
| সাপ্লাই ভোল্টেজ | 4.5 V থেকে 5.5 V |
| আউটপুট কারেন্ট (প্রতি চ্যানেল) | 50 mA |
| পিক কারেন্ট (প্রতি চ্যানেল) | 100 mA |
| PWM ফ্রিকোয়েন্সি নির্দেশিকা | প্রযোজ্য নয় |
| ইনপুট লজিক থ্রেশহোল্ড | 0.3 V (নিম্ন), 0.7 V (উচ্চ) |
| ভোল্টেজ ড্রপ / RDS(on) / স্যাচুরেশন | 0.5 V সর্বোচ্চ |
| তাপীয় সীমা | 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-এর সাথে একই গ্রাউন্ডে সংযুক্ত করতে ভুলবেন না যাতে একটি সাধারণ রেফারেন্স নিশ্চিত হয়। এই সেটআপটি PowerShell-এর মাধ্যমে Arduino এবং আপনার কম্পিউটারের মধ্যে নির্বিঘ্ন যোগাযোগের অনুমতি দেয়।
কোড উদাহরণ ও ওয়াকথ্রু
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 খুলতে এবং আলো নিয়ন্ত্রণের জন্য কমান্ড পাঠাতে সক্ষম হওয়া উচিত। সংশ্লিষ্ট কমান্ড টাইপ করা অবিলম্বে রিলে ট্রিগার করবে, পছন্দ অনুযায়ী আলো চালু বা বন্ধ করবে। AC ডিভাইস পরিচালনার সময় সতর্ক থাকুন, পরীক্ষার সময় কোনো জীবন্ত তার উন্মুক্ত না হয় তা নিশ্চিত করুন।
ভিডিও টাইমস্ট্যাম্প
- 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
আপনাকে যা প্রয়োজন হতে পারে
-
অ্যামাজন
-
অ্যামাজন
-
ইবে
-
অলি এক্সপ্রেসPurchase 1 channel 5V KY-019 relay from AliExpresss.click.aliexpress.com
সম্পদ ও রেফারেন্সসমূহ
এখনো কোনো সম্পদ নেই।
ফাইলসমূহ📁
ফ্রিটজিং ফাইল
-
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