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

NIÊN LUẬN XE CẢM BIẾN SIÊU ÂM

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 (979.08 KB, 38 trang )

Nên luận 2

Robot tránh vật cản

MỤC LỤC
TRANG
LỜI NHẬN XÉT CỦA GIẢNG VIÊN ............................................................................. i
LỜI MỞ ĐẦU .................................................................................................................. ii
LỜI CẢM ƠN ................................................................................................................... iii
CHƯƠNG I: GIỚI THIỆU CHUNG ............................................................................... 1
1.1

Module Động cơ L298 V1 ....................................................................................... 1

1.2.1 Thông số kỹ thuật ........................................................................................................................... 1

1.2

Cảm biến siêu âm SRF 05 ....................................................................................... 1

1.2.1 Thông số kỹ thuật ........................................................................................................................... 2

1.3

Động Cơ Servo Tower Pro 9g................................................................................. 2

1.3.1 Thông số kỹ thuật ........................................................................................................................... 2

1.4

Khung xe 3 bánh ...................................................................................................... 3



1.5

Board mạch Arduino Uno R3 ................................................................................ 4

CHƯƠNG 2: THIẾT KẾ VÀ THI CÔNG .................................................................... 11
2.1

Linh kiện khối Cube .............................................................................................. 11

2.2

Sơ đồ khối của mạch ............................................................................................. 11

2.3

Lắp ráp ................................................................................................................... 11

2.4

Đấu chân vào Arduino .......................................................................................... 16

2.5

Lập trình cho mạch ............................................................................................... 17

CHƯƠNG 3: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN.............................................. 26
3.1 Hướng phát triển đề tài ............................................................................................................... 26
3.1.1 Ưu điểm .................................................................................................................................. 26
3.1.2 Nhược điểm ............................................................................................................................ 26

3.1.3 Hướng phát triển đề tài ......................................................................................................... 26

1
SV Nguyễn Quốc Đạt

GV Nguyễn Vĩnh Thành


Nên luận 2

Robot tránh vật cản

3.2 Kết luận ......................................................................................................................................... 26

Tài liệu tham khảo ............................................................................................................ 27
Code : ................................................................................................................................ 28

2
SV Nguyễn Quốc Đạt

GV Nguyễn Vĩnh Thành


Nên luận 2

Robot tránh vật cản

DANH MỤC HÌNH
Trang
HÌNH 1.1……………………………………………………………………………. 1

HÌNH 1.2…………………………………………………………………………..... 2
HÌNH 1.3…………………………………………………………………………..... 3
HÌNH 1.4…………………………………………………………………………..... 3
HÌNH 1.5…………………………………………………………………………..... 4
HÌNH 1.6…………………………………………………………………………..... 7
HÌNH 1.7…………………………………………………………………………..... 9
HÌNH 1.8…………………………………………………………………………... 10
HÌNH 1.9…………………………………………………………………………... 10
HÌNH 2.1…………………………………………………………………………... 11
HÌNH 2.2………………………………………………………………………….. 12
HÌNH 2.3………………………………………………………………………….. 12
HÌNH 2.4………………………………………………………………………….. 13
HÌNH 2.5………………………………………………………………………….. 13
HÌNH 2.6………………………………………………………………………….. 14
HÌNH 2.7………………………………………………………………………….. 14
HÌNH 2.8…………………………………………………………………………... 15
HÌNH 2.9…………………………………………………………………………... 15
HÌNH 2.10…………………………………………………………………………. 16
HÌNH 2.11…………………………………………………………………………. 17
HÌNH 2.12…………………………………………………………………………. 18
HÌNH 2.13…………………………………………………………………………. 19
HÌNH 2.14…………………………………………………………………………. 20
HÌNH 2.15…………………………………………………………………………. 22

3
SV Nguyễn Quốc Đạt

GV Nguyễn Vĩnh Thành



Nên luận 2

Robot tránh vật cản

LỜI NHẬN XÉT CỦA GIẢNG VIÊN

…………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………

…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………

i
SV Nguyễn Quốc Đạt

GV Nguyễn Vĩnh Thành


Nên luận 2


Robot tránh vật cản

LỜI MỞ ĐẦU

