Mục lục:

Robot Car có Bluetooth, Camera và MIT App Inventor2: 12 bước (có hình ảnh)
Robot Car có Bluetooth, Camera và MIT App Inventor2: 12 bước (có hình ảnh)

Video: Robot Car có Bluetooth, Camera và MIT App Inventor2: 12 bước (có hình ảnh)

Video: Robot Car có Bluetooth, Camera và MIT App Inventor2: 12 bước (có hình ảnh)
Video: ✨✨✨35 Tạo phần mềm điều khiển bluetooth với MIT App Inventor - Khóa học Xe Robot Arduino 2024, Tháng mười một
Anonim
Image
Image
Các bộ phận và phần mềm
Các bộ phận và phần mềm

Bạn đã bao giờ muốn chế tạo một chiếc ô tô rô bốt của riêng mình? Vâng, đây là cơ hội của bạn!!

Trong tài liệu hướng dẫn này, tôi sẽ hướng dẫn bạn cách chế tạo Xe rô bốt được điều khiển qua Bluetooth và MIT App Inventor2. Hãy lưu ý rằng tôi là một người mới và đây là lần đầu tiên tôi không thể thay đổi được, vì vậy xin vui lòng nhẹ nhàng trong nhận xét của bạn.

Có rất nhiều tài liệu hướng dẫn nhưng trong tài liệu này, tôi đã cố gắng kết hợp nhiều tính năng như: phát trực tuyến máy ảnh, tránh chướng ngại vật, cảm biến phạm vi siêu âm, máy quét Larson (với Charlieplexing) và giám sát pin với một ứng dụng Android !!

Vì vậy, hãy bắt đầu và gặp Frankie (nó sử dụng ý tưởng từ nhiều nơi….hence Robo Frankenstein)

Bước 1: Các bộ phận và phần mềm

Các bộ phận và phần mềm
Các bộ phận và phần mềm
Các bộ phận và phần mềm
Các bộ phận và phần mềm

Ở đây, ở quê tôi, rất khó để có được tất cả các bộ phận, vì vậy tôi có thể lấy hầu hết chúng từ www.aliexpress.com

Tôi ước tính rằng dự án có thể được xây dựng với giá 25 - 30 USD mà không tính đến điện thoại di động cũ.

  • Khung xe: 3 bánh, 2 động cơ 6V (9 USD)
  • Arduino Nano (2 USD)
  • Bluetooth HC-05 (3 đến 4 USD)
  • Trình điều khiển động cơ L293D để dẫn động động cơ bánh xe (1,50 USD cho lô 5 chiếc)
  • Di động cũ có camera và Wi-Fi
  • Cảm biến siêu âm HC-SR04 để đo đối tượng ở gần (1 USD)
  • 6 đèn LED cho máy quét Larson
  • ATtiny85 dành cho máy quét Larson (1 USD)
  • Breadboard (1 USD)
  • Dây điện
  • Điện trở 100K Ohm (4)
  • Điện trở 1K Ohm (2)
  • Điện trở 2K Ohm (1)
  • Điện trở 270 Ohm (3)
  • Buzzer

Phần mềm:

  • Arduino IDE
  • IP Webcam (dành cho Android di động cũ)
  • MIT App Inventor2: Ứng dụng này rất tuyệt nhưng chỉ hoạt động với hệ điều hành Android (không có Điện thoại … xin lỗi!)

Bước 2: Quy trình thi công

Công trình đang thi công
Công trình đang thi công
Công trình đang thi công
Công trình đang thi công
Công trình đang thi công
Công trình đang thi công
Công trình đang thi công
Công trình đang thi công

Khung xe rất dễ lắp ráp; Nó có 2 động cơ 6V cung cấp năng lượng cho bánh sau và một bộ 4 pin.

Xe Robot được điều khiển qua Bluetooth và Wi-Fi. Bluetooth kiểm soát liên lạc nối tiếp giữa Car và MIT App inventor2 và Wi-Fi được sử dụng để giao tiếp với camera (điện thoại di động cũ) được lắp đặt phía trước ô tô.

Đối với dự án này, tôi đã sử dụng hai bộ pin: arduino được cung cấp bởi pin 9V và động cơ ô tô bằng 6V (bốn pin AA 1,5V).

Arduino Nano là bộ não của dự án này điều khiển ô tô, còi, cảm biến phạm vi siêu âm HC-SR04, Bluetooth HC-05, máy quét Larson (ATtiny85) và giám sát pin. Pin 9V đi đến Vin (chân 30) và chân 27 của Arduino cung cấp nguồn 5V được điều chỉnh cho bảng mạch. Cần buộc tất cả các cơ sở từ tất cả các IC và pin lại với nhau.

