1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

Đo khoảng cách dùng SRF-05

21 735 5

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 21
Dung lượng 1 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Đo khoảng cách dùng SRF-05

Trang 1

TPHCM, Ngày 07 Tháng 10 Năm 2015

Chữ kí của giáo viên hướng dẫn

GVHD: Nguyễn Kim Suyên

Trang 2

LỜI CẢM ƠN

ời đầu tiên nhóm xin chân thành cảm thầy Nguyễn Kim Suyên người trực tiếp hướng dẫn và chỉ bảo hết sức tận tình cho nhóm hoàn thành đề tài “Mạch đo khoảng cách dùng cảm biến siêu âm” Nhóm cũng xin gởi lời cảm ơn tới tất cả các bạn

bè trong lớp đã cùng hỗ trợ nhóm hoàn thành đề tài này

Vì thời gian có hạn cùng với kiến thức hạn chế nên sản phẩm của nhóm sẽ không tránh khỏi sai sót

Với mong muốn học hỏi, nhóm rất mong nhận được sự góp ý của các thầy cô giáo chỉ bảo, hướng dẫn thêm để rút kinh nghiệm lần sau

hóm xin chân thành cảm ơn

L

Trang 3

LỜI NÓI ĐẦU

Ngày nay khoa học công nghệ ngày càng phát triển, vi điều khiển AVR và vi điều khiển PIC ngày càng thông dụng và hoàn thiện hơn, nhưng có thể nói sự xuất hiện của Arduino vào năm 2005 tại Italia đã mở ra một hướng đi mới cho vi điều khiển Sự xuất hiện của Arduino đã hỗ trợ cho con người rất nhiều trong lập trình và thiết kế, nhất là đối với những người bắt đầu tìm tòi về vi điều khiển mà không có quá nhiều kiến thức, hiểu biết sâu sắc

về vật lý và điện tử Phần cứng của thiết bị đã được tích hợp nhiều chức năng cơ bản và là

mã nguồn mở Ngôn ngữ lập trình trên nền Java lại vô cùng dễ sử dụng tương thích với ngôn ngữ C và hệ thư viện rất phong phú và được chia sẻ miễn phí Chính vì những lý do như vậy nên Arduino hiện đang dần phổ biến và được phát triển ngày càng mạnh mẽ trên toàn thế giới Trên cơ sở kiến thức đã học trong môn học : vi điều khiển… cùng với những

hiểu biết về các thiết bị điện tử, nhóm đã chọn đề tài: Đo Khoảng Cách Bằng Sóng Siêu

Âm với mục đích để tìm hiểu thêm về Arduino, làm quen với các thiết bị điện tử,cách lập

trình giao tiếp với máy tính và nâng cao hiểu biết cho bản thân Do kiến thức còn hạn hẹp, thêm vào đó đây là lần đầu em thực hiện đồ án nên chắc chắn không tránh khỏi những thiếu sót, hạn chế vì thế nhóm rất mong có được sự góp ý và nhắc nhỡ từ thầy giáo để có thể hoàn thiện đề tài của mình

Em xin chân thành cảm ơn thầy giáo Nguyễn Kim Xuyên đã giúp đỡ nhóm rất nhiều trong quá trình tìm hiểu, thiết kế và hoàn thành đề tài đồ án 1 này

TP HCM, ngày 07 tháng 10 năm 2015 Sinh viên thực hiện

Nhóm 6

Trang 4

Mục lục

Nhận xét của giáo viên hướng dẫn 1

Lời cảm ơn 2

Lời nói đầu 3

A Giới thiệu các module sử dụng trong mạch I.Giới thiệu cảm biến siêu âm SRF-05 4

II.Giới thiệu module Arduino Nano 8

III.Giới thiệu LCD 16x02 13

B.Thiết kế và thi công mạch I Mạch mô phỏng 15

II Mạch nguyên lí 16

III Mạch layout 17

IV Mã code 18

V Kết luận và hướng phát triển 20

Tài liệu tham khảo 21

Trang 5

A Giới thiệu các module sử dụng

