TRƢỜNG ĐẠI HỌC THỦ DẦU MỘT
KHOA KHOA HỌC TỰ NHIÊN
BÁO CÁO TỔNG KẾT
ĐỀ TÀI NGHIÊN CỨU KHOA HỌC CỦA SINH VIÊN THAM GIA
CUỘC THI SINH VIÊN NGHIÊN CỨU KHOA HỌC NĂM HỌC 2016-20117
XÉT GIẢI THƢỞNG "TÀI NĂNG KHOA HỌC TRẺ ĐẠI HỌC THỦ DẦU MỘT"
NĂM 2017
GẬY ĐỊNH HƢỚNG CHO NGƢỜI MÙ
Thuộc nhóm ngành khoa học (xác định chính xác nhóm ngành để xét giải)
1
TRƢỜNG ĐẠI HỌC THỦ DẦU MỘT
KHOA KHOA HỌC TỰ NHIÊN
BÁO CÁO TỔNG KẾT
ĐỀ TÀI NGHIÊN CỨU KHOA HỌC CỦA SINH VIÊN THAM GIA
CUỘC THI SINH VIÊN NGHIÊN CỨU KHOA HỌC NĂM HỌC 2016-2017
XÉT GIẢI THƢỞNG "TÀI NĂNG KHOA HỌC TRẺ ĐẠI HỌC THỦ DẦU MỘT"
NĂM 2017
GẬY ĐỊNH HƢỚNG CHO NGƢỜI MÙ
Thuộc nhóm ngành khoa học:
Sinh viên thực hiện: Nguyễn Huỳnh Minh Chí
Nam, Nữ: Nam
Dân tộc: Kinh
Lớp: C14VL02
khoa: Khoa học tự nhiên
3
Ngành học: Sƣ phạm Vật lý
Ngƣời hƣớng dẫn: Ts. Võ Văn Ớn
2
Năm thứ: 3 Số năm đào tạo:
UBND TỈNH BÌNH DƢƠNG
CỘNG HÕA XÃ HỘI CHỦ NGHĨA VIỆT NAM
TRƢỜNG ĐẠI HỌC THỦ DẦU MỘT
Độc lập – Tự do – Hạnh phúc
THÔNG TIN KẾT QUẢ NGHIÊN CỨU CỦA ĐỀ TÀI
1. Thông tin chung:
- Tên đề tài: Gậy định hƣớng cho ngƣời mù
- Sinh viên thực hiện: Nguyễn Huỳnh Minh Chí
- Lớp: C14VL02
Khoa: Khoa học tự nhiên
Năm thứ: 3
Số năm đào tạo: 3
- Ngƣời hƣớng dẫn:
2. Mục tiêu đề tài:
Sử dụng mạch Arduino và cảm biến siêu âm để chế tạo gậy định hƣớng hỗ trợ
cho ngƣời mù đi lại.
3. Tính mới và sáng tạo:
Cảm biến phát ra sóng siêu âm về phía trƣớc và thu lại tín hiệu sóng trong
phạm vi nhất định sẽ báo chuông để nhận biết phía trƣớc có vật cản.
4. Kết quả nghiên cứu:
Sản phẩm đạt đƣợc là gậy định hƣớng cho ngƣời mù.
5. Đóng góp về mặt kinh tế - xã hội, giáo dục và đào tạo, an ninh, quốc phòng
và khả năng áp dụng của đề tài:
Giúp ngƣời mù nhận biết đƣợc phía trƣớc có vật cản và tránh chúng, hỗ trợ
cho việc đi lại trở nên dễ dàng hơn.
6. Công bố khoa học của sinh viên từ kết quả nghiên cứu của đề tài (ghi rõ họ
tên tác giả, nhan đề và các yếu tố về xuất bản nếu có) hoặc nhận xét, đánh giá của
cơ sở đã áp dụng các kết quả nghiên cứu (nếu có):
3
Ngày
tháng
năm
Sinh viên chịu trách nhiệm chính
thực hiện đề tài
(ký, họ và tên)
Nhận xét của ngƣời hƣớng dẫn về những đóng góp khoa học của sinh viên
thực hiện đề tài (phần này do người hướng dẫn ghi):
Ngày
tháng
Xác nhận của lãnh đạo khoa
Ngƣời hƣớng dẫn
(ký, họ và tên)
(ký, họ và tên)
4
năm
UBND TỈNH BÌNH DƢƠNG
CỘNG HÕA XÃ HỘI CHỦ NGHĨA VIỆT NAM
TRƢỜNG ĐẠI HỌC THỦ DẦU MỘT
Độc lập – Tự do – Hạnh phúc
THÔNG TIN VỀ SINH VIÊN
CHỊU TRÁCH NHIỆM CHÍNH THỰC HIỆN ĐỀ TÀI
I. SƠ LƢỢC VỀ SINH VIÊN:
Ảnh 4x6
Họ và tên: Nguyễn Huỳnh Minh Chí
Sinh ngày: 24 tháng 5 năm 1996.
Nơi sinh: Đồng Nai.
Lớp: C14VL02
Khóa: 2014-2017
Khoa: Khoa học tự nhiên
Địa chỉ liên hệ: Khánh Bình, Tân Uyên, Bình Dƣơng
Điện thoại: 0966543051
Email:
[email protected]
II. QUÁ TRÌNH HỌC TẬP (kê khai thành tích của sinh viên từ năm thứ 1 đến
năm đang học):
* Năm thứ 1:
Ngành học: Sƣ phạm Vật lý
Khoa: Khoa học tự nhiên
Kết quả xếp loại học tập: TB
Sơ lƣợc thành tích:
* Năm thứ 2:
Ngành học: Sƣ phạm Vật lý
Khoa: Khoa học tự nhiên
Kết quả xếp loại học tập: TB
5
Sơ lƣợc thành tích:
III. NHÓM SINH VIÊN THỰC HIỆN:
1. Nguyễn Huỳnh Minh Chí
2. Trịnh Ngọc Anh
Ngày
tháng
năm
Xác nhận của lãnh đạo khoa
Sinh viên chịu trách nhiệm chính
(ký, họ và tên)
thực hiện đề tài
(ký, họ và tên)
LỜI NÓI ĐẦU
Tự động hóa, robot hóa là xu hƣớng của nhân loại ngày nay. Từ ngàn xƣa, con
ngƣời luôn ƣớc ao có những cỗ máy để làm việc thay thế mình. Trong thời đại
6
hiện nay, với sự phát triển mạnh mẽ của khoa học kỹ thuật, con ngƣời đã dần tạo
ra những máy móc thông minh, giúp mình từ các công việc thƣờng ngày đến
những công việc khó khăn nguy hiểm. Các máy tự động, các robot thông minh, tự
hành do con ngƣời tạo nên không chỉ tồn tại ở trái đất mà còn có mặt tại mặt
trăng, sao hỏa, trong không gian.
Đi cùng với nhịp điệu phát triển của khoa học kỹ thuật trên thế giới, ngƣời Việt
Nam cũng đang rất nỗ lực trong nghiên cứu khoa học kỹ thuật, đặc biệt là trong
lĩnh vực tự động hóa, robot hóa, phục vụ cho đời sống hàng ngày, cho công cuộc
xây dựng và bảo vệ đất nƣớc Việt Nam thân yêu. Sự nỗ lực đó đã giúp cho ngƣời
Việt dần nắm bắt, làm chủ các công nghệ tiến tiến trên thế giới, từ xây cầu dây
văng đến làm hầm Sài Gòn và hiện nay là thực hiện công trình tàu điện ngầm tại
Việt Nam. Ngƣời Việt với sự cần cù sáng tạo và tình yêu quê hƣơng đất nƣớc
mạnh mẽ, cùng vị trí địa lý chiến lƣợc của quốc gia nhất định sẽ thực hiện thành
công sự nghiệp công nghiệp hóa, hiện đại hóa của mình và nhất định trong tƣơng
lai gần sẽ bắt kịp các nƣớc phát triển trong khu vực về khoa học và kỹ thuật.
Sự ra đời của mạch Arduino thúc đẩy sự yêu thích, tìm tòi nghiên cứu, ứng dụng
tự động hóa , robot hóa vào đời sống và công nghiệp. Với những ƣu điểm riêng
của mình, Arduino đã nhanh chóng nổi tiếng toàn thế giới và đƣợc giới học sinh,
sinh viên, giới nghiên cứu, những ngƣời yêu thích kỹ thuật, những ngƣời thích
làm đồ tự chế sử dụng rộng rãi. Tại Việt Nam, số lƣợng ngƣời sử dụng mạch
Arduino ngày càng tăng. Để đáp ứng nhu cầu tìm hiểu Arduino, tài liệu này đã
đƣợc biên soạn. Tài liệu gồm có 6 phần, chủ yếu đáp ứng nhu cầu tự học của các
bạn mới bắt đầu tìm hiểu về Arduino. Tài liệu đƣợc viết một cách ngắn gọn, dễ
hiểu, đi vào những vấn đề cốt lõi trong việc sử dụng Arduino cho cuộc sống.
Dù đã cố gắng nhiều trong quá trình viết tài liệu, nhƣng chắc chắn tài liệu không
thể tránh khỏi sai sót trong quá trình biên soạn. Tác giả rất mong nhận đƣợc sự
7
góp ý chân thành của các bạn để tác giả có thể hoàn thiện hơn nữa tài liệu này.
Tác giả xin chân thành cảm ơn.
Tác giả
Nguyễn Huỳnh Minh Chí
Trịnh Ngọc Anh
MỤC LỤC
Nội dung
Trang
8
Phần
1:
Tính
cấp
thiết
của
đề
tài
……………………………….……………..10
Phần
2:
Mục
tiêu
của
đề
tài
……….……………………………….………..…10
Phần 3: Đối tƣợng, phạm vi nghiên cứu, cách tiếp cận và phƣơng pháp nghiên
cứu …………………………………………………………..………..………10
Phần
4:
Nội
dung
và
tiến
độ
thực
hiện…………….……………..................….10
1.
Giới
thiệu
về
Arduino………………………………………………………10
Lấy
2.
tín
hiệu
từ
cảm
biến……………………….……………………............11
3. Hiển thị khoảng cách lên màn hình LCD………………… ….....................13
4. Sử dụng mạch chuông điện………………………………………...….……20
Phần
5:
Sản
phẩm
và
……………………………….….….22
9
khả
năng
ứng
dụng
PHẦN I: TÍNH CẤP THIẾT CỦA ĐỀ TÀI
Việc đi lại của ngƣời mù là vô cùng khó khăn điều này thì chắc ai cũng rõ. Ngƣời
mù bị thụ động trong việc đi lại phải dựa vào những vật để chỉ đƣờng cho mình
nhƣ cây gậy, hoặc ở một số nƣớc ngƣời ta còn huấn luyện chó để dẫn đƣờng cho
ngƣời mù, và ngƣời ta đã dần áp dụng công nghệ vào việc đi lại của ngƣời mù,
nhƣ một công ty ở nƣớc ngoài đã sản xuất và bán đại trà gậy chỉ đƣờng cho ngƣời
mù nhƣng giá thành rất cao không phải ngƣời mù nào cũng có thể mua đƣợc nó,
do đó chúng tôi đã chọn đề tài trên trƣớc hết để tìm hiểu, học hỏi cách lắp sáp sử
dụng Arduino cũng nhƣ thiết kế gậy cho ngƣời mù mang tính thiết thực hơn.
PHẦN II: MỤC TIÊU CỦA ĐỀ TÀI
Sử dụng mạch Arduino và cảm biến siêu âm để chế tạo gậy định hƣớng hỗ trợ cho
ngƣời mù đi lại.
PHẦN III: ĐỐI TƢỢNG, PHẠM VI NGHIÊN CỨU, CÁCH
TIẾP CẬN VÀ PHƢƠNG PHÁP NGHIÊN CỨU
Mạch arduino, cảm biến siêu âm, ngôn ngữ lập trình arduino, cách lắp ráp
board mạch, chạy thữ.
Các khoảng cách nhỏ.
Nghiên cứu lý thuyết, chế tạo thiết bị, vận hành thữ, điều chỉnh.
PHẦN IV: NỘI DUNG VÀ TIẾN ĐỘ THỰC HIỆN
1. GIỚI THIỆU VỀ ARDUINO
10
Arduino là một bo mạch vi điều khiển do một nhóm giáo sƣ và sinh viên Ý
thiết kế và đƣa ra đầu tiên vào năm 2005. Mạch Arduino đƣợc sử dụng để cảm
nhận và điều khiển nhiều đối tƣợng khác nhau. Nó có thể thực hiện nhiều nhiệm
vụ từ lấy tín hiệu từ cảm biến đến điều khiển đèn, động cơ, và nhiều đối tƣợng
khác. Ngoài ra mạch còn có khả năng liên kết với nhiều module khác nhau nhƣ
module đọc thẻ từ, ethernet shield, sim900A, ….để tăng khả ứng dụng của mạch.
Phần cứng bao gồm một board mạch nguồn mở đƣợc thiết kế trên nền tảng vi
xử lý AVR Atmel 8bit, hoặc ARM, Atmel 32-bit,…. Hiện phần cứng của
Arduino có tất cả 6 phiên bản, Tuy nhiên phiên bản thƣờng đƣợc sử dụng nhiều
nhất là Arduino Uno và Arduino Mega. Arduino Uno đƣợc sử dụng rất rộng rãi
trên thế giới, rất nhiều ví dụ trên youtube hoặc các trang hƣớng dẫn về Arduino
sử dụng mạch này.
Phần mềm để lập trình cho mạch Arduino là phần mềm IDE. Đây là phần
mềm mã nguồn mở, và có thể đƣợc download từ trang web của Arduino:
arduino.cc.
Hiện tại ở Việt Nam và trên thế giới cũng có nhiều bo mạch vi điều khiển
khác nhau. Tuy nhiên Arduino có một số ƣu điểm mà khiến nó trở nên nổi tiếng
và hiện đang đƣợc sử dụng rộng rãi trên thế giới. Những ƣu điểm đó là: rẻ, tƣơng
thích đƣợc với nhiều hệ điều hành, chƣơng trình lập trình đơn giản, rõ ràng, dễ sử
dụng, sử dụng mã nguồn mở và có thể kết hợp với nhiều module khác nhau.
2. LẤY TÍN HIỆU TỪ CẢM BIẾN
Mụch đích của bài này là giúp các bạn hiểu cách lấy tín hiệu tƣơng tự (Analog)
và tín hiệu số (digital) từ cảm biến.
1. Dụng cụ thực hành:
Dụng cụ thực hành bao gồm 1 cảm biến siêu âm, 1 board Arduino Uno.
11
2. Cảm biến siêu âm đo khoảng cách:
Loại cảm biến này đƣợc sử dụng để đo độ khoảng cách, đƣợc dùng để đo khoảng
cách trong phạm vi từ 3cm đến 4m. Cảm biến có 5 chân, gồm 2 chân cấp nguồn
VCC và GND, 2 chân thu và phát là trig và echo, 1 chân out.
Hình 1. Cảm biến siêu âm
3. Nối dây:
Chân VCC nối nguồn 5V, chân GND nối chân GND trên board Arduino, chân
trig nối chân 2, chân echo nối chân số 4. Ngƣời lập trình có thể nối chân khác,
nhƣng khi thay đổi chân nối thì ở phần khai báo cũng phải thay đổi theo.
4. Lập trình
Để lấy đƣợc tín hiệu digital, trong phần void setup () ngƣời lập trình cần khai báo
pinMode cho chân 3 là INPUT, chân 2 là OUTPUT. Nếu ngƣời dùng muốn quan
sát dữ liệu in ra máy tính, sau khi nạp chƣơng trình bên dƣới xong, ngƣời dùng
nhấn vào biểu tƣợng cái kính lúp (cho serial monitor)
IDE.
12
bên phải của màn hình
5. Phân tích mã code
Sau đây là mã code của chƣơng trình:
const int trig = 2; // chân trig của FRS-05
const int echo = 3; // chân echo của FRS-05
void setup()
{
Serial.begin(9600); // giao tiếp Serial với baudrate 9600
pinMode(trig,OUTPUT); // chân trig sẽ phát tín hiệu
pinMode(echo,INPUT); // chân echo sẽ nhận tín hiệu
}
void loop()
{
unsigned long duration; // biến đo thời gian
int distance; // biến lưu khoảng cách
/* Phát xung từ chân trig */
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
/* Tính toán thời gian */
// Đo độ rộng xung HIGH ở chân echo.
duration = pulseIn(echo,HIGH); // Tính khoảng cách đến vật.
distance = int(duration/2/29.412); /* In kết quả ra Serial Monitor */
Serial.print(distance);
Serial.println("cm");
delay(200);
}
3. HIỂN THỊ KHOẢNG CÁCH LÊN MÀN HÌNH LCD
13
Màn hình LCD là một trong những thiết bị thƣờng đƣợc sử dụng trong để
hiển thị các thông số trong quá trình sử dụng Arduino. Bài viết này hƣớng dẫn
cách sử dụng màn hình lcd 16x2 thông dụng trên thị trƣờng. Trong quá trình thực
hành, các bạn có thể tham khảo thêm clip trên youtube “Lập trình vi điều khiểnPhần 42-Kết nối màn hình LCD thƣờng với Arduino”.
1. Dụng cụ thực hành:
1 mạch Arduino Uno, 1 màn hình lcd 16x2, 1 rào đực đơn, 1 biến trở 10K, 15 dây
đực đực, 1 test board.
2. Màn hình lcd 16x2:
Màn hình lcd 16x2 là loại màn hình có 2 dòng, mỗi dòng có thể viết đƣợc
16 ký tự. Loại màn hình này cần đƣợc dùng kèm 1 biến trở 10K để chỉnh độ
tƣơng phản của chữ so với nền. Nếu không có biến trở này thì có thể không thấy
đƣợc chữ hiển thị. Hình 2 thể hiện màn hình LCD 16x2
www.ktphuhung.com
Hình 2. Màn hình LCD 16x2
Khi kết nối màn hình LCD với Arduino, ngƣời dùng cần hàn thêm rào đực
đơn hoặc rào cái đơn cho 16 chân của màn hình để có thể dùng các dây cắm đực
cái hoặc dây cắm đực đực kết nối các chân của LCD với board Arduino. Hình 28
thể hiện rào đực đơn, nếu các bạn mua bộ
14
Arduino cơ bản của shop thì trong bộ này có kèm theo rào đực đơn 16 chân. Hình
4 hƣớng dẫn cách gá đặt màn hình LCD và rào đực để hàn rào đực đơn vào màn
hình LCD. Tiếp đến, hình 5 thể hiện bộ LCD và rào sau khi hàn.
www.ktphuhung.com
Hình 3. Rào đực đơn 16 chân.
www.ktphuhung.com
Hình 4. Cách gá đặt màn hình LCD để hàn
15
www.ktphuhung.com
Hình 5. LCD và rào đực đơn sau khi hàn xong
3. Test board
Nghĩa của từ test board là một board để kiểm tra (test) nhằm giúp ngƣời
dùng liên kết thử các linh kiện điện tử khác nhau mà không cần hàn linh kiện.
Test board gồm các hàng lỗ để cắm chân linh kiện nhƣ ở hình 6. Các lỗ nằm trên
một hàng đƣợc nối với nhau bằng một tấm kim loại bên dƣới, 2 hàng khác nhau
thì riêng biệt với nhau, không đƣợc nối với nhau. Nhờ vậy mỗi hàng chúng ta có
thể lấy từng tín hiêu riêng của các thiết bị điện tử hoặc cấp nguồn cho các chân
khác nhau.
16
Khối 2
www.ktphuhung.com
Rãnh
ngă n 2
khối
Các lỗ
trong
một
hà ng
Hà ng 1
Khối 1
Hà ng2
………………….
Hà ng17
Hình 6. Test board
4. Cách nối dây
-Chân VSS (GND) nối với chân GND trên board Arduino
-Chân VDD(tƣơng ứng chân VCC của LCD) nối với chân 5V trên board Arduino
-Chân V0 (chân chỉnh độ tƣơng phản) nối với chân giữa của biến trở 10K (xem
hình 26)
-Chân RS nối với chân số 12
-Chân RW nối với 1 chân của biến trở 10K, chân này của biến trở cũng đƣợc nối
với chân GND
-Chân E (viết tắt của Enable) nối với chân số 11
-Chân D4 nối với chân số 5
-Chân D5 nối với chân số 4
-Chân D6 nối với chân số 3
-Chân D7 nối với chân số 2
17
-Chân A (chân thứ 15) nối nguồn 5V của Arduino
-Chân K (chân thứ 16) nối với chân GND của Arduino
-Ngoài ra chân còn lại của biến trở cũng đƣợc nối với nguồn 5V.
Ở đây, hai chân A và K dùng để bật đèn led nền. Biến trở dùng để chỉnh độ tƣơng
phản giữa chữ và màu nền. Bạn đọc có thể vặn núm xoay biến trở để thay đổi độ
tƣơng phản của chữ và nền. Hình 33 thể hiện cách nối dây khi sử dụng test board.
Hình 7. Cách nối dây cho màn hình LCD 16x2 với Arduino Uno
5. Mã code của chƣơng trình
Sau đây là một mã code mà các bạn có thể dùng test màn hình LCD:
#include
LiquidCrystal lcd(8, 9, 4, 5, 6, 7);
int echoPin = 2;
// the SRF05's echo pin
int initPin = 3;
// the SRF05's init pin
unsigned long pulseTime = 0;
// variable for reading the pulse
unsigned long distance = 0;
// variable for storing the distance
void setup() {
pinMode(initPin, OUTPUT);
// set ouput
18
pinMode(echoPin, INPUT);
// set input
lcd.begin(16,2);
Serial.begin(115200);
// lcd 16x2
// ket noi uart, baudrate 115200
}
void loop() {
// Send the sensor a 10us pulse (trigger)
digitalWrite(initPin, HIGH);
// dau ra initPin HIGH
delayMicroseconds(10);
// delay 10mcrosecond
digitalWrite(initPin, LOW);
// dau ra initPin HIGH
pulseTime = pulseIn(echoPin, HIGH);
distance = pulseTime/58;
// tinh khoang cach cm
Serial.print('A');
Serial.print(distance);
Serial.println('B');
// display result on LCD
lcd.setCursor(0,0);
lcd.print("KHOANG CACH");
lcd.setCursor(3,1);
lcd.print(distance); // hien thi khoang cach
lcd.setCursor(7,1);
lcd.print("cm");
delay(200);
lcd.setCursor(3,1);
lcd.print("
");
}
19
Hình 8: Kết quả đạt đƣợc
4. SỬ DỤNG CHUÔNG ĐIỆN
1. Dụng cụ thực hành:
Dụng cụ thực hành bao gồm 1 cảm biến siêu âm, 1 board Arduino Uno và 1
chuông điện.
2. Lập trình
Khi cảm biến siêu âm phát và thu tín hiệu trong phạm vi lập trình chuông sẽ báo.
3. Cách nói dây:
Chân dài của chuông điện là cực dƣơng, chân ngắn là cực âm. Cực dƣơng đƣợc
nối với chân 7 của Arduino (có thể nối với chân khác), cực âm đƣợc nối với chân
GND của Arduino.
20