Đính kèm, sơ đồ mạch đã làm nó trong Excel (Xin lỗi…. Lần sau tôi sẽ thử Fritzing). Tôi đã kết nối mọi thứ bằng cách sử dụng breadboard và đầu nối dây đực với cái, của tôi trông giống như một ổ chuột.

Bước 3: Trình điều khiển động cơ L293D

Trình điều khiển động cơ L293D
Trình điều khiển động cơ L293D
Trình điều khiển động cơ L293D
Trình điều khiển động cơ L293D

L293D là trình điều khiển nửa H dòng cao gấp bốn lần được thiết kế để cung cấp dòng truyền động hai chiều lên đến 600 mA ở điện áp 4,5V đến 36V. Nó được sử dụng để dẫn động các bánh xe ô tô.

Nó được cung cấp bởi một bộ pin 6V (bốn 1,5V AA) cho động cơ và sử dụng 5V cho logic đến từ 5V được điều chỉnh (chân 27) trong Arduino Nano. Các kết nối được hiển thị trong sơ đồ đính kèm.

Không cần phải lắp nó vào tản nhiệt.

Bước 4: HC-05 Bluetooth

HC-05 Bluetooth
HC-05 Bluetooth

HC-05 Bluetooth được cung cấp bởi 5V (chân arduino 27), nhưng điều quan trọng cần hiểu là mức logic là 3,3V, tức là giao tiếp (Tx và Rx) với 3,3V. Đó là lý do tại sao Rx phải được cấu hình với tối đa 3,3V có thể đạt được với bộ chuyển đổi mức hoặc, như trong trường hợp này, với bộ chia điện áp bằng cách sử dụng điện trở 1K và 2K như đã thấy trong mạch.

Bước 5: Màn hình pin

Để theo dõi mức pin, tôi đã đặt bộ chia điện áp để đưa mức điện áp xuống dưới 5V (phạm vi tối đa của Arduino). Bộ chia điện áp làm giảm điện áp được đo trong phạm vi của các đầu vào tương tự Arduino.

Các đầu vào tương tự A4 và A6 được sử dụng và sử dụng điện trở cao (100K ohms) để không tiêu hao pin quá nhiều trong quá trình đo. Chúng ta cần thỏa hiệp, nếu điện trở quá thấp (10K ohms), hiệu ứng tải ít hơn, đọc điện áp chính xác hơn, nhưng vẽ nhiều dòng hơn; nếu chúng quá cao (1M ohms), hiệu ứng tải nhiều hơn, đọc điện áp kém chính xác hơn, nhưng bản vẽ dòng điện ít hơn.

Theo dõi pin được thực hiện sau mỗi 10 giây và hiển thị trực tiếp trong điện thoại di động điều khiển của bạn.

Tôi chắc chắn rằng có rất nhiều chỗ để cải thiện trong phần này vì tôi đang đọc từ hai chân analog và MUX bên trong đang hoán đổi giữa chúng. Tôi không tính trung bình nhiều phép đo và có lẽ đó là điều tôi nên làm.

Hãy để tôi giải thích công thức sau:

// Đọc điện áp từ chân analog A4 và thực hiện hiệu chuẩn cho Arduino:

điện áp1 = (analogRead (A4) * 5.0 / 1024.0) * 2.0; //8.0V

Bo mạch Arduino nano chứa bộ chuyển đổi tín hiệu tương tự sang kỹ thuật số 8 kênh, 10-bit. Hàm analogRead () trả về một số từ 0 đến 1023 tỷ lệ với lượng điện áp được đặt vào chân. Điều này mang lại độ phân giải giữa các lần đọc: 5 vôn / 1024 đơn vị hoặc, 0,0049 vôn (4,9 mV) trên mỗi đơn vị.

Bộ chia điện áp làm giảm một nửa điện áp và, để có được điện áp thực, cần phải nhân với 2 !!

QUAN TRỌNG: Tôi chắc rằng có một cách hiệu quả hơn để cấp nguồn cho arduino so với cách tôi đang làm !! Là một người mới, tôi đã học được một cách khó khăn. Pin Arduino Vin sử dụng bộ điều chỉnh điện áp tuyến tính có nghĩa là với pin 9V, bạn sẽ đốt cháy một phần lớn điện năng trong chính bộ điều chỉnh tuyến tính! Không tốt. Tôi đã làm theo cách này vì nó nhanh và chỉ vì tôi không biết tốt hơn… nhưng hãy chắc chắn rằng trong phiên bản Robo Frankie 2.0, tôi chắc chắn sẽ làm theo cách khác.