Ngày nay với sự phát triển mạnh mẽ của nền công nghiệp hóa hiện đại hóa đất
nước đòi hỏi nhu cầu về thẩm mỹ là rất cần thiết ,nên việc áp dụng khoa học kỹ thuật
mới là nhu cầu tất yếu của xã hội . đòi hỏi các kỹ thuật ngày càng phải phát triển để
phù hợp với nền công nghiệp hóa hiện đại hóa đất nước. Với xu thế hiện nay khi các
bạn bước chân vào các cửa hàng, khách sạn bạn sẽ dễ dàng bắt gặp các khối led trang
trí rất đẹp có nhiều màu sắc khác nhau ,chạy theo các trạng thái nhau rất ấn tượng.
Với sự phát triện không ngừng của khoa học kỹ thuật, đặc biệt là ngành điện tử đã ứng
dụng rất nhiều trong công nghiệp trong lĩnh vực vi điều khiển, từ khi công nghiệp chế
tạo vi mạch lập trình phát triển đã đem đến các kĩ thuật điều khiển hiện đại.
Tạo ra những thành tựu đó có thể biến những cái tưởng chừng như không thể
thành có thể, góp phần năng cao đời sống vật chất và tinh thần cho con người. Vì vậy
sau khi chúng em tiếp cận được môn học vi điều khiển,cùng với những thực nghiệm,
chúng em áp dụng kiến thức đó vào việc thiết kế sản phẩm thực tế qua đề tài Niên
luận : “ led cube 4x4x4 dùng arduino”.

ii
SV Nguyễn Quốc Đạt

GV Nguyễn Vĩnh Thành


Nên luận 2

Robot tránh vật cản

LỜI CẢM ƠN


Đề tài được hoàn thành đúng theo thời gian yêu cầu của nhà trường cũng như của
khoa và đạt được kết quả như trên không chỉ là sự nỗ lực của bản thân em mà còn có
sự chỉ bảo của thầy cô và bạn bè. Em xin chân thành cám ơn thầy trong bộ môn ĐiệnĐiện Tử, đặc biết là thầy Nguyễn Vĩnh Thành đã hướng dẫn, góp ý để em hoàn thành
tốt Niên luận. Xin cám ơn các bạn trong lớp đã giúp đỡ tôi rất nhiều như sách vở,
phương tiện, kiến thức. Trong quá trình thực hiện đề tài này, dù đã cố gắng, xong cũng
không tránh khỏi nhiều thiếu xót, mong thầy cô và các bạn đóng góp ý kiến để đề tài
thành công hơn nửa. Em xin chân thành cảm ơn!.

Sinh viên thực hiện

Dương Thiện Tú

iii
SV Nguyễn Quốc Đạt

GV Nguyễn Vĩnh Thành


Nên luận 2

Robot tránh vật cản

CHƯƠNG I: GIỚI THIỆU CHUNG

1.1 Module Động cơ L298 V1
Module L298 có thể điều khiển 2 động cơ DC hoặc 1 động cơ bước, có 4 lỗ nằm ở
4 góc thuận tiện cho người sử dụng cố định vị trí của module.
1.2.1


Thông số kỹ thuật

- Driver: L298N tích hợp hai mạch cầu H.
- Điện áp điều khiển: +5 V ~ +12 V
- Dòng tối đa cho mỗi cầu H là: 2A
- Điện áp của tín hiệu điều khiển: +5 V ~ +7 V
- Dòng của tín hiệu điều khiển: 0 ~ 36mA
- Công suất hao phí: 20W (khi nhiệt độ T = 75 ℃)
- Nhiệt độ bảo quản: -25 ℃ ~ +130 ℃
- Kích thước: 55mmx49mmx33mm (với các trụ cột cố định và chiều cao của tản
nhiệt)
- Trọng lượng: 33g

Hình 1.1
1.2 Cảm biến siêu âm SRF 05
Cảm biến SRF05 dùng để nhận biết khoảng cách đến vật cản nhờ sóng siêu âm
phát ra từ cảm biến và nhận về (Quãng đường = vận tốc x thời gian / 2), SRF05 có
thêm 1 chân Out, theo nhà sản xuất thì có thể chỉ dùng chân này mà không cần đến
chân trigger và echo. Cảm biến siêu âm càng xa thì càng bắt không chính xác, vì góc
quét của cảm biến sẽ mở rộng dần theo hình nón, ngoài ra bề mặt xiên hay xù xì cũng

