Tải bản đầy đủ (.pdf) (29 trang)

Báo cáo giữa kì môn vi điều khiển đề tài thước đo khoảng cách từ xa

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.41 MB, 29 trang )

TRƯỜNG ĐẠI HỌC KĨ THUẬT-CƠNG
NGHỆ
----------

KHOA KĨ THUẬT CƠ KHÍ
BÁO CÁO GIỮA KÌ
MƠN: VI ĐIỀU KHIỂN
ĐỀ TÀI: THƯỚC ĐO KHOẢNG CÁCH TỪ XA

Giảng viên hướng dẫn:Thầy Đường Khánh Sơn
Nhóm sinh viên thực hiện: nhóm 6

Lê Đức Tín : 2000767
Đặng Phước Thắng: 2000212
Châu Trọng Nhân : 2001096
Phan Phú Thịnh : 2001036
Lê Duy Linh : 2000054

1

Tieu luan


LỜI NÓI ĐẦU
Ngày nay vi điều khiển đã trở nên quen thuộc trong các thiết bị kỹ thuật. Các bộ
vi điều khiển có khả năng xử lý nhiều hoạt động phức tạp mà chỉ cần một chip
vi mạch nhỏ, nó đã thay thế các tủ điều khiển lớn và phức tạp bằng những mạch
điện gọn nhẹ, dễ dàng thao tác sử dụng. Vi điều khiển khơng những góp phần
vào kỹ thuật điều khiển mà cịn góp phần to lớn vào việc phát triển thông tin.
Cho nên đối với các sinh viên ngành CƠ KHÍ, việc tìm hiểu, khảo sát vi điều
khiển và ứng dụng chúng vào thực tế là hết sức cần thiết. Vì thế, em quyết định


chọn đề tài cho Đồ án môn học là: “THƯỚC ĐO KHOẢNG CÁCH TỪ XA”
(dùng cảm biến siêu âm srf05).
Em xin cảm ơn tồn thể các thầy cơ giáo trong khoa CƠ KHÍ đã giảng dạy và
truyền đạt những kiến thức, kinh nghiệm quý báu và tạo điều kiện tốt nhất cho
em được học tập và nghiên cứu tại trường.
Cần Thơ , ngày 14 tháng 10 năm 2022

2

Tieu luan


PHẦN I: CƠ SỞ LÝ THUYẾT
1.

Cảm biến siêu âm

Cảm biến siên âm có nhiều loại, tùy theo cơng dụng như để nhận biết vật trong
khoảng cách gần hay xa, nhận biết các vật có tính chất khác nhau và trong
những điều kiện hoạt động khác nhau mà người ta chế tạo các loại cảm biến siêu
âm cũng khác nhau.

Hình 1. Cảm biến Carlo
Gavazzi

Hình 2. Cảm biến HC-SRF04

SRF05 là
một bước
phát triển từ SRF04, được thiết kế để làm

tăng
tính
linh hoạt, tăng phạm vi, ngồi ra cịn giảm
Hình 3. Cảm biến US-18
bớt
Hình 4. Cảm biến US-015
chi
phí. Range is increased from 3 meters to 4 meters.Khoảng cách được tăng từ 3
mét đến 4 mét. A new operating mode (tying the mode pin to ground) allows the
SRF05 to use a single pin for both trigger and echo, thereby saving valuable pins
on your controller.SRF05 cho phép sử dụng một chân duy nhất cho cả kích hoạt
và phản hồi, do đó tiết kiệm giá trị trên chân điều khiển.When the mode pin is
left unconnected, the SRF05 operates with separate trigger and echo pins, like

3

Tieu luan


the SRF04. Khi chân chế độ khơng kết nối, thì SRF05 hoạt động riêng biệt chân
kích hoạt và và chân hồi tiếp, giống như SRF04.

1.1.

Đặc điểm kỹ thuật cảm biến SRF05Độ chính xác: 0.5cm

Hình 5. Sơ đồ chân cảm biến SRF04








4

