Tự làm xe điều khiển từ xa bằng remote tv
I. Giới Thiệu
Đây là bài viết đầu tiên của bản thân nên bao gồm sai sót gì ao ước mọi bạn đóng góp
. Vào vấn đề thôi ! hiện nay, trên xã hội của tôi đã có bài viết hướng dẫn làm xe điều khiển với cách tinh chỉnh và điều khiển là sử dụng sóng nrf hoặc sóng bluetooth. Hôm trước mình đọc bình luận của một bạn, chúng ta ấy nói rằng chúng ta chỉ có 1 con alkasirportal.com với cũng không có sờ-mát-phôn(Mình cũng như vậy :D), buộc phải không thể sử dụng 2 cách điều khiển trên. Vị vậy hôm nay mình xin viết bài viết hướng dẫn làm xe tinh chỉnh bằng remote TV (Nói đúng đắn hơn là bởi tín hiệu hồng ngoại) nhằm giúp cho các bạn có số trời như mình và các bạn ấy .Bạn đang xem: Tự làm xe điều khiển từ xa bằng remote tv
II. Có tác dụng Thôi
1. Chuẩn chỉnh Bị
Nguyên liệu có tác dụng xe: khung xe mica, 2 motor hộp số tất cả bánh xe, bánh xe đa hướng, vài nhỏ ốc nữa là xong. (Bạn có thể sử dụng 4 motor cũng được, mình cần sử dụng 2 dòng cho tiết kiệm ngân sách và chi phí :D). Các bạn có thể tham khảo các bài viết:
2. Ráp Phần Cứng
Trước tiên ngắm mạch nguyên lí nha (Máy download fritzing bị lỗi buộc phải dùng tạm phần mềm Paint :D):
"Mình chụp bằng con nokia cùi nên hình ảnh không được đường nét lắm"
Ráp bánh vào vỏ hộp số.
Gắn bánh vào size xe
Thêm loại bánh nhiều hướng vào
Cho vua lên kiệu
Bà hậu phi cũng đu theo :D
Cậu hoàng tử của ta đây mà
"Mình sài nhỏ 1838 nha".
Cho lên kiệu luôn
Nối 2 motor với L298, nếu thực hiện 4 motor thì nối tuy vậy song 2 motor của 1 luồng lại nha.
Nối 4 chân In1, In2, In3, In4 cùng với alkasirportal.com. (Mình nối in1 - D6, in2 - D7, in3 - D8, in4 - D9)
Nối bé mắt thu mặt trời với alkasirportal.com, (Mình nối chân OUT với D12). Các bạn lưu ý, các mắt thu hồng ngoại khác nhau có thể có sơ vật dụng chân không giống nhau, nên để chắc chắn rằng thì phải xem datasheet của nó.
Xem thêm: Những Câu Nói Hay Về Chạy Bộ Đầy Cảm Hứng Để Tạo Động Lực Và Khuyến Khích Bạn
Đây là sơ đồ chân của nhỏ 1838
Lắp nguồn mang đến L298.
Mình nối chân 12V vào cực dương nguồn công suất, chân GND vào rất âm nguồn hiệu suất và cực âm alkasirportal.com. Nếu áp dụng nguồn chung cho tất cả alkasirportal.com và L298 thì nối chân 5V vào chân Vin alkasirportal.com(Mình sài 2 mối cung cấp riêng yêu cầu bỏ trống).
Cấp nguồn đến alkasirportal.com, mình sài pin 9V.
+ 9V - Vin
- 9V - GND
Thêm mẫu remote tv nữa là ngừng phần cứng.
3. Lập trình
Trước tiên các bạn cần tra mã của mẫu nút mà các bạn sẽ bấm bên trên remote tv, rồi từ đó thế chiếc mã ấy vào mã nút vào code lập trình sẵn của mình. Ko kể ra, còn cả bí quyết cài tủ sách IRremote cho alkasirportal.com nữa. Biện pháp tra mã nút và cách cài thư viện bạn có thể tham khảo tại bài xích viết:
Infrare remote control ( Điều khiển bởi hồng ngoại) với alkasirportal.com
Một bài viết của anh NTP_PRO
Ok, sau khi tra mã nút và download thư viện ta bước đầ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 phai 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à họ đã xong được dòng xe rồi. Mình mong muốn rằng các các bạn sẽ hài lòng lúc xem nội dung bài viết này. Còn hiện nay thì thuộc hướng kết quả này nào. Chúc các bạn thành công.