1
SV Nguyễn Quốc Đạt

GV Nguyễn Vĩnh Thành


Nên luận 2

Robot tránh vật cản


làm giảm độ chính xác của cảm biến, thông số kỹ thuật ghi ở dưới đây là của nhà sản
suất test trong điều khiện lý tưởng, còn thực tế thì tùy theo môi trường
1.2.1 Thông số kỹ thuật
- Điện áp hoạt động: 5VDC
- Dòng cấp: < 2mA
- Góc quét:<15 độ
- Tín hiệu: TTL
- Phát hiện vật cản trong khoảng: 2-300cm
- Kích thước: 43mm x 20mm x 17mm

Hình 1.2
1.3 Động Cơ Servo Tower Pro 9g
Servo Tower Pro 9g là một dạng động cơ điện đặc biệt. Không giống như động cơ
thông thường cứ cắm điện vào là quay liên tục, servo chỉ quay khi được điều khiển
(bằng xung PPM) với góc quay nằm trong khoảng bất kì từ 0o – 180o. Động cơ
servo Tower Pro 9g được thiết kế những hệ thống hồi tiếp vòng kín. Tín hiệu ra của
động cơ được nối với một mạch điều khiển. Khi động cơ quay, vận tốc và vị trí sẽ
được hồi tiếp về mạch điều khiển này. Nếu có bầt kỳ lý do nào ngăn cản chuyển động
quay của động cơ, cơ cấu hồi tiếp sẽ nhận thấy tín hiệu ra chưa đạt được vị trí mong
muốn. Mạch điều khiển tiếp tục chỉnh sai lệch cho động cơ đạt được điểm chính xác.
Các động cơ servo điều khiển bằng liên lạc vô tuyến được gọi là động cơ servo
RC (radio-controlled). Trong thực tế, bản thân động cơ servo không phải được điều
khiển bằng vô tuyến, nó chỉ nối với máy thu vô tuyến trên máy bay hay xe hơi. Động
cơ servo nhận tín hiệu từ máy thu này.
1.3.1 Thông số kỹ thuật
-

Kích thước: 23x12.2x29mm
Mô-men: 0.5kg/cm

2

SV Nguyễn Quốc Đạt

GV Nguyễn Vĩnh Thành


Nên luận 2

Robot tránh vật cản

-

Gian hàng mô-men: 1.5kg/cm lúc 5V
Điều hành Tốc độ: 0.3sec/60degree lúc 4.8V
Điều hành điện áp: 4.2-6v
Nhiệt độ: 0-55 °c

Hình 1.3
1.4 Khung xe 3 bánh

Hình 1.4

3
SV Nguyễn Quốc Đạt

GV Nguyễn Vĩnh Thành


Nên luận 2


Robot tránh vật cản

1.5 Board mạch Arduino Uno R3

Hình 1.5

1.4.1 Thông số kỹ thuật
Vi điều khiển

ATmega328 họ 8bit

Điện áp hoạt động

5V DC (chỉ được cấp qua cổng USB)

Tần số hoạt động

16 MHz

Dòng tiêu thụ

khoảng 30mA

Điện áp vào khuyên dùng 7-12V DC
Điện áp vào giới hạn

6-20V DC

Số chân Digital I/O


14 (6 chân hardware PWM)

Số chân Analog

6 (độ phân giải 10bit)

Dòng tối đa trên mỗi chân
I/O

30 mA

Dòng ra tối đa (5V)

500 mA

Dòng ra tối đa (3.3V)

50 mA

Bộ nhớ flash

32 KB (ATmega328) với 0.5KB dùng bởi bootloader

SRAM

2 KB (ATmega328)
4

SV Nguyễn Quốc Đạt


GV Nguyễn Vĩnh Thành


Nên luận 2

Robot tránh vật cản

EEPROM

1 KB (ATmega328)

1.4.2 Vi điều khiển của Arduino Uno R3
Arduino UNO có thể sử dụng 3 vi điều khiển họ 8bit AVR là Atmega8,
Atmega168, Atmega328. Chip này có thể xử lí những tác vụ đơn giản như điều khiển
đèn LED nhấp nháy, xử lí tín hiệu cho xe điều khiển từ xa, làm một trạm đo nhiệt độ độ ẩm và hiển thị lên màn hình LCD,…
Nguồn Arduino UNO có thể được cấp nguồn qua: Thông qua cổng USB với mức
điện áp 5v, nguồn ngoài với điện áp khuyên dùng là 7-12V DC và giới hạn là 6-20V.
Thông thường bạn có thể sử dụng pin 9v để cấp nguồn cho Arduino.

