ג'ויסטיק נשלט על מכונית RC 2.4 GHz באמצעות ארדואינו

נסה את הכלי שלנו לביטול בעיות





בפוסט זה אנו הולכים לבנות רובוט לרכב אשר ניתן לשלוט בו באמצעות ג'ויסטיק בקישור תקשורת אלחוטי 2.4 GHz. הפרויקט המוצע לא מיוצר רק כמכונית RC, אלא שאתה יכול להוסיף פרויקטים כמו מצלמת מעקב וכו 'על המכונית.



סקירה כללית

הפרויקט מחולק לשני חלקים לשלט ולמקלט.

המכונית או הבסיס, שם אנו ממקמים את כל רכיבי המקלט שלנו יכולים להיות עם הנעה לשלושה גלגלים או ארבעה גלגלים.



אם אתה רוצה יציבות רבה יותר למכונית הבסיס או אם אתה רוצה לנהוג ברכב במשטח לא אחיד כמו בחוץ, מומלץ להשתמש בבסיס רכב עם 4 גלגלים.

אתה יכול גם להשתמש ברכב בסיס בעל הנעה עם 3 גלגלים המעניקים לך ניידות רבה יותר בעת פנייה, אך הוא עשוי לספק פחות יציבות מאשר הנעה עם 4 גלגלים.

מכונית עם 4 גלגלים אך, גם 2 כונן מנועי אפשרי.

השלט עשוי להיות מופעל באמצעות סוללת 9 וולט והמקלט עשוי להיות מופעל באמצעות סוללת חומצה עופרת אטומה בגודל 12 וולט, 1.3 AH, שטביעת רגל קטנה יותר מסוללת 12 וולט, 7AH וגם אידיאלית ליישומים פריפאטטיים כאלה.

תקשורת 2.4 GHz בין נוצרת באמצעות מודול NRF24L01 שיכול להעביר אותות מעל 30 עד 100 מטר, תלוי במכשולים בין שני מודולים NRF24L01.

איור של מודול NRF24L01:

זה עובד על 3.3V ו- 5V יכולים להרוג את המודול ולכן יש לנקוט בזהירות וזה עובד על פרוטוקול תקשורת SPI. תצורת הסיכה מסופקת בתמונה לעיל.

השלט הרחוק:

השלט מורכב מארדואינו (מומלץ Arduino ננו / פרו-מיני), מודול NRF24L01, ג'ויסטיק וספק סוללה. נסו לארוז אותם בארגז זבל קטן, שיהיה קל יותר לטפל בו.

תרשים סכמטי לשלט רחוק:

חיבורי הסיכות עבור מודול NRF24L01 וג'ויסטיק מסופקים בתרשים, אם אתה מרגיש בלאגן כלשהו, ​​עיין בטבלת חיבור הסיכות הנתונה.

על ידי הזזת הג'ויסטיק קדימה (UP), לאחור (Down), ימינה ושמאלה, המכונית נעה בהתאם.

ג

שימו לב שכל חיבורי החוטים נמצאים בצד שמאל, זו נקודת הייחוס ועכשיו תוכלו להזיז את הג'ויסטיק ל להזיז את המכונית .

על ידי לחיצה על הג'ויסטיק בציר 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, מודול נהג מנוע DC כפול L-288N, LED לבן שיוצב בקדמת המכונית, מודול NRF24L01 וסוללת 12V, 1.3AH. המנועים עשויים להגיע עם מכונית בסיס.

תרשים סכמטי למקלט:

שים לב שהחיבור בין לוח Arduino ל- NRF24L01 לא מוצג בתרשים שלמעלה כדי למנוע בלבול חיווט. אנא עיין בסכמה של השלט הרחוק.

לוח הארדואינו יופעל על ידי מודול L298N שבנה את הרגולטור 5V.

הנורית הלבנה עשויה להיות ממוקמת כאור ראש או שתוכל להתאים אישית את הסיכה לצרכיך, על ידי לחיצה על הג'ויסטיק, הסיכה מס '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.

אם יש לך שאלה כלשהי בנוגע למכונית RC 2.4 ג'יגה שליטה זו באמצעות ארדואינו, אל תהסס להביע בסעיף ההערה, ייתכן שתקבל תשובה מהירה.




קודם: הסבר על מודול מנהל התקן מנוע DC L298N הבא: מעגל מד זרימת מים דיגיטלי פשוט באמצעות ארדואינו