Điện áp hoạt động: 5VDC
Dịng tiêu thụ: 10~40mA
Tín hiệu giao tiếp: TTL
Chân tín hiệu: Echo, Trigger (thường dùng) và Out (ít dùng).
Góc quét:<15 độ
Tần số phát sóng: 40Khz

Tieu luan







Khoảng cách đo được: 2~450cm (khoảng cách xa nhất đạt được ở điều
khiện lý tưởng với không gian trống và bề mặt vật thể bằng phẳng, trong
điều kiện bình thường cảm biến cho kết quả chính xác nhất ở khoảng
cách <100cm).
Sai số: 0.3cm (khoảng cách càng gần, bề mặt vật thể càng phẳng sai số
càng nhỏ).
Kích thước: 43mm x 20mm x 17mm

1.2.


Nguyên tắc hoạt động
Nguyên tắc TOF (Time Of Flight): Sóng siêu âm được truyền đi trong
khơng khí với vận tốc khoảng 343m/s. Nếu một cảm biến phát ra sóng siêu âm
và thu về các sóng phản xạ đồng thời, đo được khoảng thời gian từ lúc phát đi
tới lúc thu về, thì máy tính có thể xác định được qng đường mà sóng đã di
chuyển trong khơng gian. Qng đường di chuyển của sóng sẽ bằng 2 lần
khoảng cách từ cảm biến tới chướng ngoại vật, theo hướng phát của sóng siêu
âm.

Hình 6. Ngun tắc TOF

Nếu đo được chính xác thời gian và khơng có nhiễu, mạch cảm biến siêu âm trả
về kết quả cực kì chính xác. Điều này phụ thuộc vào cách viết chương trình
khơng sử dụng các hàm delay. Sóng siêu âm chỉ bị dội lại khi gặp 1 số loại vật
cản, nếu phát sóng siêu âm vào chăn, nệm thì nó sẽ khơng nhận được sóng phản
hồi. Có thể sử dụng các loại chip thơng dụng để nhận và xử lý dữ liệu như 8051,
AVR, PIC, Arduino,…

5

Tieu luan


1.3.

Tầm quét của cảm biến siêu âm
Cảm biến siêu âm có thể được mơ hình hóa thành một hình quạt, trong đó
các điểm ở giữa dường như khơng có chướng ngại vật, cịn các điểm trên biên
thì dường như có chướng ngại vật nằm ở đâu đó.


Hình 7. Góc quét cảm biến SRF04

1.4.

Tính tốn khoảng cách.

Hình 8. Giản đồ định thời của SRF05

6

Tieu luan


1.5.

Một số đặc điểm khác của SRF05

Hình 9. Độ chính xác phụ thuộc cấu tạo và góc phản xạ

Mức độ của sóng âm hồi tiếp phụ thuộc vào cấu tạo của đối tượng và góc
phản xạ của nó. Một đối tượng mềm có thể cho ra tín hiệu phản hồi yếu hoặc
khơng có phải hồi. Một đối tượng ở một góc cân đối thì mới có thể chuyển thành
tín hiệu phản chiếu cho cảm biến nhận.
Vùng phát hiện của SRF05: Các vùng phát hiện của SRF04 nằm trong
khoảng 1m chiều rộng từ bên này sang bên kia và không quá 4m chiều dài.
There are two constraints in this scenario to consider.If the threshold for
object detection is set too close to the sensor then objects on a collision path
might be in a blind spot.Nếu ngưỡng để phát hiện đối tượng được đặt quá gần
với cảm biến, các đối tượng trên một đường có thể bị va chạm tại một điểm mù.


Hình 10. Vùng phát hiện SRF05

If the threshold is set at too great a distance from the sensor then objects will be
detected which are not on a collision path (assuming that the width of the robot
is less than a meter).Nếu ngưỡng này được đặt ở một khoảng cách quá lớn từ các
cảm biến thì các đối tượng sẽ được phát hiện mà không phải là trên một đường
va chạm.

7

Tieu luan