1.4.3 Các chân năng lượng của Arduino Uno R3
GND (Ground): cực âm của nguồn điện cấp cho Arduino UNO. Khi bạn dùng
các thiết bị sử dụng những nguồn điện riêng biệt thì những chân này phải được nối với
nhau.
5V: cấp điện áp 5V đầu ra. Dòng tối đa cho phép ở chân này là 500mA.
3.3V: cấp điện áp 3.3V đầu ra. Dòng tối đa cho phép ở chân này là 50mA.
Vin (Voltage Input): để cấp nguồn ngoài cho Arduino UNO, bạn nối cực dương
của nguồn với chân này và cực âm của nguồn với chân GND.
IO-REF: điện áp hoạt động của vi điều khiển trên Arduino UNO có thể được đo
ở chân này. Và dĩ nhiên nó luôn là 5V. Mặc dù vậy bạn không được lấy nguồn 5V từ

chân này để sử dụng bởi chức năng của nó không phải là cấp nguồn.
RESET: việc nhấn nút Reset trên board để reset vi điều khiển tương đương với
việc chân RESET được nối với GND qua 1 điện trở 10KΩ.
Lưu ý:


Arduino UNO không có bảo vệ khi cắm ngược nguồn vào: Do đó bạn

phải hết sức cẩn thận, kiểm tra các cực âm – dương của nguồn trước khi cấp
cho Arduino UNO. Việc làm chập mạch nguồn vào sẽ làm Arduino không sử
dụng được nữa. Trong thời gian đầu tìm hiểu tốt nhất hãy sử dụng nguồn cấp
5
SV Nguyễn Quốc Đạt

GV Nguyễn Vĩnh Thành


Nên luận 2

Robot tránh vật cản

qua cổng USB


Các chân 3.3V và 5V trên Arduino: là các chân dùng để cấp nguồn ra

cho các thiết bị khác, không phải là các chân cấp nguồn vào. Việc cấp nguồn
sai vị trí có thể làm hỏng board.



Cấp nguồn: khi cấp nguồn ngoài không qua cổng USB cho Arduino UNO

với điện áp dưới 6V có thể làm hỏng board.


Cấp điện áp: khi cấp trên 13V vào chân RESET trên board có thể làm

hỏng vi điều khiển ATmega328.


Cường độ dòng điện vào/ra: ở tất cả các chân Digital và Analog của

Arduino UNO nếu vượt quá 200mA sẽ làm hỏng vi điều khiển.


Cấp điệp áp : trên 5.5V vào các chân Digital hoặc Analog của Arduino

UNO sẽ làm hỏng vi điều khiển.


Cường độ dòng điện: qua một chân Digital hoặc Analog bất kì của

Arduino UNO vượt quá 40mA sẽ làm hỏng vi điều khiển. Do đó nếu không
dùng để truyền nhận dữ liệu, bạn phải mắc một điện trở hạn dòng.
VI.Bộ nhớ của Arduino Uno R3
Vi điều khiển Atmega328 tiêu chuẩn cung cấp cho người dùng:
• 32KB bộ nhớ Flash: những đoạn lệnh bạn lập trình sẽ được lưu trữ trong
bộ nhớ Flash của vi điều khiển. Sẽ có khoảng vài KB trong số này sẽ được
dùng cho bootloader nhưng thường thì ít khi nào phải sử dụng quá 20kb bộ
nhớ này.

• 2KB cho SRAM (Static Random Access Memory): giá trị các biến bạn
khai báo khi lập trình sẽ lưu ở đây. Bạn khai báo càng nhiều biến thì càng cần
nhiều bộ nhớ RAM. Tuy vậy, thực sự thì cũng hiếm khi nào bộ nhớ RAM lại
trở thành thứ mà bạn phải bận tâm. Chú ý: khi mất điện, dữ liệu trên SRAM sẽ
bị mất.
• 1KB cho EEPROM (Electrically Eraseble Programmable Read Only
Memory): tương tự như một chiếc ổ cứng mini – nơi có thể đọc và ghi dữ liệu
vào đây mà không phải lo bị mất khi mất điện giống như dữ liệu trên SRAM

