عصا التحكم للسيارة 2.4 جيجا هرتز RC باستخدام اردوينو

جرب أداة القضاء على المشاكل





في هذا المنشور ، سنقوم ببناء روبوت للسيارة يمكن التحكم فيه باستخدام عصا التحكم على رابط اتصال لاسلكي 2.4 جيجا هرتز. لم يتم إنشاء المشروع المقترح كسيارة RC فقط ، ولكن يمكنك إضافة مشاريعك مثل كاميرا المراقبة وما إلى ذلك على السيارة.



ملخص

المشروع مقسم إلى قسمين الريموت و الريسيفر.

يمكن أن تكون السيارة أو القاعدة ، حيث نضع جميع مكونات جهاز الاستقبال لدينا ، عبارة عن دفع ثلاثي أو دفع رباعي.



إذا كنت تريد مزيدًا من الثبات للسيارة الأساسية أو إذا كنت ترغب في قيادة السيارة على سطح غير مستو مثل الخارج ، فمن المستحسن قاعدة السيارة ذات الأربع عجلات.

يمكنك أيضًا استخدام السيارة الأساسية ذات الدفع الرباعي والتي تمنحك قدرًا أكبر من الحركة أثناء الدوران ولكنها قد توفر ثباتًا أقل من الدفع الرباعي.

سيارة ذات 4 عجلات ولكن ، محرك 2 ممكن أيضًا.

قد يتم تشغيل جهاز التحكم عن بعد ببطارية 9 فولت وقد يتم تشغيل جهاز الاستقبال ببطارية حمض الرصاص المختومة بجهد 12 فولت و 1.3 أمبير في الساعة ، والتي تتميز بصمة أصغر من بطارية 12 فولت و 7 أمبير ، كما أنها مثالية لمثل هذه التطبيقات المتنقلة.

يتم إنشاء الاتصال بين 2.4 جيجا هرتز باستخدام وحدة NRF24L01 التي يمكنها إرسال إشارات تزيد عن 30 إلى 100 متر اعتمادًا على العوائق الموجودة بين وحدتي NRF24L01.

رسم توضيحي لوحدة NRF24L01:

يعمل على 3.3 فولت و 5 فولت يمكن أن يقتل الوحدة ، لذا يجب توخي الحذر ويعمل على بروتوكول اتصال SPI. يتم توفير تكوين الدبوس في الصورة أعلاه.

جهاز التحكم عن بعد:

يتكون جهاز التحكم عن بعد من Arduino (يوصى باستخدام Arduino nano / pro-mini) ووحدة NRF24L01 وعصا التحكم ومصدر طاقة البطارية. حاول أن تضعها في صندوق خردة صغير يسهل التعامل معه.

رسم تخطيطي لجهاز التحكم عن بعد:

يتم توفير وصلات المسامير لوحدة NRF24L01 وعصا التحكم في الرسم التخطيطي ، إذا شعرت بأي تشوش ، يرجى الرجوع إلى جدول توصيل الدبوس المحدد.

بتحريك عصا التحكم للأمام (لأعلى) وللخلف (لأسفل) ولليمين ولليسار ، تتحرك السيارة وفقًا لذلك.

عصا التحكم في السيارة عن بعد

يرجى ملاحظة أن جميع وصلات الأسلاك موجودة في الجانب الأيسر ، وهذه هي النقطة المرجعية ويمكنك الآن تحريك عصا التحكم إليها حرك السيارة .

بالضغط على عصا التحكم في المحور Z ، يمكنك التحكم في ضوء LED في السيارة.

برنامج جهاز التحكم عن بعد:

//--------------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---------------//

هذا يختتم جهاز التحكم عن بعد.

الآن دعونا نلقي نظرة على المتلقي.

سيتم وضع دائرة الاستقبال على السيارة الأساسية. إذا كانت لديك أي فكرة لإضافة مشروعك على هذه القاعدة المتحركة ، فخطط للهندسة بشكل صحيح لوضع جهاز الاستقبال ومشروعك بحيث لا تنفد المساحة لديك.

يتكون جهاز الاستقبال من Arduino و L298N ثنائي الجسر H DC وحدة تشغيل المحرك ، LED أبيض الذي سيتم وضعه أمام السيارة ، وحدة NRF24L01 ، وبطارية 12V ، 1.3AH. قد تأتي المحركات مع السيارة الأساسية.

رسم تخطيطي لجهاز الاستقبال:

يرجى ملاحظة أن الاتصال بين لوحة Arduino و NRF24L01 غير موضح في الرسم البياني أعلاه لتجنب حدوث ارتباك في الأسلاك. يرجى الرجوع إلى التخطيطي عن بعد.

سيتم تشغيل لوحة Arduino بواسطة وحدة L298N التي تم إنشاؤها في منظم 5V.

قد يتم وضع مؤشر LED الأبيض كمصباح أمامي أو يمكنك تخصيص هذا الدبوس حسب احتياجاتك ، بالضغط على عصا التحكم ، يتحول الدبوس رقم 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.

إذا كان لديك أي سؤال بخصوص هذه السيارة التي يتم التحكم فيها عن طريق عصا التحكم بسرعة 2.4 جيجا هرتز باستخدام Arduino ، فلا تتردد في التعبير في قسم التعليقات ، فقد تتلقى ردًا سريعًا.




زوج من: شرح وحدة تشغيل محرك L298N DC التالي: دارة مقياس تدفق المياه الرقمية البسيطة باستخدام Arduino