Џојстиком контролисан 2.4 ГХз РЦ аутомобил помоћу Ардуина

Испробајте Наш Инструмент За Елиминисање Проблема





У овом посту ћемо конструисати аутомобилског робота којим се може управљати помоћу џојстика на 2,4 ГХз бежичној комуникационој вези. Предложени пројекат није направљен само као РЦ аутомобил, већ на аутомобил можете додати своје пројекте као што су надзорна камера итд.



Преглед

Пројекат је подељен на два дела даљинског управљача и пријемника.

Аутомобил или база, где постављамо све наше компоненте пријемника, могу бити погон на сва четири точка или погон на сва четири точка.



Ако желите већу стабилност основног аутомобила или ако желите возити аутомобил на неравној површини, као што је на отвореном, препоручују се постоља са 4 точка.

Такође можете да користите основни аутомобил са погоном на сва три точка који вам даје већу покретљивост током окретања, али може да обезбеди мање стабилности од погона на сва четири точка.

Аутомобил са 4 точка, али са 2 моторна погона је такође изводљив.

Даљински управљач може се напајати са 9В батеријом, а пријемник са 12В, 1,3 АХ заптивном оловном батеријом која има мањи траг од 12В, 7АХ батеријом и такође је идеалан за такве перипатетичке примене.

Комуникација од 2,4 ГХз између се успоставља помоћу модула НРФ24Л01 који може преносити сигнале преко 30 до 100 метара, у зависности од препрека између два модула НРФ24Л01.

Илустрација модула НРФ24Л01:

Ради на 3.3В и 5В може убити модул, па треба бити опрезан и ради на СПИ комуникацијском протоколу. Конфигурација пина је дата на горњој слици.

Даљински:

Даљински управљач се састоји од Ардуина (препоручује се Ардуино нано / про-мини), модула НРФ24Л01, џојстика и напајања из батерије. Покушајте да их спакујете у малу смеће, са којом ће бити лакше руковати.

Шематски дијаграм за даљински:

Пин-везе за модул НРФ24Л01 и џојстик су дате на дијаграму, ако имате нереда, погледајте дату табелу пин-веза.

Померањем џојстика напред (горе), уназад (надоле), десно и лево, аутомобил се креће у складу с тим.

даљински управљач за аутомобил

Имајте на уму да су сви жичани прикључци са леве стране, ово је референтна тачка и сада можете да померите џојстик на помери ауто .

Притиском на џојстик у З оси можете да контролишете ЛЕД светло на аутомобилу.

Програм за даљински управљач:

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

То закључује даљински управљач.

Погледајмо сада пријемник.

Коло пријемника биће постављено на основни аутомобил. Ако имате било какву идеју да додате свој пројекат на ову покретну базу, правилно планирајте геометрију за постављање пријемника и вашег пројекта, тако да вам не остане без простора.

Пријемник се састоји од Ардуино-а, двоструког Х-мост истосмерног управљачког модула Х-моста, беле ЛЕД диоде која ће бити постављена испред аутомобила, НРФ24Л01 модула и 12В, 1.3АХ батерије. Мотори могу бити са основним аутомобилом.

Шематски дијаграм за пријемник:

Имајте на уму да веза између плоче Ардуино и НРФ24Л01 НИЈЕ приказана на горњем дијаграму како би се избегла забуна у ожичењу. Погледајте шему даљинског управљача.

Ардуино плоча ће се напајати модулом Л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---------------//

То закључује пријемник.

По завршетку пројекта, ако се аутомобил креће у погрешном смеру, само обрните мотор поларитета.

Ако је ваш основни аутомобил погон на четири точка, повежите паралелно леви мотор са истим поларитетом, учините исто за моторе са десне стране и повежите се са возачем Л298Н.

Ако имате било каквих питања у вези са овим управљачким џојстиком контролисаним 2.4 ГХз РЦ аутомобилом који користи Ардуино, слободно изразите у одељку за коментаре, можда ћете добити брзи одговор.




Претходни: Објашњени модул возача једносмерне струје Л298Н Следеће: Једноставни дигитални круг мерача протока воде помоћу Ардуина