I Giới thiệu module HC-SR05:

- HC-SR05 là module cảm biến siêu âm dùng để đo khoảng cách bằng sóng siêu âm Sóng siêu âm là sóng âm thanh thuộc nhóm sóng cơ học với tốc độ lan truyền trong không khí không cao, lợi dụng điều này mà người ta có thể đo đạt khoảng cách dựa trên sóng này Nguyên lý như sau, đầu tiên máy sẽ phát đi một chùm sóng siêu âm, khi lan truyền nếu gặp được vật cản sóng sẽ dội về máy thu, từ thời gian phát đi và nhận về của chùm sóng này

- Hình ảnh module HC-SR05 :

Trang 6

+ Out  khi nối mass thì lúc này chân trig và chân echo sẽ hoạt động trên cùng

1 chân, khi bỏ trống thì chân trig và echo sẽ hoạt động riêng biệt như SRF 04

- GND  GND Arduino

 Nguyên lý hoạt động :

 MODE 1: 2 chân trig và echo hoạt động riêng biệt

Trang 7

 Nguyên lí hoạt động:

Module hoạt động rất đơn giản, như hình bên trên bạn cần một chân IO với chức năng output (Trigger) để kích hoạt module mà một chân input (echo) để đo thời gian xung nhận về đại diện cho khoảng cách

Các bước kích hoạt và đo như sau:

+ Đầu tiên ở chân Trigger bạn phát 1 xung mức cao có độ rộng tối thiểu là 10us cho module + Bước tiếp theo module sẽ trả về cho bạn một xung mức cao có độ rộng xung bằng với thời gian sóng siêu âm truyền từ module đến vật cản và từ vật cản về module

+ Từ thời gian thu được từ xung echo bên trên ta suy ra khoảng cách vật cản dựa trên công thức sau :

→ Distance (mm) = (Measured Echo Time*344)*1000/2

Trong đó :- Measured Echo Time là thời gian đo xung mức cao từ chân echo, đơn

vị là s

- 344 là vận tốc âm thanh lan truyền trong không khí

- 1000 là hệ số nhân để đưa khoảng cách đo được về đơn vị mm

- 2 là hệ số chia do chỉ lấy ½ quảng đường đo được tức là chỉ từ vật cản đo đến module

Sơ đồ kết nối phần cứng :

Trang 8

 MODE 2: Chân trig và echo cùng hoạt động trên 1 chân

 Nguyên lí hoạt động:

Ở chế độ này, một chân của vi xử lý sẽ điều khiển quá trình phát xung của cảm biến siêu âm và việc đọc tín hiệu trả về Yêu cầu lúc đó chân MODE cần được nối đất (GND) Đầu tiên xuất một xung với độ rộng tối thiểu 10uS vào chân TRIGGER-ECHO (chân số 3) của cảm biến Sau đó vi xử lý tích hợp trên cảm biến sẽ phát ra tín hiệu điều khiển đầu phát siêu âm Sau 700uS kể từ lúc kết thúc tín hiệu điều khiển, từ chân TRIGGER-ECHO

có thể đọc ra một xung mà độ rộng tỉ lệ với khoảng cách từ cảm biến tới vật thể

II Giới thiệu Arduino Nano :

 Điều đầu tiên chúng mình muốn chia sẻ với các bạn khi tiếp xúc với Arduino Nano, đó là sự tiện dụng, đơn giản, có thể lập trình trực tiếp bằng máy tính (nhưArduino Uno R3) và đặc biệt hơn cả đó là kích thước của nó

Trang 9

 Kích thước của Arduino Nano cực kì nhỏ chỉ tương đương đồng 2 nghìn gấp lại 2 lần thôi (1.85cm x 4.3cm), rất thích hợp cho các newbie, vì giá rẻ hơn Arduino Uno nhưng dùng được tất cả các thư việt của mạch này

Hôm nay, tớ viết bài này nhằm mục đích giới thiệu về mạch Arduino Nano và các thông số kĩ thuật, cùng với đó là những gợi ý ứng dụng khi bắt đầu với mạch này