6
SV Nguyễn Quốc Đạt

GV Nguyễn Vĩnh Thành


Nên luận 2

Robot tránh vật cản

Hình 1.6

1.4.4 Cổng vào/ra của Arduino Uno R3
Arduino UNO có 14 chân digital dùng để đọc hoặc xuất tín hiệu. Chúng chỉ có 2
mức điện áp là 0V và 5V với dòng vào/ra tối đa trên mỗi chân là 40mA. Ở mỗi chân
đều có các điện trở pull-up từ được cài đặt ngay trong vi điều khiển ATmega328 (mặc
định thì các điện trở này không được kết nối).
Một số chân digital có các chức năng đặc biệt như sau:


2 chân Serial: 0 (RX) và 1 (TX): dùng để gửi (transmit – TX) và nhận

(receive – RX) dữ liệu TTL Serial. Arduino Uno có thể giao tiếp với thiết bị
khác thông qua 2 chân này. Kết nối bluetooth thường thấy chính là kết nối
Serial không dây. Nếu không cần giao tiếp Serial, bạn không nên sử dụng 2
chân này nếu không cần thiết



Chân PWM (~): 3, 5, 6, 9, 10, và 11: cho phép bạn xuất ra xung PWM với
độphân giải 8bit (giá trị từ 0 → 28-1 tương ứng với 0V → 5V) bằng hàm
analogWrite(). Nói một cách đơn giản, bạn có thể điều chỉnh được điện áp
ra ở chân này từ mức 0V đến 5V thay vì chỉ cố định ở mức 0V và 5V như
những chân khác.



Chân giao tiếp SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). Ngoài
các chức năng thông thường, 4 chân này còn dùng để truyền phát dữ liệu
bằng giao thức SPI với các thiết bị khác.
7

SV Nguyễn Quốc Đạt

GV Nguyễn Vĩnh Thành


Nên luận 2


Robot tránh vật cản


LED 13: trên Arduino UNO có 1 đèn led màu cam (kí hiệu chữ L). Khi
bấm nút Reset, bạn sẽ thấy đèn này nhấp nháy để báo hiệu. Nó được nối với
chân số 13. Khi chân này được người dùng sử dụng, LED sẽ sáng.



6 chân analog (A0 → A5): cung cấp độ phân giải tín hiệu 10bit (0 → 2101) để đọc giá trị điện áp trong khoảng 0V → 5V.



Chân AREF: để đưa vào điện áp tham chiếu khi sử dụng các chân analog.
Tức là nếu bạn cấp điện áp 2.5V vào chân này thì bạn có thể dùng các chân
analog để đo điện áp trong khoảng từ 0V → 2.5V với độ phân giải vẫn là
10bit.



2 chân A4 (SDA) và A5 (SCL): hỗ trợ giao tiếp I2C/TWI với các thiết bị
khác.

1.4.5 Giớ thiệu phần mềm Arduino IDE
Arduino Uno R3 được lập trình dựa trên ngôn ngữ Wiring (đây là một biến thể
của C/C++). Do vậy có thể nói ngôn ngữ lập trình Arduino bắt nguồn từ C/C++ phổ
biến hiện nay do đó rất dễ học, dễ hiểu. Để lập trình cũng như gửi lệnh và nhận tín
hiệu từ mạch Arduino, nhóm phát triển dự án này đã cũng cấp đến cho người dùng một
môi trường lập trình Arduino được gọi là Arduino IDE (Intergra ted Development
Environment). Gồm các thành phần chính:
 Giao diện
Hình 1.7


8
SV Nguyễn Quốc Đạt

GV Nguyễn Vĩnh Thành


Nên luận 2

Robot tránh vật cản

Hình 1.7
Vùng lệnh: Bao gồm các nút lệnh menu (File, Edit, Sketch, Tools, Help). Phía
dưới là các icon cho phép sử dụng nhanh các chức năng thường dùng của IDE
được miêu tả như sau:

Icon

Chức năng
Biên dịch chương trình đang soạn thảo
đển kiểm tra các lỗi lập trình.
Biên dịch và upload chương trình đang
soạn thảo.
Mở một trang soạn thảo mới.
Mở các chươn trình đã lưu.
Lưu chương trình đang soạn.
Mở cửa sổ Serial Monitor để gửi và nhận
dữ liệu giữa máy tính và Board Arduino.

