Mô tả Tìm hiểu cách lắp ráp và lập trình robot tránh chướng ngại vật tự động với Quarky. Thực hiện theo các bước để kết nối mô tơ servo và cảm biến siêu âm với Quarky và mã hóa robot để quét khu vực xung quanh nó.
|
Robot tránh chướng ngại vật là một robot tự động có thể được sử dụng để phát hiện chướng ngại vật và tránh chúng bằng cách rẽ theo các hướng khác nhau để tránh va chạm. Robot tránh chướng ngại vật Quarky có thể quét khu vực xung quanh nó và quyết định di chuyển theo và tránh chướng ngại vật.
Lắp ráp #
Hướng dẫn này này sẽ được sử dụng trong các hoạt động sắp tới của chúng ta. Các thành phần cần thiết sẽ hỗ trợ chúng ta tạo ra robot này như sau:
- Robot Quarky
- Cảm biến siêu âm (HC-SR04)
- Động cơ servo
- Linh Kiện Nhựa Màu Xanh – B7, B4, B2
- Tuốc nơ vít
Thực hiện theo các bước:
Chúng ta sẽ bắt đầu với robot nằm ngang thông thường:
- Bắt đầu bằng cách tháo Bánh xe đa hướng khỏi Robot bằng Tua vít.
- Bây giờ, siết chặt Tấm B4 và Bánh xe đa hướn bằng cùng một bu lông.
- Gắn Động cơ servo lên Tấm B4 .
Lưu ý: Đảm bảo rằng trục màu trắng của Động cơ servo hướng lên trên và thẳng hàng với dấu thập được đánh dấu trên Tấm B4 . - Sau đó, gắn Cảm biến siêu âm vào Tấm B2 .
- Đẩy Tấm B2 vào Tấm B4 như hình minh họa . Đảm bảo các bộ phận được căn chỉnh chính xác với nhau.
- Kết nối động cơ servo với Đầu nối servo Quarky. Có hai cổng servo trên Quarky. Luôn đảm bảo rằng dây màu nâu ở phía bên trái của bạn.
- Tạo đoạn mã sau trong PictoBlox để đặt Động cơ servo thành 90 độ:
- Chạy tập lệnh. Đầu servo phải được căn chỉnh chính xác.
- Bây giờ, đặt cụm lắp ráp phụ nêu trên vào Trục của Động cơ servo .
- Tùy chọn, bạn có thể đặt Giấy cắt hình con hổ lên Robot ở trên để khiến nó trở nên hấp dẫn!
Việc lắp ráp của chúng ta đã hoàn tất.
Kết nối cảm biến siêu âm #
Bây giờ chúng ta sẽ kết nối Cảm biến siêu âm với Robot. Cảm biến và robot có các chân sau:
- Chân cảm biến siêu âm:
- VCC
- GND
- Lượng giác
- Tiếng vọng
- Tại Quarky:
- GND
- V.
- D1
- D2
Chúng ta sẽ bắt đầu với việc kết nối cảm biến siêu âm với Quarky bằng bộ 4 dây được cung cấp trong bộ sản phẩm. Nhưng trước tiên, hãy thực hiện kết nối theo cách sau:
- Đầu tiên, kết nối VCC của cảm biến siêu âm với chân V trên Quarky.
- Kết nối GND của cảm biến siêu âm với chân nối đất (biểu tượng tiếp đất) trên Quarky.
- Kết nối Trig của cảm biến siêu âm với chân D1 trên Quarky.
- Cuối cùng, kết nối Echo của cảm biến siêu âm với chân D2 trên Quarky.
Nguyên lý của Robot tránh chướng ngại vật #
Hãy hiểu chính xác cách thức hoạt động của robot.
Quarky phát hiện chướng ngại vật trước, sau đó kiểm tra trái – phải, quay về hướng đó nếu khoảng cách lớn hơn 30 cm. Chúng ta hãy xem xét kỹ hơn cách nó hoạt động.
- Hãy tiến về phía trước nếu không có trở ngại.
- Nếu chướng ngại vật đến ở một khoảng cách xác định. Cảm biến siêu âm sẽ phát hiện chướng ngại vật và dừng lại.
- Tiếp theo, sử dụng động cơ servo robot sẽ quét môi trường. Nhưng trước tiên, nó sẽ chuyển servo về 45 và kiểm tra các chướng ngại vật trong khu vực trống.
- Nếu không có chướng ngại vật trong phạm vi 30 cm ở góc 45 độ. Quarky sẽ rẽ phải 45 độ.
- Nếu phát hiện chướng ngại vật ở phía bên phải ở góc 45 độ. Thay đổi góc thành 135 độ.
- Nếu không có vật cản trong phạm vi 30 cm ở góc 135 độ. Quarky sẽ rẽ trái 45 độ.
- Nếu phát hiện chướng ngại vật ở phía bên phải ở góc 135 độ. Thay đổi góc thành 0 độ.
- Nếu không có chướng ngại vật trong phạm vi 30 cm ở góc 0 độ. Quarky sẽ rẽ phải 90 độ.
- Nếu phát hiện chướng ngại vật ở phía bên phải ở góc 0 độ. Thay đổi góc thành 180 độ.
- Nếu không có vật cản trong phạm vi 30 cm ở góc 180 độ. Quarky sẽ rẽ trái 90 độ.
- Nếu phát hiện chướng ngại vật ở phía bên phải ở góc 180 độ thì làm ngược lại.
Sơ đồ #
Dưới đây là sơ đồ thể hiện nguyên lý của chúng ta. Chúng ta sẽ viết kịch bản cho robot ở chủ đề tiếp theo.
Các bước mã hóa #
Bây giờ là lúc lập trình cho Robot tránh chướng ngại vật của chúng ta! Thực hiện theo các bước dưới đây để tạo tập lệnh cho robot Tránh chướng ngại vật.
Khởi tạo Robot #
- Tạo hai biến có tên Max và Min từ bảng Biến: Variables.
- Kéo và thả khối when green flag clicked từ bảng Events .
- Sau đó, thêm khối set() to() . Đặt thành Min thành 5 .
- Nhân đôi khối này và đặt Max thành 30 . Vì vậy, chúng tôi đang khởi tạo khoảng cách tối đa và tối thiểu là 30 cm và 5 cm.
- Tạo một khối có tên – Initialize Robot. Đặt khối.
- Bây giờ, để khởi tạo các chân, hãy vào bảng Sensors và thêm connect Ultrasonic () to trig (), echo() bên dưới khối mũ Initialize Robot .
- Bước tiếp theo sẽ là đặt góc servo ban đầu là 90 độ, để thực hiện thao tác này, hãy kéo và thả góc set servo on() to () angle từ bảng Robot .
- Thêm giây wait () bên dưới – set servo on() to () angle
Phát hiện chướng ngại vật #
- Bây giờ, hãy vào bảng Control và thêm khối forever bên dưới khối Initialize Robot .
- Sau đó, đặt khối if () then từ bảng Control bên trong khối forever .
- Tiếp theo, đi tới bảng Operator và đặt khối ()<() bên trong khoảng trống của khối if () then .
- Kéo và thả khối get ultrasonic () distance từ bảng Sensors trong không gian đầu tiên của khối ()<() và biến Min trong không gian thứ hai. Khối này sẽ giúp so sánh giá trị cảm biến với khoảng cách tối thiểu.
Kiểm tra khu vực trống #
- Tiếp theo, tạo một khối tùy chỉnh khối có tên Set Servo Angle with Delay () với Angle làm tham số.
- Đặt khối Set Servo Angle with Delay () với góc là Angle .
- Sau đó, thêm độ trễ 0,5 giây bằng cách đưa ra wait () seconds.
- Hãy quay lại với kịch bản chính. Thêm stop robot từ bảng Robot . Thêm khối Set Servo Angle with Delay () với góc được đặt là 45 độ. Tình trạng này sẽ dừng robot và xoay góc servo tới 45 độ bất cứ khi nào có chướng ngại vật xuất hiện trong phạm vi khoảng cách tối thiểu.
- Bây giờ, chúng ta sẽ kiểm tra khoảng cách tối đa bằng cách thêm khối if() then else từ bảng Control .
- Tiếp theo, đi tới bảng operators và đặt khối ()>() bên trong khối if () then else .
- Kéo và thả khối khoảng cách lấy siêu âm: get ultrasonic () distance từ bảng Sensors trong khoảng trống đầu tiên của khối ()>() và biến Max trong ô thứ hai. Khối này sẽ giúp so sánh giá trị cảm biến với khoảng cách tối đa.
- Nếu điều kiện được thỏa mãn, robot sẽ rẽ phải. Điều này có thể được thực hiện bằng cách thêm go () at () % speed for () seconds trong câu lệnh if. Đặt tốc độ là 50% và thời gian là 0,6 giây.
- Sau đó, nhân đôi khối Set Servo Angle with Delay () và đặt nó vào nhánh khác. Thay đổi góc thành 135 độ và hướng robot sang trái .
- Tạo một khối tùy chỉnh có tên – Check Extreme . Khối này sẽ kiểm tra các điều kiện cho 0 và 180 độ. Thêm khối trong nhánh else.
- Tiếp theo, nếu robot của chúng ta không gặp chướng ngại vật nào thì nó sẽ tiếp tục tiến về phía trước. Vì vậy, để làm được điều đó, hãy đặt khối servo () to the () angle ở cuối nhánh if đầu tiên . Đặt góc là 90 độ .
- Cuối cùng, đặt khối go() at() speed() . Từ menu thả xuống, chọn hướng là tiến, tốc độ là 50% .
Kiểm tra các điều kiện khó khăn #
- Nhân đôi khối từ Set Servo Angle with Delay () với giá trị 135 và đặt nó bên dưới khối Check Extreme. Thay đổi góc thành 0 độ và hướng robot sang phải và thời gian thành 1,2 giây.
- Nhân đôi khối từ Set Servo Angle with Delay () và đặt nó vào nhánh khác. Thay đổi góc thành 180 độ và hướng robot sang trái.
- Trong nhánh khác, thêm go () at ()% speed for () seconds. Lần này đặt hướng là Right, tốc độ là 80% và thời gian là 1,5 giây. Điều này sẽ làm cho robot đi ngược lại.
Cuối cùng, robot của chúng tôi đã sẵn sàng để chạy!
Kiểm tra #
Chạy robot và kiểm tra xem nó có hoạt động tốt không.
Tải mã lên Quarky #
Chúng tôi cũng có thể tải mã lên Quarky để robot chạy độc lập với PictoBlox. Điều này chúng ta chỉ có thể làm trên Laptop. Thực hiện theo các bước:
- Chuyển sang Chế độ tải lên (upload).
- Thay thế khối when green flag clicked bằng khối when Quarky starts up.
- Tải lên Mã bằng nút Upload code để tải lên Mã.
Robot đã sẵn sáng hoạt động ! Bây giờ robot của bạn có thể hoạt động độc lập.
Kết luận #
Tóm lại , chúng ta đã lắp ráp và lập trình thành công Robot Quark và Tránh chướng ngại vật. Chúng ta đã học cách kết nối động cơ Servo và cảm biến siêu âm với Quarky . Chúng ta cũng lập trình cho robot quét khu vực xung quanh và thực hiện hành động thích hợp khi tìm thấy chướng ngại vật.
Bây giờ, chúng ta có thể sử dụng robot này trong nhiều ứng dụng khác nhau .