Tôi đang nghĩ (nói to) rằng Bộ nguồn một chiều DC Chuyển đổi Nguồn điện và pin sạc Li-ion có thể là cách tốt hơn. Đề xuất tử tế của bạn sẽ được chào đón nhiều hơn…

Bước 6: Cảm biến phạm vi siêu âm HC-SR04

Cảm biến phạm vi siêu âm HC-SR04
Cảm biến phạm vi siêu âm HC-SR04

HC-SR04 là một cảm biến phạm vi siêu âm. Cảm biến này cung cấp phép đo từ 2cm đến 400cm với độ chính xác lên đến 3mm. Trong dự án này, nó được sử dụng để tránh chướng ngại vật khi nó đạt đến độ cao 20cm hoặc nhỏ hơn và cũng để đo khoảng cách đến bất kỳ vật thể nào, được gửi trở lại điện thoại di động của bạn.

Có một nút trên màn hình điện thoại di động của bạn cần được nhấp để yêu cầu khoảng cách đến một đối tượng gần đó.

Bước 7: Máy quét Larson

Máy quét Larson
Máy quét Larson
Máy quét Larson
Máy quét Larson
Máy quét Larson
Máy quét Larson

Tôi muốn bao gồm một cái gì đó vui vẻ, vì vậy tôi đã bao gồm máy quét Larson giống như K. I. T. T. từ Knight Rider.

Đối với máy quét Larson, tôi đã sử dụng ATtiny85 với tính năng phản xạ ánh sáng. Charlieplexing là một kỹ thuật điều khiển một màn hình ghép trong đó tương đối ít chân I / O trên vi điều khiển được sử dụng để điều khiển một dãy đèn LED. Phương pháp này sử dụng khả năng logic ba trạng thái của bộ vi điều khiển để đạt được hiệu quả so với ghép kênh truyền thống.

Trong trường hợp này, tôi đang sử dụng 3 chân từ ATtiny85 để thắp sáng 6 đèn LED !!

Bạn có thể thắp sáng đèn LED "X" bằng N chân. Sử dụng công thức sau để tính số lượng đèn LED bạn có thể lái:

Đèn LED X = N (N-1) với N chân:

3 chân: 6 đèn LED;

4 chân: 12 đèn LED;

5 chân: 20 đèn LED… bạn có ý tưởng;-)

Dòng điện chạy từ cực dương (cực dương) sang cực âm (cực âm). Đầu mũi tên là cực âm.

Điều quan trọng cần lưu ý là chân 1 (trong mã Arduino IDE) đề cập đến chân vật lý 6 trong ATtiny85 (vui lòng tham khảo sơ đồ chân kèm theo).

Đính kèm vui lòng tìm mã cần được tải lên ATtiny85 điều khiển máy quét Larson. Tôi không mô tả cách tải mã lên ATtiny85 vì có rất nhiều hướng dẫn làm điều đó như thế này.

Bước 8: Mã

Mã số
Mã số

Tôi đang đính kèm mã cần được tải lên ATtiny85 để điều khiển máy quét Larson và mã cho Arduino nano.

Đối với Arduino nano, tôi đã sử dụng một phần mã từ các tài liệu hướng dẫn khác (tại đây) và thực hiện các thay đổi để phù hợp với nhu cầu của mình. Tôi đã bao gồm một sơ đồ (cũng bằng chữ để có hình ảnh rõ ràng hơn) về mã để hiểu rõ hơn về cách hoạt động của Switch - Case.

Quan trọng: Để tải mã CarBl Bluetooth lên Arduino nano, bạn cần ngắt kết nối Rx và Tx khỏi mô-đun Bluetooth HC-05!

Bước 9: Máy ảnh

Máy ảnh
Máy ảnh
Máy ảnh
Máy ảnh

Ứng dụng IP Webcam cần được tải xuống từ cửa hàng Play và cài đặt trong điện thoại di động cũ của bạn. Kiểm tra các tùy chọn video, điều chỉnh độ phân giải cho phù hợp và cuối cùng đi xuống lệnh cuối cùng “Khởi động máy chủ” để bắt đầu truyền. Đừng quên bật Wi-Fi trong điện thoại di động !!

Bước 10: MIT App Inventor2

MIT App Inventor2
MIT App Inventor2