9
SV Nguyễn Quốc Đạt


GV Nguyễn Vĩnh Thành


Nên luận 2

Robot tránh vật cản

Vùng viết chương trình: Bạn sẽ viết các đoạn mã của mình tại đây. Tên chương
trình của bạn được hiển thị ngay dưới dãy các Icon, ở đây nó tên là “Blink”.
Hình 1.8

Vùng thông báo (debug): Những thông báo từ IDE sẽ được hiển thị tại đây. Để ý
rằng góc dưới cùng bên phải hiển thị loại board Arduino và cổng COM được sử
dụng. Luôn chú ý tới mục này bởi nếu chọn sai loại board hoặc cổng COM, bạn

sẽ không thể upload được code của mình.
Hình 1.8

 Một số lưu ý:Khi lập trình, các bạn cần chọn port (cổng kết nối khi gắn board
vào) và board (tên board mà bạn sử dụng). Giả sử, bạn đang dùng mạch
Arduino Uno, và khi gắn board này vào máy tính bằng cáp USB nó được
nhận là COM4 thì bạn chỉnh như thế này là có thể lập trình đươc nhé.

Hình 1.9
10
SV Nguyễn Quốc Đạt

GV Nguyễn Vĩnh Thành



Nên luận 2

Robot tránh vật cản

CHƯƠNG 2: THIẾT KẾ VÀ THI CÔNG

2.1

Linh kiện khối Cube
Các linh kiện cần chuẩn bị:
-

2.2

Khung xe robot 3 bánh
Module động cơ L298
Kit Arduino UNO R3
Cảm biến siêu âm
Khung cảm biến siêu âm
Động Cơ Servo Tower Pro 9g
Dây nguồn pin 9V có đầu cắm
Cáp 7 màu và keo nến
Đế pin 18650 x2
2 pin Ultrafire 1200 mAh

Sơ đồ khối của mạch

Nguồn 5v hặc 9v


Khối Xử lý
Arduino uno r3

Tin hiệu số

Cảm biến và
động cơ

Hình 2.1
2.3

Lắp ráp
Trong robot tự tránh vật cản ta cần cấp nguồn cho kit Arduino UNO và module điều
khiển động cơ L298 hoạt động, ta dùng dây nguồn pin 9V loại có đầu cắm và đế pin
đôi 18650 hàn 2 dây theo cặp như hình sau:

11
SV Nguyễn Quốc Đạt

GV Nguyễn Vĩnh Thành


Nên luận 2

Robot tránh vật cản

Hình 2.2
sau khi hàn xong ta có thể cấp nguồn cho Module điều khiển động cơ L298 và đầu
cắm thì cấp cho Kit Arduino. Trên module L298 các bạn để ý có 3 lối vào, ta Vcc,
GND, +5V ta cấp nguồn thông qua 2 cổng Vcc và GND nhé.


Hình 2.3
Khi kết nối các bạn chú ý nối dây chính xác, Arduino phải sáng đèn xanh, L298 báo
đèn đỏ khi nhấn nút màu trắng. Module L298 có 2 cách cấp nguồn, cấp nguồn Vcc
thì điện áp bằng điện áp tổng trên 2 pin ( khoảng 7.4V), và cấp nguồn thông qua
cổng +5V. Hai trạng thái này được chuyển đổi qua lại bằng 1 nút nhấn màu trắng.
Trong bài viết này ta chỉ sử dụng nguồn Vcc ta sẽ tận dụng nút nhấn này làm công
tắc, tức là khi ân nút nhấn sẽ có nguồn 7.4V cấp cho động cơ hoạt động còn khi nhả
nút nhấn sẽ không có điện áp cấp vào động cơ, như vậy chúng ta sẽ có một chiếc
nút nhấn ON/OFF rồi.
Bước 2: Gắn cảm biến siêu âm lên Servo SG90
Các bạn lấy thanh trợ lực trên servo SG90 và gắn lên trục động cơ như hình sau:
12
SV Nguyễn Quốc Đạt

GV Nguyễn Vĩnh Thành


Nên luận 2

Robot tránh vật cản

Hình 2.4

Ta tiếp tục lấy khung cảm biến siêu âm gắn vào cảm biến siêu âm :

