আমরা অনেকেই রিমোট কন্ট্রোল গাড়ি বানাতে চাই। কিন্তু আমি জানি না কিভাবে রিমোট কন্ট্রোল গাড়ি বানাতে হয়। আজ আমি আপনাদের শিখাবো কিভাবে খুব সহজেই আপনি নিজেই রিমোট কন্ট্রোল কার বানাতে পারবেন। রিমোট কন্ট্রোল গাড়িটি বিভিন্ন সার্কিটের মাধ্যমে তৈরি করা যায়। মাইক্রোকন্ট্রোলারের সাহায্যে কিভাবে রিমোট কন্ট্রোল কার ডিজাইন এবং বানাতে হয় তা আমি আপনাদের শেখাবো। একটি মাইক্রোকন্ট্রোলার হিসাবে আমি Arduino বোর্ড নেব। আমি এই আরডুইনো বোর্ডে কোডিং এবং ব্যবহারিক পদ্ধতিতে কোডিং করে রিমোট কন্ট্রোল কার কিভাবে তৈরি করতে হয় তা শেখাবো এবং দেখাবো।
তো চলুন দেখি রিমোট কন্ট্রোল কার বানাতে কি কি যন্ত্রাংশ ও ডিভাইস লাগবে।
- Arduino uno R3 Board.
- L298d Motor Driver.
- Motor Wheel.
- DC Gear Motor.
- Rotary Wheel.
- Robotic Chassis.
- Any remote.
- IR Receiver Sensor.
- 9v Battery.
- Switch.
- Screw.
- Connecting Wire.
সাধারণত এই কম্পোনেন্টগুলো দিয়েই রিমোট কন্ট্রোল গাড়ি তৈরি করা যায়। এগুলো দিয়ে আপনি একটি রিমোট কন্ট্রোল গাড়ি তৈরি করতে পারবেন। এখন আইআর রিসিভার সেন্সরের পিন ডায়াগ্রামটি দেখুন।
এই IR রিসিভার সেন্সরটি মূলত রিমোট ট্রান্সমিটার থেকে প্রেরিত সংকেত গ্রহণ করে একটি আউটপুট দেবে। Arduino এর সাথে এটি ব্যবহার করতে নীচের পিন ডায়াগ্রামটি লক্ষ্য করুন।
এখন আপনাকে Arduino কোডিং করে সেই কোডিং Arduino এ আপলোড করার পর কিছু পরীক্ষা করতে হবে। এই প্রকল্পে আপনি যে রিমোটটি ব্যবহার করবেন সেটি সেই রিমোটের প্রতিটি বোতাম টিপতে একটি কোড তৈরি করবে। প্রথমে আপনাকে একটি লাইব্রেরি ফাইল ডাউনলোড করতে হবে এবং Arduino ID সফ্টওয়্যার যোগ করতে হবে।
IR Remote Library File: এখানে ক্লিক করুন
এখন আমি নিচে যে কোডিংটি দেখাচ্ছি তা এই কোডিংটি Arduino UNO বোর্ডে আপলোড করবে।
CODE:
#include <IRremote.h>
int RECV_PIN = A0;
IRrecv irrecv(RECV_PIN);
decode_results results;
void setup()
{
Serial.begin(9600);
irrecv.enableIRIn(); // Start the receiver
pinMode( RECV_PIN, INPUT);
}
void loop() {
if (irrecv.decode(&results)) {
Serial.println(results.value, HEX);
irrecv.resume(); // Receive the next value
}
}
উপরে দেখানো হিসাবে Arduino বোর্ডের সাথে IR রিসিভার সেন্সর সংযোগ করুন এবং এই কোড আপলোড করুন। এখন আপনাকে আরডুইনো বোর্ডে পাওয়ার দিতে হবে। তারপর IR রিসিভার সেন্সরের সামনে আপনি এই প্রকল্পে যে রিমোট ব্যবহার করবেন তার বোতাম টিপুন। তারপর আপনি Arduino ID সফ্টওয়্যারের সিরিয়াল মনিটরের প্রতিটি বোতাম টিপানোর জন্য একটি কোড পাবেন। নিচের চিত্রে লক্ষ্য করুন।
ভাবে রিমোটের বোতাম টিপে আপনার যতগুলো কোড লাগবে অর্থাৎ যতগুলো বাটন আপনি ব্যবহার করবেন। এই প্রকল্পের জন্য রিমোটে পাঁচটি বোতাম প্রয়োজন।
- Forward.
- Backward.
- Left.
- Right.
- Stop button.
এখন আপনি রিমোটের যেকোনো বোতাম ব্যবহার করতে পারেন। আপনাকে বোতামগুলি থেকে একটি কোড বের করতে হবে যা আপনি উপরে দেখানো নিয়ম অনুসারে ব্যবহার করবেন। রিমোটের প্রতিটি বোতাম টিপে আপনি আলাদাভাবে কোডগুলি পাবেন। এই কোডগুলো মূল কোডিং এর ভিতরে দিতে হবে। নিচের ছবিটি লক্ষ্য করুন।
এখানে আপনি লাল চিহ্নিত করা দেখতে পারেন. এই প্রতিটি বোতাম টিপে জন্য কোড. এবং এই কোডগুলির প্রতিটিকে মূল কোডিংয়ে ব্যবহার করতে, আপনাকে এই কোডের সামনে 0XFF বসাতে হবে। এখন আমি আপনাকে এই প্রকল্পের পিন ডায়াগ্রাম বা সংযোগ চিত্র দেখাই।
উপরে আমি রিমোট কন্ট্রোল গাড়ির সার্কিট ডায়াগ্রাম বা সংযোগ চিত্র দেখিয়েছি। আপনি এই সার্কিট ডায়াগ্রাম বা সংযোগ চিত্র অনুযায়ী সংযোগ তৈরি করবেন। তারপর নিচে যে কোডিংটি দেখাচ্ছি তা এই কোডিং আরডুইনো বোর্ড আপলোড করবে।
Code:
#include <IRremote.h> // including the IR remote library
#define forward 0xFF38863BF2 // code received from forward button
#define backward 0xFF38863BFA // code received from backward button
#define left 0xFF38863BC2// code received from left button
#define right 0xFF38863BCA // code received from right button
#define stop_button 0xFF38863BDC // code received from stop button
int IN_1 = 12;
int IN_2 = 11;
int IN_3 = 10;
int IN_4 = 9;
char command;
int receiver_pin = A0; //Connect the output pin of IR receiver at pin A0
IRrecv receiver(receiver_pin); //Arduino will take output of IR receiver from pin A0
decode_results output;
void setup()
{
Serial.begin(9600);
receiver.enableIRIn(); // Start to take the output from IR receiver
pinMode(IN_1, OUTPUT);
pinMode(IN_2, OUTPUT);
pinMode(IN_3, OUTPUT);
pinMode(IN_4, OUTPUT);
}
void loop() {
if (receiver.decode(&output)) {
unsigned int value = output.value;
switch(value) {
case forward:
//Moving Forward
digitalWrite(IN_1, HIGH);
digitalWrite(IN_2, LOW);
digitalWrite(IN_3, LOW);
digitalWrite(IN_4, HIGH);
break;
case backward:
//Moving backward
digitalWrite(IN_1, LOW);
digitalWrite(IN_2, HIGH);
digitalWrite(IN_3, HIGH);
digitalWrite(IN_4, LOW);
break;
case left:
//Turning left
digitalWrite(IN_3, LOW);
digitalWrite(IN_4, HIGH);
break;
case right:
//Turning Right
digitalWrite(IN_1, HIGH);
digitalWrite(IN_2, LOW);
break;
case stop_button:
//Stop
digitalWrite(IN_1, LOW);
digitalWrite(IN_2, LOW);
digitalWrite(IN_3, LOW);
digitalWrite(IN_4, LOW);
break;
}
Serial.println(value);
receiver.resume();
}
}
এখন আমি উপরে দেখানো কানেকশন ডায়াগ্রাম অনুযায়ী কানেকশন তৈরি করুন। এর পরে, আপনি কোডিং আপলোড করলে, এই প্রকল্পটি আপনার জন্য তৈরি করা হবে। কিন্তু কোডিং এর ভিতরে আপনাকে অবশ্যই পরিবর্তন করতে হবে। কারণ আপনি যে রিমোট ব্যবহার করবেন তার কোড অনুযায়ী কোডিং করতে হবে। বুঝতে অসুবিধা হলে নিচের ভিডিওটি মনোযোগ সহকারে দেখুন।