MIT App inventor2 là công cụ dựa trên đám mây giúp xây dựng các ứng dụng trong trình duyệt web của bạn. Ứng dụng này (chỉ dành cho di động dựa trên Android) sau đó có thể được tải lên di động của bạn và điều khiển ô tô rô bốt của bạn.

Tôi đang đính kèm mã.apk và.aia để bạn có thể thấy những gì tôi đã làm và có thể sửa đổi nó theo ý muốn của bạn. Tôi đã sử dụng mã từ internet (Ứng dụng MIT) và thực hiện các sửa đổi của riêng mình. Mã này điều khiển chuyển động của xe rô-bốt, nhận tín hiệu từ cảm biến siêu âm, bật đèn và phát ra tiếng bíp còi. Nó cũng nhận tín hiệu từ pin cho chúng tôi biết mức điện áp.

Với mã này, chúng ta sẽ có thể nhận được hai tín hiệu khác nhau từ ô tô: 1) khoảng cách đến một đối tượng gần đó và 2) điện áp từ động cơ và pin của arduino.

Để xác định chuỗi nối tiếp nhận được, tôi đã bao gồm một cờ trong mã của Arduino chỉ định loại chuỗi được gửi. Nếu Arduino gửi khoảng cách đo được từ cảm biến siêu âm, thì nó sẽ gửi một ký tự “A” phía trước chuỗi. Bất cứ khi nào Arduino gửi mức Pin, nó sẽ gửi một cờ có ký hiệu “B”. Trong mã MIT App inventors2, tôi đã phân tích cú pháp chuỗi nối tiếp đến từ Arduino và kiểm tra các cờ này. Như tôi đã nói, tôi là người mới và tôi chắc chắn rằng có nhiều cách hiệu quả hơn để làm điều này và tôi hy vọng ai đó có thể khai sáng cho tôi theo cách tốt hơn.

Gửi Arduino_Bl Bluetooth_Car.apk đến điện thoại di động của bạn (qua email hoặc Google Drive) và cài đặt nó.

Bước 11: Kết nối điện thoại di động của bạn với ô tô RC của bạn

Kết nối điện thoại di động của bạn với ô tô RC của bạn
Kết nối điện thoại di động của bạn với ô tô RC của bạn
Kết nối điện thoại di động của bạn với ô tô RC của bạn
Kết nối điện thoại di động của bạn với ô tô RC của bạn

Trước hết, hãy bật wi-fi trong điện thoại di động cũ (cái trong robot RC).

Trong điện thoại di động của bộ điều khiển, hãy bật wi-fi, Bluetooth và mở Arduino_Bl Bluetooth_Car.apk mà bạn vừa cài đặt. Ở cuối màn hình (kéo xuống nếu bạn không nhìn thấy nó), bạn sẽ thấy hai nút: Thiết bị và KẾT NỐI. Nhấp vào Thiết bị và chọn Bluetooth từ Xe ô tô RC của bạn (phải là HC 05), sau đó nhấp vào KẾT NỐI và bạn sẽ thấy thông báo ĐÃ KẾT NỐI ở dưới cùng bên trái của màn hình. Lần đầu tiên, bạn sẽ được yêu cầu nhập mật khẩu (nhập 0000 hoặc 1234).

Có một hộp mà bạn cần nhập địa chỉ IP của ô cũ của mình (điện thoại di động trong RC Car của bạn), trong trường hợp của tôi là

Số IP này có thể được phát hiện trong Bộ định tuyến Wi-fi của bạn. Bạn cần vào cấu hình Bộ định tuyến của mình, chọn Danh sách thiết bị (hoặc một cái gì đó tương tự tùy thuộc vào thương hiệu Bộ định tuyến của bạn) và bạn sẽ có thể thấy thiết bị di động cũ của mình, nhấp vào nó và nhập số IP này vào ô này.

Sau đó chọn CAMERA và bạn sẽ bắt đầu xem camera truyền trực tuyến từ Xe RC của mình.

Bước 12: Bạn đã hoàn tất

Bạn xong việc rồi!
Bạn xong việc rồi!

Bạn xong việc rồi! Bắt đầu chơi với nó

Những thay đổi trong tương lai: Tôi sẽ thay pin 9V bằng pin Li-ion để sạc lại chúng và sử dụng bộ điều chỉnh điện áp nâng cấp một chiều DC-DC, tôi cũng muốn cải thiện màn hình pin bằng cách làm mịn (tính trung bình) các số đọc tương tự. Không có kế hoạch đưa A. I. nhưng …;-)

Tôi đã tham gia cuộc thi có hướng dẫn đầu tiên của mình… vì vậy hãy bình chọn;-)

Đề xuất: