এই পোস্টে আমরা একটি গাড়ি রোবট তৈরি করতে যা যা ২.৪ গিগাহার্টজ ওয়্যারলেস যোগাযোগ লিঙ্কে জয়স্টিক ব্যবহার করে নিয়ন্ত্রণ করা যায়। প্রস্তাবিত প্রকল্পটি কেবল একটি আরসি গাড়ি হিসাবে তৈরি করা হয়নি, তবে আপনি গাড়ীতে আপনার প্রকল্পগুলি যেমন নজরদারি ক্যামেরা ইত্যাদি যুক্ত করতে পারেন।
ওভারভিউ
প্রকল্পটি রিমোট এবং রিসিভারকে দুটি ভাগে ভাগ করা হয়েছে।
গাড়ি বা বেস, যেখানে আমরা আমাদের সমস্ত রিসিভার উপাদান রাখি সেগুলি হুইল ড্রাইভ বা ফোর হুইল ড্রাইভ হতে পারে।
আপনি যদি বেস কারের জন্য আরও স্থিতিশীলতা চান বা আপনি যদি অসম পৃষ্ঠে যেমন গাড়ী বাইরে চালনা করতে চান তবে 4 চাকাযুক্ত গাড়ির বেসের প্রস্তাব দেওয়া হচ্ছে।
আপনি 3 টি হুইল ড্রাইভ বেস কারও ব্যবহার করতে পারেন যা বাঁক দেওয়ার সময় আপনাকে আরও বেশি গতিশীলতা দেয় তবে এটি 4 হুইল ড্রাইভের চেয়ে কম স্থায়িত্ব সরবরাহ করতে পারে।
4 চাকাযুক্ত একটি গাড়ি তবে, 2 মোটর ড্রাইভও সম্ভব।
রিমোটটি 9 ভি ব্যাটারি দিয়ে চালিত হতে পারে এবং রিসিভার 12V, 1.3 এএইচ সিলযুক্ত লিড অ্যাসিড ব্যাটারি সহ চালিত হতে পারে, যার 12V, 7 এএইচ ব্যাটারির চেয়ে ছোট পদচিহ্ন রয়েছে এবং এ জাতীয় পেরিপেটিক অ্যাপ্লিকেশনগুলির জন্যও আদর্শ।
2.4 গিগাহার্জ যোগাযোগ এনআরএফ 24 ল01 মডিউল ব্যবহার করে প্রতিষ্ঠিত হয় যা দুটি এনআরএফ 24 এল01 মডিউলগুলির মধ্যে বাধার উপর নির্ভর করে 30 থেকে 100 মিটারের বেশি সংকেত প্রেরণ করতে পারে।
NRF24L01 মডিউলটির চিত্র:
এটি 3.3V এ কাজ করে এবং 5 ভি মডিউলটিকে হত্যা করতে পারে তাই যত্ন নিতে হবে এবং এটি এসপিআই যোগাযোগ প্রোটোকলে কাজ করে। পিন কনফিগারেশন উপরের ছবিতে সরবরাহ করা হয়।
রিমোট:
রিমোটটিতে আরডুইনো (আরডুইনো ন্যানো / প্রো-মিনি সুপারিশ করা হয়), এনআরএফ 24 এল01 মডিউল, একটি জয়স্টিক এবং একটি ব্যাটারি পাওয়ার সরবরাহ রয়েছে। এগুলি একটি ছোট জাঙ্ক বক্সে প্যাক করার চেষ্টা করুন, যা পরিচালনা করা আরও সহজ হবে।
রিমোটের জন্য স্কিম্যাটিক ডায়াগ্রাম:
এনআরএফ 24 ল01 মডিউল এবং জৌস্টিকের জন্য পিন সংযোগগুলি চিত্রটিতে সরবরাহ করা হয়েছে, যদি আপনি কোনও ঝামেলা অনুভব করেন তবে দয়া করে প্রদত্ত পিন সংযোগ টেবিলটি দেখুন।
জোস্টস্টিকটি এগিয়ে (ইউপি), বিপরীত (ডাউন), ডান এবং বাম দিকে চালিত করে গাড়িটি সেই অনুযায়ী চলে moves
দয়া করে নোট করুন যে সমস্ত তারের সংযোগগুলি বাম দিকে রয়েছে, এটিই রেফারেন্স পয়েন্ট এবং এখন আপনি জয়স্টিকটিতে যেতে পারেন গাড়ী সরান ।
জেড অক্ষে জোস্টস্টিক টিপে আপনি গাড়ীর এলইডি আলো নিয়ন্ত্রণ করতে পারবেন।
রিমোট জন্য প্রোগ্রাম:
//--------------Program Developed by R.Girish---------------//
#include
#include
#include
int X_axis = A0
int Y_axis = A1
int Z_axis = 2
int x = 0
int y = 0
int z = 0
RF24 radio(9,10)
const byte address[6] = '00001'
const char var1[32] = 'up'
const char var2[32] = 'down'
const char var3[32] = 'left'
const char var4[32] = 'right'
const char var5[32] = 'ON'
const char var6[32] = 'OFF'
boolean light = true
int thresholdUP = 460
int thresholdDOWN = 560
int thresholdLEFT = 460
int thresholdRIGHT = 560
void setup()
{
radio.begin()
Serial.begin(9600)
pinMode(X_axis, INPUT)
pinMode(Y_axis, INPUT)
pinMode(Z_axis, INPUT)
digitalWrite(Z_axis, HIGH)
radio.openWritingPipe(address)
radio.setChannel(100)
radio.setDataRate(RF24_250KBPS)
radio.setPALevel(RF24_PA_MAX)
radio.stopListening()
}
void loop()
{
x = analogRead(X_axis)
y = analogRead(Y_axis)
z = digitalRead(Z_axis)
if(y <= thresholdUP)
{
radio.write(&var1, sizeof(var1))
}
if(y >= thresholdDOWN)
{
radio.write(&var2, sizeof(var2))
}
if(x <= thresholdLEFT)
{
radio.write(&var3, sizeof(var3))
}
if(x >= thresholdRIGHT)
{
radio.write(&var4, sizeof(var4))
}
if(z == LOW)
{
if(light == true)
{
radio.write(&var5, sizeof(var5))
light = false
delay(200)
}
else
{
radio.write(&var6, sizeof(var6))
light = true
delay(200)
}
}
}
//--------------Program Developed by R.Girish---------------//
এটি রিমোটটি শেষ করে।
এখন রিসিভারটি একবার দেখুন।
রিসিভার সার্কিটটি বেস কারে স্থাপন করা হবে। যদি আপনার চলমান বেসটিতে আপনার প্রকল্প যুক্ত করার কোনও ধারণা থাকে তবে রিসিভার এবং আপনার প্রকল্প স্থাপনের জন্য জ্যামিতিটি সঠিকভাবে পরিকল্পনা করুন যাতে আপনার জায়গাটি বাইরে চলে না যায়।
রিসিভারটিতে আরডিনো, এল 298 এন ডুয়াল এইচ-ব্রিজ ডিসি মোটর ড্রাইভার মডিউল, সাদা এলইডি রয়েছে যা গাড়ির সামনের অংশে রাখা হবে, এনআরএফ 24 এল 0 মডিউল এবং 12 ভি, 1.3 এএইচ ব্যাটারি। মোটর বেস গাড়ি সঙ্গে আসতে পারে।
রিসিভারের জন্য স্কিম্যাটিক ডায়াগ্রাম:
দয়া করে নোট করুন যে তারযুক্তির বিভ্রান্তি এড়ানোর জন্য আরডুইনো বোর্ড এবং NRF24L01 এর মধ্যে সংযোগ উপরের চিত্রটিতে প্রদর্শিত হয়নি NOT দয়া করে রিমোটের স্কিম্যাটিক উল্লেখ করুন।
আরডুইনো বোর্ডটি এল ভি 298 এন মডিউল দ্বারা চালিত হবে যা এটি 5 ভি রেগুলেটরে তৈরি করেছে।
সাদা এলইডি হেড লাইট হিসাবে স্থাপন করা যেতে পারে বা আপনি এই পিনটি আপনার প্রয়োজন অনুসারে কাস্টমাইজ করতে পারেন, জোস্টস্টিক টিপে পিন # 7 টি উচ্চ হয়ে যায় এবং জোস্ট স্টিক টিপলে আবার পিনটি নীচে নামবে।
রিসিভার স্কিমেটিক ডায়াগ্রামে উল্লিখিত বাম এবং ডান পাশের মোটরগুলিতে দয়া করে মনোযোগ দিন।
প্রাপকের জন্য প্রোগ্রাম:
//------------------Program Developed by R.Girish---------------//
#include
#include
#include
RF24 radio(9,10)
const byte address[6] = '00001'
const char var1[32] = 'up'
const char var2[32] = 'down'
const char var3[32] = 'left'
const char var4[32] = 'right'
const char var5[32] = 'ON'
const char var6[32] = 'OFF'
char input[32] = ''
const int output1 = 2
const int output2 = 3
const int output3 = 4
const int output4 = 5
const int light = 7
void setup()
{
Serial.begin(9600)
radio.begin()
radio.openReadingPipe(0, address)
radio.setChannel(100)
radio.setDataRate(RF24_250KBPS)
radio.setPALevel(RF24_PA_MAX)
radio.startListening()
pinMode(output1, OUTPUT)
pinMode(output2, OUTPUT)
pinMode(output3, OUTPUT)
pinMode(output4, OUTPUT)
pinMode(light, OUTPUT)
digitalWrite(output1, LOW)
digitalWrite(output2, LOW)
digitalWrite(output3, LOW)
digitalWrite(output4, LOW)
digitalWrite(light, LOW)
}
void loop()
{
while(!radio.available())
{
digitalWrite(output1, LOW)
digitalWrite(output2, LOW)
digitalWrite(output3, LOW)
digitalWrite(output4, LOW)
}
radio.read(&input, sizeof(input))
if((strcmp(input,var1) == 0))
{
digitalWrite(output1, HIGH)
digitalWrite(output2, LOW)
digitalWrite(output3, HIGH)
digitalWrite(output4, LOW)
delay(10)
}
else if((strcmp(input,var2) == 0))
{
digitalWrite(output1, LOW)
digitalWrite(output2, HIGH)
digitalWrite(output3, LOW)
digitalWrite(output4, HIGH)
delay(10)
}
else if((strcmp(input,var3) == 0))
{
digitalWrite(output3, HIGH)
digitalWrite(output4, LOW)
delay(10)
}
else if((strcmp(input,var4) == 0))
{
digitalWrite(output1, HIGH)
digitalWrite(output2, LOW)
delay(10)
}
else if((strcmp(input,var5) == 0))
{
digitalWrite(light, HIGH)
}
else if((strcmp(input,var6) == 0))
{
digitalWrite(light, LOW)
}
}
//------------------Program Developed by R.Girish---------------//
এটি রিসিভার শেষ করে।
প্রকল্পটি শেষ করার পরে, গাড়ীটি যদি ভুল দিকে চলে যায় তবে কেবল মেরুকি মোটরটিকে বিপরীত করুন।
যদি আপনার বেস কারটি 4 টি মোটর হুইল ড্রাইভ হয় তবে বাম মোটরগুলিকে একই মেরুকরণের সাথে সমান্তরালে সংযুক্ত করুন, ডান পাশের মোটরগুলির জন্য একই করুন এবং L298N ড্রাইভারের সাথে সংযোগ করুন।
আরডুইনো ব্যবহার করে এই জৌস্টিকটি নিয়ন্ত্রিত ২.৪ গিগাহার্টজ আরসি গাড়ি সম্পর্কিত আপনার যদি কোনও প্রশ্ন থাকে তবে মন্তব্য বিভাগে নির্দ্বিধায় যোগাযোগ করুন, আপনি একটি দ্রুত উত্তর পেতে পারেন।
পূর্ববর্তী: L298N ডিসি মোটর ড্রাইভার মডিউল ব্যাখ্যা করা হয়েছে পরবর্তী: আরডুইনো ব্যবহার করে সাধারণ ডিজিটাল জল প্রবাহ মিটার সার্কিট