Một kỹ thuật phổ biến để làm giảm các điểm mù và đạt được phát hiện
chiều rộng lớn hơn ở cự ly gần là thêm một cải tiến bằng cách thêm một cảm
biến bổ sung và cùng hướng về phía trước. If the setup is such that there is a
region where the two detection zones overlap, then an algorithm can be
established around four possible states according to the following truth
table:Thiết lập như vậy thì có một khu vực mà hai khu vực phát hiện chồng chéo
lên nhau.
Các vùng hoạt động của 2 cảm biến SRF05 tạo góc chung 30 độ. Vùng
chung thì được phân biệt bởi 2 phần tín hiệu trái phải và phần cản ở giữa.

Hình 11. Kết hợp 2 cảm biến SRF05

2.

Vi điều khiển 8051 (89S52)


AT89S52 cung cấp những đặc tính chuẩn như: 8 KByte bộ nhớ chỉ đọc có
thể xóa và lập trình nhanh (EPROM), 128 Byte RAM, 32 đường I/O, 3
TIMER/COUNTER 16 Bit, 6 vectơ ngắt có cấu trúc 2 mức ngắt, một Port nối
tiếp bán song công, 1 mạch dao động tạo xung Clock và bộ dao động ON-CHIP.

8

Hình 12. Vi điều khiển AT89S52

Tieu luan


Các đặc điểm của chip AT89S52 được tóm tắt như sau:
- 8 KByte bộ nhớ có thể lập trình nhanh, có khả năng tới 1000 chu
kỳ ghi/xố
- Tần số hoạt động từ: 0Hz đến 24 MHz
- 3 mức khóa bộ nhớ lập trình
- 3 bộ Timer/counter 16 Bit
- 128 Byte RAM nội.
- 4 Port xuất /nhập I/O 8 bit.
- Giao tiếp nối tiếp.
- 64 KB vùng nhớ mã ngoài

2.1.

Cấu tạo chân

Tuỳ theo khả năng của từng người (về kinh tế, kỹ thuật…) mà các nhà sản xuất
các sản phẩm ứng dụng có thể chọn 1 trong 3 kiểu chân do ATMEL đưa ra.


Hình 13. Các kiểu chân của AT89S52

9

Tieu luan


2.2.

Sơ đồ khối

Hình 14. Sơ đồ khối AT89S52

Interrupt control: điều khiển ngắt
Other registers: các thanh ghi khác
128 bytes RAM: RAM 128 byte
Timer 2, 1, 0: bộ định thời 2, 1, 0
CPU: bộ xử lý trung tâm
OSC (Oscillator): mạch dao động
Bus control: điều khiển bus
I/O ports: các port xuất/nhập
Serial port: port nối tiếp
Address/data: địa chỉ/dữ liệu
10

Tieu luan


Phần chính của vi điều khiển 89S52 là bộ xử lý trung tâm. CPU nhận trực
tiếp xung từ bộ giao động, ngồi ra cịn có khả năng đưa một tín hiệu giữ nhịp

từ bên ngồi.
Chương trình đang chạy có thể cho dừng lại nhờ một khối điêu khiển ngắt
ở bên trong. Các nguồn ngắt có thể là: các biến cố ở bên ngoài, sự tràn bộ đếm
định thời, hoặc cũng có thể là giao diện nối tiếp. Hai bộ định thời 16 bit hoạt
động như một bộ đếm.
Giao diện nối tiếp cũng chứa một bộ truyền và bộ nhận không đồng bộ làm
việc độc lập với nhau. Tốc độ truyền qua cổng nối tiếp có thể đặt trong dải rộng
và được ấn định bằng một bộ định thời.
Trong vi điều khiển 89S52 có hai thành phần quan trọng khác là bộ nhớ và
thanh ghi:
- Bộ nhớ gồm có bộ nhớ RAM và bộ nhớ ROM dùng để lưu trữ dữ liệu
và mã lệnh.
- Các thanh ghi sữ dụng để lưu trữ thơng tin trong q trình xử lý. Khi
CPU làm việc nó thay đổi nội dung của các thanh ghi.
2.3.

Chức năng của các chân 89S52

11

Tieu luan