Hình 2.5
Chú ý quay phần chân jump của cảm biến siêu âm ra phía ngoài nhé. Sau đó chúng
ta dùng keo nến gắn nó lên động cơ servo SG90.


13
SV Nguyễn Quốc Đạt

GV Nguyễn Vĩnh Thành


Nên luận 2

Robot tránh vật cản

Hình 2.6
Các bạn gắn ngang theo chiều SG90 như hình nhé
Bước 3: Ráp khung xe ba bánh
Lắp xong chúng ta được như hình sau:
Chúng ta dùng keo nến lần lượt gắn các phần đã lắp ráp từ trước lên khung xe. Đầu
tiên là servo nhé. Chúng ta sẽ gắn lên đầu như hình:

Hình 2.7
Bước 4: Lắp phần L298 và kit Arduino nhé
14
SV Nguyễn Quốc Đạt

GV Nguyễn Vĩnh Thành


Nên luận 2

Robot tránh vật cản

Hình 2.8

Đặt lên khung thôi, để cân bằng trọng tâm các bạn lắp đế pin ở dưới gần xe nhé,
L298 ở phía trên để tiện cho nút bấm. Kit Arduino thì đặt ở giữa nhé.

15
SV Nguyễn Quốc Đạt

GV Nguyễn Vĩnh Thành


Nên luận 2

Robot tránh vật cản
Hình 2.9

Có định bằng keo nến khá chắc đó, bạn nào chưa yên tâm thì có thể dùng ốc nhé,
đế pin 18650 có lỗ bắt ốc ở bên trong đó. Dán module L298 lên phía trên cho thật
cân đối

Hình 2.10
2.4

Đấu chân vào Arduino

16
SV Nguyễn Quốc Đạt

GV Nguyễn Vĩnh Thành


Nên luận 2


Robot tránh vật cản

Hình 2.11
2.5

Lập trình cho mạch
Để lập trình cho mạch ta có 2 ngôn ngữ chính đó là ASM và ngôn ngữ C. Hiện
nay ngôn ngữ C được sử dụng rộng rãi hơn do dễ lập trình hơn và các dòng lệnh
ngắn hơn so với ASM tiết kiệm bộ nhớ cho vi điều khiển đáng kể. Sau đây là một
vài lưu đồ giải thuật của xe cảm biến siêu âm.

17
SV Nguyễn Quốc Đạt

GV Nguyễn Vĩnh Thành


Nên luận 2

Robot tránh vật cản

Hình 2.12
2.6.1

Giới thiệu một số hàm trong phần mềm lập trình Arduino IDE

Các hàm nhập xuất Digital (digital I/O):
 pinMode(): Cấu hình 1 pin quy định hoạt động như là một đầu vào
(INPUT) hoặc đầu ra (OUTPUT). Xem mô tả kỹ thuật số (datasheet) để biết

chi tiết về các chức năng của các chân.
Cú pháp : pinMode(pin, mode)
Trong đó :
-

pin: Số của chân digital mà bạn muốn thiết đặt

-

mode: INPUT, INPUT_PULLUP hoặc OUTPUT

-

Trả về: Không

Ví dụ:
int ledPin = 13;

// đèn LED được kết nối với chân digital 13

void setup()
{
pinMode(ledPin, OUTPUT);

// thiết đặt chân ledPin là OUTPUT

}

void loop()
{

digitalWrite(ledPin, HIGH); // bật đèn led
18
SV Nguyễn Quốc Đạt

GV Nguyễn Vĩnh Thành


Nên luận 2

Robot tránh vật cản

delay(1000);

// dừng trong 1 giây

digitalWrite(ledPin, LOW);
delay(1000);

// tắt đèn led

// dừng trong 1 giây }

Hình 2.13
*Ghi chú: Các chân Analog cũng có thể được sử dụng dưới dạng Digital I/O. Ví dụ:
A0, A1, ...

 digitalRead(): Đọc tín hiệu điện từ một chân digital (được thiết đặt là
INPUT).Trả về 2 giá trị HIGH hoặc LOW.
Cú pháp: digitalRead(pin)
Trong đó:

-

pin: giá trị của digital muốn đọc

-

Trả về

-

HIGH hoặc LOW

Ví dụ
19
SV Nguyễn Quốc Đạt

GV Nguyễn Vĩnh Thành


×