Bài tập Kết nối thành phần và mô phỏng arduino

9 22 0
  • Loading ...
1/9 trang

Thông tin tài liệu

Ngày đăng: 30/11/2016, 15:13

bài tập cơ bản arduino chi tiết nhất về xe đua tự động dò đường, tự học lắp ráp xe đua dò đường, bài tập arduino cơ bản, sơ đồ nguyên lý lắp xe đua dò đường, lắp xe đua cho người mới học cơ bản, bài tập cơ bản về xe đua Project Based Learning Bài tập: Kết nối thành phần Giới thiệu tổng quan: Tính yêu cầu: - Nhấn nút A cho phép toàn mạch hoạt động - Nhấn nút B ngưng toàn hoạt động mạch - Khi tín hiệu cảm biến siêu âm trả đạt yêu cầu cho trước (lớn cm: khoản cách mong muốn) hai động quay Nếu tín hiệu trả từ cảm biến siêu âm (nhỏ cm) hai động quay theo chiều ngược lại Các thành phần cần có: - Board Arduino UNO - Board Motor Shield cho Arduino - Hai nút nhấn - Hai đèn led - Một cảm biến siêu âm phỏng: 2.1 Giải thích sơ đồ (cho trước): thực tế sơ đồ xây dựng gần giống với thực tế ta cắm hai board Arduino Motor shield lại với nhau, với việc gắn thêm nút nhấn, led cảm biến siêu âm: Hiệu chỉnh ngõ CB siêu âm Cảm biến siêu âm Nguồn M3 Board Motor M3 A B Khối Motor Shield Dr Mai Thang Long – Introduction to Electronics Engineer – ĐHĐT12B – 11/2016 Project Based Learning Bài tập: Kết nối thành phần a Khi gắn hai board Arduino UNO Motor Shield lại với nhau: Đối với bạn sinh viên trình độ này, không yêu cầu phải HIỂU rõ việc kết nối Khi tiến hành cắm hai board lại với nhau, ta cần ý đến yếu tố sau: - Từ board Arduino ta lập trình điều khiển động thông qua board Motor shield nhờ thư viện có sẵn (hỗ trợ board Motor: AFMotor) - Ta sử dụng chân M3, M4 (2 cặp chân board Motor Shield) để nối tới hai động (bánh xe) - Các chân trống kết nối phục vụ cho board Arduino: - Chân 13: kết nối với nút nhấn A - Chân 11: kết nối với đèn L1: báo hiệu tín hiệu cho phép hoạt động - Chân 10: kết nối với chân trig cảm biến siêu âm (phát) - Chân 9: chân echo cảm biến siêu âm (thu) - Chân 3: kết nối với đèn L2: báo hiệu tín hiệu ngưng hoạt động - Chân 2: kết nối với nút nhấn B - Chân 1, 0: nối với thiết bị giao tiếp nối tiếp (COM): dùng để quan sát tín hiệu thu từ cảm biến siêu âm b Cảm biến siêu âm (mô phỏng) - Chân 5V: nối chung với nguồn 5V Board Arduino - Chân GND: nối chung mass mạch - Chân Trig: phát tín hiệu, nối với chân 10 board Arduino - Chân Echo: thu tín hiệu, nối với chân board Arduino c Nguồn (mô phỏng): Ta sử dụng nguồn pin để cung cấp cho đồng thời hai board Trong sơ đồ phỏng, bạn thấy có nguồn cung cấp cho Board Motor Tuy nhiên thực tế khác đôi chút, phần giới thiệu lúc lắp ráp hình thực d Biến trở nối với cảm biến siêu âm (RV1): ta chỉnh biến trở để thay đổi giá trị ngõ cảm biến siêu âm Dr Mai Thang Long – Introduction to Electronics Engineer – ĐHĐT12B – 11/2016 Project Based Learning Bài tập: Kết nối thành phần 2.2 Giải thuật chương trình: Với yêu cầu đặt ra, giải thuật gợi ý sau: Bắt đầu Khai báo, cài đặt chức Xử lý nút nhấn Xử lý cảm biến siêu âm Xử lý, điều khiển động a Khai báo, cài đặt chức năng: Gợi ý chương trình: Khai báo, cài #include đặt chức int b1 = 13;//nút nhấn A int b2 = 2;//nút nhấn B int l1 = 11;//đèn nhấn start Khai báo chân mạch: int l2 = 3;//đèn nhấn stop - Khai báo thư viên điều khiển int trig = 10;//chân phát cảm biến siêu âm Motor: AF Motor int echo = 9;//chân thu cảm biến siêu âm - Nút nhấn - Bóng đèn AF_DCMotor motor1(3, MOTOR12_1KHZ); - Cảm biến siêu âm AF_DCMotor motor2(4, MOTOR12_1KHZ); - Các biến tạm boolean t1,t2;//biến tạm cho trạng thái hai nút nhấn - Gán chức chân int dem1, dem2; biến tạm giữ trạng thái cho nút nhấn float tgian,khoancach;//thời gian khoản cách cảm biến siêu âm void setup() //cài đặt Kết thúc {Serial.begin(9600); // khai báo giao tiếp COM, dùng để quan sát hiệu chỉnh độ xác cảm biến siêu âm Dr Mai Thang Long – Introduction to Electronics Engineer – ĐHĐT12B – 11/2016 Project Based Learning Bài tập: Kết nối thành phần pinMode(b1,INPUT); pinMode(b2,INPUT); pinMode(l1,OUTPUT); pinMode(l2,OUTPUT); pinMode(trig,OUTPUT); pinMode(echo,INPUT); //giá trị ban đầu biến tạm dem1=0; dem2=0; tgian=0; khoancach=0; } b Xử lý nút nhấn Gợi ý chương trình: t1=digitalRead(b1);//trạng thái nút nhấn A if (t1==1) { delayMicroseconds(20); Xử lý nút nhấn t1=digitalRead(b1); // chờ khoản 20us, đọc lại trạng thái nút A, để chống rung phím nhấn if (t1==1) { Nút A nhấn? dem1=1;//biến tạm giữ trạng thái nút nhấn digitalWrite(l1,HIGH);//đèn A sáng Đúng digitalWrite(l2,LOW);//đèn B tắt Đèn L1(start) sáng } Đèn L2(stop) tắt } Dem1=1 t2=digitalRead(b2);// tương tự đoạn chương trình if (t2==1) { delayMicroseconds(20); Nút B nhấn? t2=digitalRead(b2); if (t2==1) Đúng { Đèn L1(start) tắt dem1=0; Đèn L2(stop) sáng Dem1=0 digitalWrite(l2,HIGH); digitalWrite(l1,LOW); } Kết thúc } Dr Mai Thang Long – Introduction to Electronics Engineer – ĐHĐT12B – 11/2016 Project Based Learning Bài tập: Kết nối thành phần c Xử lý cảm biến siêu âm: Xử lý cảm biến siêu âm Gợi ý chương trình: digitalWrite(trig, LOW); // delayMicroseconds(2); //tắt chân phát digitalWrite(trig, HIGH); Tính khoản cách đo từ cảm biến siêu âm delayMicroseconds(10); // xuất tín hiệu 10us digitalWrite(trig, LOW); //tắt để nhận tgian = pulseIn(echo, HIGH); // tgian nhận tín hiệu khoancach = 0.017 * tgian; // if (khoancach>25) Khoản cách > 25 cm { dem2=1; Sai Đúng Dem2=0 Dem2=1 } else { dem2=0; Kết thúc } Serial.println(khoancach); //xuất tín hiệu khoản cách cổng COM để quan sát d Xử lý điều khiển động cơ: Gợi ý chương trình: Xử lý điều khiển động if ((dem1==1)&&(dem2==1)) { chaythuan(); } if ((dem1==1)&&(dem2==0)) { chaynghich(); } Có nút nhấn K cách >25 Không có nút Đạt y cầu nhấn Quay thuận Ngưng K cách 25) { dem2=1; } else { dem2=0; } Serial.println(khoancach); } 2.3 Chạy nhận xét Ráp thử nghiệm với hình thực tế: trình bày lớp học Dr Mai Thang Long – Introduction to Electronics Engineer – ĐHĐT12B – 11/2016
- Xem thêm -

Xem thêm: Bài tập Kết nối thành phần và mô phỏng arduino, Bài tập Kết nối thành phần và mô phỏng arduino, Bài tập Kết nối thành phần và mô phỏng arduino

Gợi ý tài liệu liên quan cho bạn

Nạp tiền Tải lên
Đăng ký
Đăng nhập