Port 0: từ chân 32 đến 39 (P0.0 - P0.7) có hai chức năng:
Trong các thiết kế cỡ nhỏ (khơng dùng bộ nhớ mở rộng) có chức năng như các
đường I/O. Đối với các thiết kế lớn với bộ nhớ mở rộng nó được kết hợp giữa
các bus địa chỉ và bus dữ liệu.
Port 1: từ chân 1 đến 8 (P1.0 - P1.7). Port 1 là một port I/O dùng cho thiết
bị ngoại vi nếu cần.
Port 2: từ chân 21 đến 28 (P2.0 - P2.7). Port 2 có cơng dụng kép được

dùng như các đường xuất nhập hoặc là byte cao của bus địa chỉ 16 bit đối với
các thiết kế dùng bộ nhớ mở rộng hoặc các thiết kế có nhiều hơn 256 byte bộ
nhớ dữ liệu ngồi.
Port 3: từ chân 10 đến 17 (P3.0 - P3.7). Các chân của port này có nhiều
chức năng, có cơng dụng chuyển đổi có liên hệ đến các đặc tính đặc biệt của
89S52 như ở bảng sau:

PSEN (Program Store Enable): tín hiệu trên chân 29. Nó là tín hiệu điều
khiển cho phép bộ nhớ chương trình mở rộng và thường được nối đến chân OE
(Output Enable) của một EPROM để cho phép đọc các byte mã lệnh.
PSEN sẽ ở mức thấp trong thời gian lấy lệnh. Các mã nhị phân của chương trình
được đọc từ EPROM qua bus và được chơt vào thanh ghi lệnh của 89S52 để
giải mã lệnh. Khi thi hành chương trình trong ROM nội (89S52) PSEN sẽ ở
mức thụ động (mức cao).
12

Tieu luan


ALE (Address Latch Enable ): tín hiệu ra ALE trên chân 30 tương hợp với
các thiết bị làm việc với các xử lý 8585, 8088, 8086, 8051 dùng ALE một cách
tương tự cho việc giải mã các kênh các bus địa chỉ và dữ liệu khi port 0 được
dùng trong chế độ chuyển đổi của nó: vừa là bus dữ liệu vừa là bus thấp của địa
chỉ, ALE là tín hiệu để chốt địa chỉ vào một thanh ghi bên ngồi trong nữa đầu
của chu ký bộ nhớ. Sau đó các đường port 0 dùng để xuất hoặc nhập dữ liệu
trong nữa sau chu kỳ của bộ nhớ.
Các xung tín hiệu chân ALE có tốc độ bằng 1/6 lần tần số dao động trên
chip và có thể dùng làm nguồn xung nhịp cho các hệ thống. Nếu xung trên chân
8051 là 12MHz thì ALE có tần số 2MHz. Chỉ ngoại trừ khi thi hành lệnh
MOVX, một xung ALE sẽ bị mất. Chân này cũng được làm ngõ vào cho xung

lập trình cho EPROM trong 8051.
EA (External Access) : tín hiệu vào EA trên chân 31 thường được mắc lên
mức cao (+5V) hoặc mức thấp (GND). Nếu ở mức cao, 8051 thi hành chương
trình từ ROM nội trong khoảng địa chỉ thấp (4K). Nếu ở mức thấp, chương trình
chỉ được thi hành từ bộ nhớ mở rộng. Khi dùng 8031, EA ln được nối mức
thấp vì khơng có bộ nhớ chương trình trên chip. Nếu EA được nối mức thấp bộ
nhớ bên trong chương trình 89S52 sẽ bị cấm và chương trình thi hành từ
EPROM mở rộng. Người ta cịn dùng chân EA làm chân cấp điện áp 21V khi
lập trình cho EPROM trong 89S52.
RST (Reset): ngõ vào RST trên chân 9 là ngõ reset của 8051. Khi tín hiệu
này được đưa lên mức cao (trong ít nhất 2 chu kỳ máy ), các thanh ghi trong
89S52 được tải những giá trị thích hợp để khởi động hệ thống.
Các ngõ vào bộ dao động trên chip:

13

Tieu luan


