Tải bản đầy đủ

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

“GVHD: Nguyễn Kim Suyên”

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

NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN
.................................................................................................................................
.................................................................................................................................
.................................................................................................................................
.................................................................................................................................
.................................................................................................................................
.................................................................................................................................
.................................................................................................................................
.................................................................................................................................
.................................................................................................................................
.................................................................................................................................
.................................................................................................................................
.................................................................................................................................
.................................................................................................................................
.................................................................................................................................

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| 1
“Nhóm 6”


“GVHD: Nguyễn Kim Suyên”

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

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

L

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.

Trang| 2
“Nhóm 6”


“GVHD: Nguyễn Kim Suyên”

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

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| 3
“Nhóm 6”


“GVHD: Nguyễn Kim Suyên”

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

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| 4
“Nhóm 6”


“GVHD: Nguyễn Kim Suyên”

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

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
người

-

ta

sẽ

tính

được

khoảng

cách

của

vật

cản.

Hình ảnh module HC-SR05 :

Trang| 5
“Nhóm 6”


“GVHD: Nguyễn Kim Suyên”

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

 Cụ thể hơn về HC-SR05 :
Cảm biến siêu âm SRF-05 được phát triển lên từ SRF-04 nên hoạt động của

-

chúng gần như giống nhau.
Cảm biến khoảng cách siêu âm HC-SR05 được sử dụng rất phổ biến để xác

-

định khoảng cách vì rẻ và chính xác. Cảm biến sử dụng sóng siêu âm và có thể
đo khoảng cách trong khoảng từ 2 -> 300 cm, với độ chính xác gần như chỉ phụ
thuộc vào cách lập trình.
-

Sơ đồ chân của HC-SR05 gồm: VCC, trig, echo, out, GND.

-

Trong đó:
+ VCC  pin 5V Arduino.
+ trig chân digital (OUTPUT), đây là chân sẽ phát tín hiệu từ cảm biến.
+ echo  chân digital (INPUT), đây là chân sẽ nhận lại tín hiệu được phản xạ
từ vật cản.
+ 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| 6
“Nhóm 6”


“GVHD: Nguyễn Kim Suyên”

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

 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| 7
“Nhóm 6”


“GVHD: Nguyễn Kim Suyên”

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

 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| 8
“Nhóm 6”


“GVHD: Nguyễn Kim Suyên”

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

 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| 9
“Nhóm 6”


“GVHD: Nguyễn Kim Suyên”

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

 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| 10
“Nhóm 6”


“GVHD: Nguyễn Kim Suyên”

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

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| 11
“Nhóm 6”


“GVHD: Nguyễn Kim Suyên”

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

Trang| 12
“Nhóm 6”


“GVHD: Nguyễn Kim Suyên”

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

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
1
Vss
2

VDD

3
4

VEE
RS

Mô tả
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
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
Điều chỉnh độ tương phản của LCD.
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| 13
“Nhóm 6”


“GVHD: Nguyễn Kim Suyên”

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

15

+ Logic “1”: Bus DB0-DB7 sẽ nối với thanh ghi dữ liệu DR bên
trong LCD.
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.
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.
DB0 - Tám đường của bus dữ liệu dùng để trao đổi thông tin với MPU.
DB7
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
là bit DB7.
+ Chế độ 4 bit : Dữ liệu được truyền trên 4 đường từ DB4 tới DB7,
bit MSB là DB7
Nguồn dương cho đèn nền

16

-

5

6

7 - 14

GND cho đèn nền

Trang| 14
“Nhóm 6”


“GVHD: Nguyễn Kim Suyên”

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

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

Trang| 15
“Nhóm 6”


“GVHD: Nguyễn Kim Suyên”

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

II. Mạch nguyên lí :

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



Sau khi có xung kích vào chân Trigger thì cực phát của cảm biến sẽ phát ra 8 xung
của sóng âm thanh ( v= 340m/s)
Trang| 16

“Nhóm 6”


“GVHD: Nguyễn Kim Suyên”


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

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 // khai báo thư viện lcd
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);// các chân lcd sử dụng
unsigned long duration;
int distance;
int kcach();
void setup()
{
lcd.begin(16, 2);// khởi tạo lcd lcd.begin(9600);
pinMode(trig,OUTPUT);
pinMode(echo,INPUT);
pinMode(13, OUTPUT);// chân ngõ ra led
pinMode(6, OUTPUT);// chân ngõ ra led
Trang| 17
“Nhóm 6”


“GVHD: Nguyễn Kim Suyên”

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

}
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.
if (distance<=20)
{
lcd.setCursor(0,0); // vị trí xuất ra lcd
lcd.print("warning!!!!");// xuất chữ warning
lcd.setCursor(0,1);
lcd.println("kcach < =20cm");
digitalWrite(13, HIGH); // bật led
delay(100);

// thời gian delay

digitalWrite(13, LOW); // bật led
delay(100);
lcd.clear();// xóa hàm hiển thị
Trang| 18
“Nhóm 6”


“GVHD: Nguyễn Kim Suyên”

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

}
else
{
lcd.setCursor(0,0);
lcd.print("khoang cach do :");
lcd.setCursor(5,1);
lcd.print(distance);
lcd.println("cm");
digitalWrite(6, HIGH); // bật led
delay(500);
digitalWrite(6, LOW); // bật led
delay(500);

}
delay(200);
}

Trang| 19
“Nhóm 6”


“GVHD: Nguyễn Kim Suyên”

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

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| 20
“Nhóm 6”


“GVHD: Nguyễn Kim Suyên”

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

Tài liệu tham khảo
http://arduino.vn/bai-viet/273-arduino-nano-nho-tien-loi-mang-tren-minh-tinh-hoa-cuaarduino-uno
http://www.dientu4u.com/news/946/Cam-bien-sieu-am-SRF05.html

Trang| 21
“Nhóm 6”



Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay

×