Trang 10

 Một vài thông số của Arduino UNO R3 :

Các thông số kĩ thuật của Arduino Nano hầu như giống hoàn Arduino Uno R3, vì vậy các thư viện trên Arduino Uno đều hoạt động tốt trên Arduino Nano Tuy nhiên, ở Nano

có một lợi thế cực kì quan trọng, nhờ đó Arduino Nano đã được ứng dụng rất nhiều trong các dự án DIY, đó chính là kích hước của nó Đồng thời Nano còn số lượng chân Analog nhiều hơn Uno (2 chân A6, A7 chỉ dùng để đọc) cùng với dùng ra tối đa của mỗi chân IO lên đến 40mA Nhưng, có một điểm trừ nhẹ cho Nano, đó là mạch này Nano cần đến 2KB

bộ nhớ cho bootloader (ở Uno là 0.5KB) Tuy nhiên bạn còn đến tận 30KB bộ nhớ flash để lập trình, để dùng hết được 30KB này đó là cả "một vấn đề lập trình"

 Cổng kết nối với Arduino Nano :

- Khác với Arduino Nano sử dụng cổng USB Type B, Nano lại sử dụng một cổng nhỏ hơn có tên là mini USB

Trang 11

Vì sử dụng cổng này nên kích thước board (vê chiều cao) cũng giảm đi khá nhiều, ngoài

ra bạn có thể lập trình thẳng trực tiếp cho Nano từ máy tính - điều này tạo nhiều điện thuận lợi cho newbie

 Lập trình cho Arduno Nano :

- Cũng tương tự như bên Arduino Uno R3, Arduino Nano sử dụng chương trình Arduino IDE để lập trình, và ngôn ngữ lập trình cho Arduino cũng tên là Arduino (được xây dựng trên ngôn ngữ C) Tuy nhiên, nếu muốn lập trình cho Arduino Nano, bạn cần phải thực hiện một số thao tác trên máy tính Sau đây

là các bước hướng dẫn để có thể lập trình cho Arduino Nano :

1 Đầu tiên, bạn cần cài Driver của Arduino Nano và tải về bản Arduino IDE mới nhất cho máy tính, các bước cài đặt hoàn toàn tương tự như Arduino Uno R3, bạn

có thể tham khảo http://arduino.vn/ Sau khi cài đặt, bạn sẽ thấy một thông báo dạng "Cổng COMx đã được cài đặt thành công" (chữ "x" này sẽ được thay bằng một số nguyên dương, bạn hãy nhớ lấy số này, vì sau này bạn sẽ dùng cổng COMx này để lập trình cho Arduino Nano)

2 Sau đó, bạn cần lại loại board và cổng Serial mới như hình sau là được Lưu ý, cổng COM trong hình dưới đây là chỉ là hình minh họa trong máy tính của mình thôi nhé

Trang 13

III Giới thiệu module LCD 16x02

Ngày nay, thiết bị hiển thị LCD (Liquid Crystal Display) được sử dụng trong rất nhiều các ứng dụng của VĐK LCD có rất nhiều ưu điểm so với các dạng hiển thị khác: Nó

có khả năng hiển thị kí tự đa dạng, trực quan (chữ, số và kí tự đồ họa), dễ dàng đưa vào mạch ứng dụng theo nhiều giao thức giao tiếp khác nhau, tốn rất ít tài nguyên hệ thống và giá thành rẻ …

Chức năng các chân của LCD 16x02:

Chân Ký

hiệu

Mô tả

1 Vss Chân nối đất cho LCD, khi thiết kế mạch ta nối chân này với GND

của mạch điều khiển

2 VDD Chân cấp nguồn cho LCD, khi thiết kế mạch ta nối chân này với

VCC=5V của mạch điều khiển

3 VEE Điều chỉnh độ tương phản của LCD

4 RS Chân chọn thanh ghi (Register select) Nối chân RS với logic “0”

(GND) hoặc logic “1” (VCC) để chọn thanh ghi

+ Logic “0”: Bus DB0-DB7 sẽ nối với thanh ghi lệnh IR của LCD (ở chế độ “ghi” - write) hoặc nối với bộ đếm địa chỉ của LCD (ở chế độ “đọc” - read)

Trang 14

trong LCD

5 R/W Chân chọn chế độ đọc/ghi (Read/Write) Nối chân R/W với logic

“0” để LCD hoạt động ở chế độ ghi, hoặc nối với logic “1” để LCD

ở chế độ đọc

6 E Chân cho phép (Enable) Sau khi các tín hiệu được đặt lên bus

DB0-DB7, các lệnh chỉ được chấp nhận khi có 1 xung cho phép của chân E

+ Ở chế độ ghi: Dữ liệu ở bus sẽ được LCD chuyển vào(chấp nhận) thanh ghi bên trong nó khi phát hiện một xung (high-to-low transition) của tín hiệu chân E

+ Ở chế độ đọc: Dữ liệu sẽ được LCD xuất ra DB0-DB7 khi phát hiện cạnh lên (low-to-high transition) ở chân E và được LCD giữ ở bus đến khi nào chân E xuống mức thấp

7 - 14 DB0 -

DB7

Tám đường của bus dữ liệu dùng để trao đổi thông tin với MPU

Có 2 chế độ sử dụng 8 đường bus này : + Chế độ 8 bit : Dữ liệu được truyền trên cả 8 đường, với bit MSB

Trang 15

B Thiết kế và thi công mạch

I Mạch mô phỏng:

Trang 16

III Mạch layout

5 Nguyên lý hoạt động :

 Khi bắt đầu thì vđk sẽ phát 1 xung vào pin Trigger có độ rộng là 10us

Trang 17

 Ngay sau đó pin Echo ở vdk sẽ đẽ kéo lên cao và đợi sóng âm thanh phản xạ lại khi gặp sóng phản xạ thì pin Echo sẽ được kéo xuống thấp Như vậy, thời gian pin Echo

ở mức cao sẽ chính là thời gian sóng âm thanh đi và về trên quãng đường từ cảm biến tới vật cản chúng ta sẽ dùng timer để đếm khoảng thời gian này

 Kết quả trả về sẽ được hiển thị lên LCD và cảnh báo bằng 2 led đơn Nếu khoảng cách <= 20cm thì led đỏ và lcd sẽ nháy liên tục, nếu khoảng cách > 20cm thì led xanh sẽ nháy

IV Code cho HC- SR05:

const int trig = 7;// khai báo chân phát xung

const int echo = 8;// chân nhận xung

#include <LiquidCrystal.h>// khai báo thư viện lcd

pinMode(13, OUTPUT);// chân ngõ ra led

pinMode(6, OUTPUT);// chân ngõ ra led

Trang 18

void loop()

{

digitalWrite(trig,0);// tắt chân trig

delayMicroseconds(2);

digitalWrite(trig,1);// phát xung từ chân trig

delayMicroseconds(5);// xung có độ dài 5 microSeconds

digitalWrite(trig,0); // tắt chân trig

duration = pulseIn(echo,HIGH);//đo độ rộng xung HIGH ở chân echo

distance = int(duration/2/29.412);//tính khoảng cách đến vật

digitalWrite(13, HIGH); // bật led

delay(100); // thời gian delay

digitalWrite(13, LOW); // bật led

Trang 20

PHẦN V: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN

 Trong thời gian thực hiện đề tài nhóm đã đạt được những kết quả sau:

- Học hỏi được nhiều hơn và có thêm nhiều kiến thức

-Biết cách lập trình phần cứng

 Hướng phát triển

-Chế tạo robot dò đường

- Chế tạo công cụ giúp người mù

Trang 21

Tài liệu tham khảo

arduino-uno

http://arduino.vn/bai-viet/273-arduino-nano-nho-tien-loi-mang-tren-minh-tinh-hoa-cua-http://www.dientu4u.com/news/946/Cam-bien-sieu-am-SRF05.html

Ngày đăng: 07/02/2017, 22:16

TỪ KHÓA LIÊN QUAN

w