Như trong hình trên, 89S52 có một bộ dao động trên chip. Nó thường được
nối với thạch anh giữa hai chân 18 và 19. Các tụ giữa cũng cần thiết như đã vẽ.
Tần số thạch anh thông thường là 12MHz và giá trị tụ thường được chọn là
33pF.
Các chân nguồn: 89S52 vận hành với nguồn đơn +5V. Vcc được nối vào
chân 40 và Vss (GND) được nối vào chân 20.
2.4.

Giao tiếp với cảm biến siêu âm để đo khoảng cách

Đo khoảng cách bằng cảm biến siêu âm SRF05 chính là đo thời gian chân

ECHO ở mức cao. Để đo thời gian chân ECHO ở mức cao có thể dùng một
trong các bộ Timer của vi điều khiển.
Để đo khoảng cách ta làm các bước như sau:
1. Kích chân Trigger: xuất mức 1 ra chân Trigger và delay tối thiểu 10us.
2. Sau đó đợi chân ECHO lên mức cao.
3. Khi chân ECHO lên mức cao, kích hoạt Timer.
- Đợi chân ECHO xuống thấp
- Cho phép ngắt cạnh xuống
4. Khi chân ECHO xuống mức thấp (hoặc trong chương trình xử lý ngắt),
dừng Timer và tính tốn giá trị thời gian từ Timer, từ đó suy ra khoảng
cách.
5. Reset giá trị đếm của Timer để chuẩn bị cho lần đo tiếp theo.

14

Tieu luan


3.

LCD - Giao tiếp với Vi điều khiển 89S52

Màn hình LCD được sử dụng trong rất nhiều các ứng dụng nhúng. So với
các dạng hiển thị khác, LCD có rất nhiều ưu điểm:
- Có khả năng hiển thị ký tự đa dạng, trực quan.
- Hiển thị được nhiều ký tự.
- Giao tiếp với vi điều khiển rất đơn giản, tốn ít tài nguyên của vi điều
khiển.
- Ngoài ra: tiết kiệm năng lượng, kích thước nhỏ gọn, giá thành rẻ,...
3.1.


Hình dáng và kích thước:

Hiện nay, có rất nhiều loại LCD với nhiều hình dáng và kích thước khác
nhau, hình dưới đây là hai loại LCD thông dụng.

Hình 15. Các loại LCD thông dụng

Khả năng hiển thị của LCD cũng khác nhau, các loại thông dụng:
- LCD 16x2: hiển thị được 2 dịng, mỗi dịng 16 kí tự.
- LCD 20x2: hiển thị được 2 dịng, mỗi dịng 20 kí tự.
- LCD 20x4: hiển thị được 4 dịng, mỗi dịng 20 kí tự.
3.2.

15

Sơ đồ chân

Hình 16. Sơ đồ chân LCD 16x2

Tieu luan


Chức năng của các chân LCD 16x2 được thể hiện dưới bảng sau:
hân

C

1


2

Tên

Chức năng

VS 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.
S

D

3

VD

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.

Vee

Chân này dùng để đ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.

4

RS - 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)

- Logic “1”: Bus DB0-DB7 sẽ nối với thanh ghi dữ liệu DR bên
trong LCD.

5

6

W

R/

E

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.
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.

16

Tieu luan



-14

7

B0DB7

D

MPU.

Tám đường của bus dữ liệu dùng để trao đổi thơng tin với
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.

3.3.

Kết nối với vi điều khiển

Hình 17. Kết nối 89S52 với LCD

17

Tieu luan



4.

Một số linh kiện khác
- Thạch anh 12M: tạo dao động thạch anh cho Vi điều khiển

- IC7805: IC ổn áp nguồn 5V DC.

- Tụ 10uF, tụ 100uF:

- Điện trở 10k:

- Nút nhấn 4 chân: nhấn giữ để dừng lại hiển thị khoảng cách lên LCD
- Biến trở tam giác: dùng để chỉnh độ tương phản cho LCD

18

Tieu luan


PHẦN II: THIẾT KẾ VÀ THỰC HIỆN
1.

Sơ đồ khối

Chức năng từng khối:
- Khối cảm biến: SRF05 nhận tín hiệu xung kích từ vi điều khiển vào chân
Trigger, trả lại tín hiệu khi phát hiện vật tại chân Echo.
- Khối xử lý: phát xung kích và nhân tín hiệu từ khối cảm biến, lưu chương
trình, xử lý dữ liệu truyền ra LCD và điều khiển tải.
- Khối tải: gồm LED.

