Cần điều khiển ô tô RC 2,4 GHz được điều khiển bằng Arduino

Hãy Thử Công Cụ CủA Chúng Tôi Để LoạI Bỏ Các VấN Đề





Trong bài đăng này, chúng ta sẽ chế tạo một robot xe hơi có thể được điều khiển bằng cần điều khiển trên liên kết giao tiếp không dây 2,4 GHz. Dự án được đề xuất không chỉ được thực hiện như một chiếc xe RC mà bạn có thể thêm các dự án của mình như camera giám sát, v.v. trên xe.



Tổng quat

Dự án được chia thành hai phần điều khiển từ xa và người nhận.

Xe hơi hoặc cơ sở, nơi chúng tôi đặt tất cả các bộ phận thu của chúng tôi có thể là ổ đĩa ba hoặc bốn bánh.



Nếu bạn muốn có sự ổn định hơn cho xe cơ sở hoặc nếu bạn muốn lái xe ở những bề mặt không bằng phẳng như ngoài trời thì nên sử dụng đế xe có 4 bánh.

Bạn cũng có thể sử dụng xe cơ sở dẫn động 3 bánh giúp bạn có khả năng di chuyển cao hơn trong khi rẽ, nhưng nó có thể kém ổn định hơn so với xe 4 bánh.

Một chiếc xe có 4 bánh nhưng, 2 động cơ dẫn động cũng khả thi.

Điều khiển từ xa có thể được cấp nguồn bằng pin 9V và bộ thu có thể được cấp nguồn bằng pin axit chì kín 12V, 1,3 AH, có kích thước nhỏ hơn so với pin 12V, 7AH và cũng lý tưởng cho các ứng dụng chu vi như vậy.

Giao tiếp 2,4 GHz giữa được thiết lập bằng cách sử dụng mô-đun NRF24L01 có thể truyền tín hiệu trên 30 đến 100 mét tùy thuộc vào các chướng ngại vật ở giữa hai mô-đun NRF24L01.

Hình minh họa mô-đun NRF24L01:

Nó hoạt động trên 3.3V và 5V có thể giết chết mô-đun, vì vậy cần phải cẩn thận và nó hoạt động trên giao thức truyền thông SPI. Cấu hình pin được cung cấp trong hình trên.

Điều khiển từ xa:

Điều khiển từ xa bao gồm Arduino (khuyến nghị dùng Arduino nano / pro-mini), mô-đun NRF24L01, cần điều khiển và bộ nguồn pin. Cố gắng gói chúng trong một chiếc hộp nhỏ, sẽ dễ xử lý hơn.

Sơ đồ cho điều khiển từ xa:

Các kết nối chân cho mô-đun NRF24L01 và cần điều khiển được cung cấp trong sơ đồ, nếu bạn cảm thấy có bất kỳ sai sót nào, vui lòng tham khảo bảng kết nối chân đã cho.

Bằng cách di chuyển cần điều khiển tiến (UP), lùi (Down), sang phải và trái (left), xe sẽ di chuyển theo.

cần điều khiển ô tô từ xa

Xin lưu ý rằng tất cả các kết nối dây đều ở phía bên trái, đây là điểm tham chiếu và bây giờ bạn có thể di chuyển cần điều khiển sang di chuyển xe .

Bằng cách nhấn phím điều khiển ở trục Z, bạn có thể điều khiển đèn LED trên xe.

Chương trình cho điều khiển từ xa:

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

Điều đó kết luận từ xa.

Bây giờ chúng ta hãy xem xét bộ thu.

Mạch thu sẽ được đặt trên xe cơ sở. Nếu bạn có bất kỳ ý tưởng nào để thêm dự án của mình trên cơ sở di chuyển này, hãy lập kế hoạch hình học hợp lý để đặt bộ thu và dự án của bạn sao cho bạn không bị hết chỗ.

Bộ thu bao gồm Arduino, mô-đun điều khiển động cơ DC cầu H kép L298N, đèn LED màu trắng sẽ được đặt ở phía trước xe hơi, mô-đun NRF24L01 và pin 12V, 1.3AH. Động cơ có thể đi kèm với xe cơ sở.

Sơ đồ cho máy thu:

Xin lưu ý rằng kết nối giữa bảng Arduino và NRF24L01 KHÔNG được hiển thị trong sơ đồ trên để tránh nhầm lẫn dây. Vui lòng tham khảo sơ đồ của điều khiển từ xa.

Bo mạch Arduino sẽ được cấp nguồn bởi mô-đun L298N mà nó đã tích hợp sẵn bộ điều chỉnh 5V.

Đèn LED màu trắng có thể được đặt làm đèn chiếu sáng hoặc bạn có thể tùy chỉnh chân cắm này theo nhu cầu của mình, bằng cách nhấn phím điều khiển, chân số 7 chuyển sang mức cao và nhấn lại phím điều khiển sẽ chuyển pin xuống thấp.

Hãy chú ý đến động cơ bên trái và bên phải được chỉ định trong sơ đồ máy thu.

Chương trình cho Người nhận:

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

Điều đó kết luận người nhận.

Sau khi hoàn thành dự án, nếu ô tô di chuyển sai hướng chỉ cần đảo ngược cực của động cơ.

Nếu ô tô cơ sở của bạn là loại dẫn động 4 bánh, hãy kết nối các động cơ bên trái song song với cùng cực, thực hiện tương tự đối với động cơ bên phải và kết nối với trình điều khiển L298N.

Nếu bạn có bất kỳ câu hỏi nào liên quan đến ô tô RC 2,4 GHz được điều khiển bằng phím điều khiển này bằng Arduino, vui lòng bày tỏ trong phần bình luận, bạn có thể nhận được câu trả lời nhanh chóng.




Trước: Giải thích mô-đun điều khiển động cơ DC L298N Tiếp theo: Mạch đồng hồ đo lưu lượng nước kỹ thuật số đơn giản sử dụng Arduino