Tự làm xe điều khiển từ xa

-

I. Giới Thiệu

Đây là bài viết đầu tiên của bản thân bắt buộc bao gồm không đúng sót gì hy vọng phần đông tín đồ đóng góp

*
. Vào vấn đề thôi ! Hiện giờ, bên trên cộng đồng của bản thân mình đang tất cả bài viết trả lời làm xe cộ tinh chỉnh cùng với biện pháp điều khiển là dùng sóng nrf hoặc sóng bluetooth. Hôm trước mình phát âm phản hồi của một bạn, chúng ta ấy bảo rằng chúng ta chỉ có một nhỏ hydroxyzinex.com cùng cũng không có sờ-mát-phôn(Mình cũng như vậy :D), cần bắt buộc áp dụng 2 cách tinh chỉnh và điều khiển bên trên. Vì vậy hôm nay mình xin viết bài viết lí giải làm xe cộ điều khiển và tinh chỉnh bởi remote TV (Nói đúng mực hơn là bằng biểu đạt hồng ngoại) nhằm mục tiêu hỗ trợ cho các bạn có định mệnh như mình với các bạn ấy 
*
.

Bạn đang xem: Tự làm xe điều khiển từ xa

II. Làm Thôi

​1. Chuẩn Bị


Các nguyên liệu cần có làm xe: Khung xe pháo mica, 2 motor vỏ hộp số tất cả bánh xe, bánh xe cộ nhiều hướng, vài bé ốc nữa là chấm dứt. (Bạn hoàn toàn có thể sử dụng 4 motor cũng được, mình dùng 2 cái cho tiết kiệm ngân sách và chi phí :D). Các bạn có thể tìm hiểu thêm các bài bác viết:

2. Ráp Phần Cứng

Thứ nhất nhìn mạch nguyên lí nha (Máy download fritzing bị lỗi bắt buộc cần sử dụng tạm thời phần mềm Paint :D):


"Mình chụp bằng bé Nokia cùi phải hình ảnh không được nét lắm"

Ráp bánh vào vỏ hộp số.

Gắn bánh vào khung xe

Thêm loại bánh nhiều hướng vào

 

Cho ông hoàng lên kiệu

Bà bà xã cũng đu theo :D

Cậu hoàng tử của ta đây mà

"Mình dùng con 1838 nha".

Cho lên kiệu luôn

Nối 2 motor cùng với L298, giả dụ sử dụng 4 motor thì nối tuy nhiên tuy vậy 2 motor của 1 luồng lại nha.

Nối chân + Motor trái vào OUT1, chân - vào OUT2. Nối chân + Motor buộc phải vào OUT4, chân - vào OUT3.

Nối 4 chân In1, In2, In3, In4 cùng với hydroxyzinex.com. (Mình nối in1 - D6, in2 - D7, in3 - D8, in4 - D9)

Nối bé mắt thu mặt trời cùng với hydroxyzinex.com, (Mình nối chân OUT cùng với D12). Các chúng ta xem xét, các đôi mắt thu mặt trời khác nhau có thể tất cả sơ đồ vật chân khác nhau, nên để chắc chắn là thì cần coi datasheet của nó.

Xem thêm: 9 Ống Kính Lens Đa Dụng Cho Canon, Nikon, Sony, 10 Ống Kính Máy Ảnh Dslr Canon Crop

Đây là sơ đồ gia dụng chân của bé 1838

Lắp mối cung cấp đến L298.

Mình nối chân 12V vào rất dương mối cung cấp công suất, chân GND vào rất âm mối cung cấp hiệu suất với rất âm hydroxyzinex.com. Nếu sử dụng nguồn chung cho cả hydroxyzinex.com và L298 thì nối chân 5V vào chân Vin hydroxyzinex.com(Mình sài 2 nguồn riêng đề nghị vứt trống).

Cấp mối cung cấp mang đến hydroxyzinex.com, mình dùng pin 9V.

+ 9V - Vin

- 9V - GND

Thêm loại remote tv nữa là kết thúc phần cứng.

3. Lập trình


Trước tiên các bạn đề xuất tra mã của cái nút mà các bạn sẽ bnóng trên remote tv, rồi từ kia nắm loại mã ấy vào mã nút ít trong code lập trình sẵn của chính mình. Bên cạnh đó, còn cả giải pháp tải thỏng viện IRremote cho hydroxyzinex.com nữa. Cách tra mã nút ít và phương pháp download thỏng viện chúng ta có thể tìm hiểu thêm tại bài xích viết: 

Infrare remote control ( Điều khiển bởi hồng ngoại) Với hydroxyzinex.com

Một nội dung bài viết của anh ý NTP_PRO

Ok, sau khoản thời gian tra mã nút cùng tải tlỗi viện ta ban đầu lập trình:

 

#define ir 12#define inA1 6#define inA2 7#define inB1 8#define inB2 9#include IRrecv irrecv(ir);decode_results results;void setup() irrecv.enableIRIn(); pinMode(inA1,OUTPUT); pinMode(inA2,OUTPUT); pinMode(inB1,OUTPUT); pinMode(inB2,OUTPUT);void translateIR() switch(results.value) case 0xC03E: robotMove(1); break; case 0xC05E: robotMove(0); break; case 0xC0DE: robotMove(2); break; case 0xC05A: robotMove(3); break; case 0xC0DA: robotMove(4); break; case 0xC01E: robotMove(6); break; case 0xC038: robotMove(5); break; void robotMove(int chedo) switch(chedo) case 0: //Dung motorMove(inA1,inA2,0); motorMove(inB1,inB2,0); break; case 1: //Di thang motorMove(inA1,inA2,1); motorMove(inB1,inB2,1); break; case 2: //Lui motorMove(inA1,inA2,2); motorMove(inB1,inB2,2); break; case 3: //Re phai motorMove(inA1,inA2,0); motorMove(inB1,inB2,1); break; case 4: //Re trai motorMove(inA1,inA2,1); motorMove(inB1,inB2,0); break; case 5: //Xoay pnhị motorMove(inA1,inA2,2); motorMove(inB1,inB2,1); break; case 6: //Xoay trai motorMove(inA1,inA2,1); motorMove(inB1,inB2,2); break; void motorMove(int in1,int in2, byte action) switch(action) case 0: //Dung digitalWrite(in1,0); digitalWrite(in2,0); break; case 1: //Chieu thu 1 digitalWrite(in1,1); digitalWrite(in2,0); break; case 2: //Chieu thu 2 digitalWrite(in1,0); digitalWrite(in2,1); break; void loop() if (irrecv.decode(&results)) translateIR(); delay(200); irrecv.resume();  

III. Kết luận


Như vậy là chúng ta đang xong được dòng xe rồi. Mình hi vọng rằng những các bạn sẽ ưa thích khi chứng kiến tận mắt bài viết này. Còn bây chừ thì cùng hướng kết quả đó nào. Chúc chúng ta thành công.