- Khối hiển thị: LCD hiển thị khoảng cách và trạng thái (an toàn, cảnh báo
và nguy hiểm).

19

Tieu luan


2.

Thiết kế phần cứng

2.1.

Sơ đồ nguyên lý

Hình 18. Sơ đồ nguyên lý của mạch đo khoảng cách

- Khối hiển thị LCD kết nối với 89s52 qua các chân: 23, 24, 25, 26, 27, 28.
- Chân Vee của LCD nối vào chân 3 biến trở để điều chỉnh độ tương phản.
- SRF04 kết nối với vi xử lý qua các chân: 1 - (Trigger), 12 - (Echo).
- Nút nhấn kết nối với chân 17 của 89s52

20

Tieu luan


21


Tieu luan


2.2.

Sơ đồ mạch

Hình 19. Sơ đồ mạch in

Hình 20. Sơ đồ mạch 3D

Hình 21. Mạch thực tế
22

Tieu luan


3.

Thực hiện phần mềm

3.1.

Nguyên lý hoạt động

Đầu tiên khi ta đưa chân Trig của cảm biến lên mức 1, rồi giữ nó khoảng 10us
sau đó kéo về 0, sóng siêu âm sẽ phát ra từ đầu phát. Nếu có vật cản phía trước,
sóng siêu âm sẽ phản xạ tại đầu thu. Khi đầu thu nhận được tín hiệu sóng phản
hồi, chân ECHO sẽ được đưa xuống mức 0. Biết vận tốc của sóng siêu âm là
343m/s cũng như thời gian phát-thu được đo bằng Timer hoặc ngắt ngoài. Ta sẽ

dễ dàng tính được khoảng cách từ vị trí phát đến vật.
Với cơng thức đã tính (*): d = t/58d =(Đơn vị của khoảng cách d là cm, đơn vị
của thời gian t là us).
( Đơn vị khoảng cách d là cm, đơn vị của thời gian t là us)
3.2.

Phần mềm code
int trig = 8;
int echo = 7;

int trig = 8;
int echo = 7;
int loa = 13;
float thoigian;
float khoangcach;
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,16,2);
void setup()
{
Serial.begin(9600);
pinMode(trig, OUTPUT);
pinMode(echo, INPUT);
pinMode(loa, OUTPUT);
lcd.init();
lcd.backlight();
23

Tieu luan



lcd.setCursor(2,0);
lcd.print("DO AN NHOM 6");
}
void loop()
{
int trig = 8;
int echo = 7;
int loa = 13;
float thoigian;
float khoangcach;
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,16,2);
void setup()
{
Serial.begin(9600);
pinMode(trig, OUTPUT);
pinMode(echo, INPUT);
pinMode(loa, OUTPUT);
lcd.init();
lcd.backlight();
lcd.setCursor(2,0);
lcd.print("DO AN NHOM 6");
}
void loop()
{
digitalWrite(trig,0);
delayMicroseconds(2);
digitalWrite(trig,1);

delayMicroseconds(10);
digitalWrite(trig,0);
thoigian = pulseIn (echo, HIGH);
khoangcach = thoigian / 2 / 29.412;
24

Tieu luan


Serial.print("Khoảng cách: ");
Serial.print(khoangcach);
Serial.println("cm");
lcd.setCursor(0,1);
lcd.print("K.cach:");
lcd.setCursor(13,1);
lcd.print("cm");
lcd.setCursor(7,1);
lcd.print(khoangcach);
if (khoangcach < 10)
{
lcd.setCursor(8,1);
lcd.print(" ");
{tone(loa,500);
delay(500);
}
}
if (khoangcach >= 10 && khoangcach <100)
{
lcd.setCursor(9,1);
lcd.print(".");

{noTone(loa);
}
delay(500);
}
if (khoangcach >= 100)
{
lcd.setCursor(10,1);
lcd.print(".");
noTone(loa);
}
delay(500);
25

Tieu luan


×