robotchomoinguoi
Thành viên
- Tham gia
- 10/10/2017
- Bài viết
- 2
CẢM BIẾN VẬT CẢN HỒNG NGOẠI E18-D80NK
I. Giới thiệu cảm biến vật cản hồng ngoại E18-D80NK
Cảm biến vật cản hồng ngoại E18-D80NK dùng để phát hiện vật cản trong phạm vi 3 – 80cm. Loại cảm biến này sử dụng tín hiệu IR (ánh sáng hồng ngoại) để phát hiện vật cản, vì thế chúng hầu như không bị nhiễu bởi những loại ánh sáng thông thường bên ngoài. Cảm biến này có một biến trở dùng để điều chỉnh khoảng cách phát hiện vật cản, chúng ta có thể tùy chỉnh bằng cách xoay cảm biến này. Cảm biến này thường được sử dụng để xây dựng các hệ thống chống trộm thông minh, hệ thống dò đường cho robot, hệ thống đếm sản phẩm trong dây chuyền sản xuất, ….
Trong bài viết này mình sẽ cùng các bạn tìm hiểu về module E18-D80NK (hình 1) này nhé. Module E18-D80NK ở phần mặt trước sẽ có 2 chấm tròn nhô lên, đây là một đầu phát và một đầu thu tia hồng ngoại. Phần mặt sau sẽ có một led báo và một biến trở để điều chỉnh khoảng cách phát hiện vật cản của module này (Hình 2).
Bài viết liên quan
Bộ kit arduino robot
Khóa học lập trình điều khiển
Video hướng dẫn
Hình 1: Module E18-D80NK
II. Chuẩn bị
Arduino UNO r3 x 1
Module E18-D80NK x 1
Cáp kết nối arduino x 1
III. Nối dây và cài đặt
Bán Arduino Uno R3
9 Dây đen
cảm biến hồng ngoại vật cản
5V Dây nâu
GND Dây xanh
Hình 2: Sơ đồ kết nối
Sơ đồ nối dây cảm biến vật cản hồng ngoại
void setup() {
Serial.begin(9600);
pinMode(9,INPUT_PULLUP);
Serial.println(“Bắt đầu hệ thống”);
}
void loop() {
if(digitalRead(9)==0){
Serial.println(“Có đối tượng đi ngang”);
}
}
Sau khi nạp chương trình thành công, ta bật cửa sổ Serial Monitor lên sẽ thấy xuất hiện dòng thông báo (Hình 3). Khi có đối tượng ngang qua, hệ thống sẽ xuất hiện liên tục các thông báo như hình 4. Thông báo này sẽ xuất hiện liên tục cho đến khi đối tượng qua khỏi, chúng ta có thể cài đặt lại code lại để hệ thống chỉ báo hiệu một lần khi có đối tượng ngang qua.
Hình 3: Hệ thống bắt đầu
Hình 4: Khi có đối tượng đi ngang qua hệ thống
2.2 Tùy chỉnh hệ thống
2.2.1 Tùy chỉnh khoảng cách phát hiện vật cản
Module E18-D80NK của chúng ta có thể phát hiện được vật cản trong khoảng từ 3 đến 80 cm. Để thay đổi khoảng cách phát hiện, chúng ta phải xoay nhiều vòng ở biến trở, quy tắc xoay như sau: Xoay cùng chiều kim đồng hồ là tăng khoảng cách phát hiện đối tượng, ngược chiều kim đồng hồ là giảm khoảng cách phát hiện đối tượng.
2.2.2 Tùy chỉnh báo một lần khi phát hiện tín hiệu
Chúng ta muốn khi đối tượng đi ngang qua, hệ thống chỉ báo một lần cho đến khi nào đối tượng mới xuất hiện thì mới có thông báo tiếp theo. Ý tưởng cho việc này đó là khi phát hiện đối tượng chúng ta sẽ in ra thông báo, sau đó kiểm tra liên tục xem đối tượng đã qua hay chưa, nếu chưa thì kiểm tra tiếp, ngược lại chúng ta sẽ bắt đầu thực hiện lại hệ thống. Chúng ta có thể dùng vòng lặp while để kiểm tra, chương trình chúng ta lúc này sẽ trở thành:
void setup() {
Serial.begin(9600);
pinMode(9,INPUT_PULLUP);
Serial.println(“Bắt đầu hệ thống”);
}
void loop() {
if(digitalRead(9)==0){
Serial.println(“Có đối tượng đi ngang”);
while(digitalRead(9)==0){delay(100);}
}
}
III. Bài tập
Xây dựng hệ thống đếm lượng khách ra vào trong một thư viện.
Mô tả hệ thống: Người ta muốn xây dựng một hệ thống đếm số lượng độc giả hiện có trong một thư viện ở những khoảng thời gian khác nhau (7 giờ, 8 giờ, 9 giờ…) để hoạch định những kế hoạch phục vụ tốt nhất cho độc giả.
Thư viện hiện có 2 cửa dành cho độc giả, một cửa dành cho độc giả vào, cửa còn lại dành cho độc giả ra (có bảo vệ ngồi ở các chốt nên độc giả không thể đi ngược lại được). Mỗi cửa được thiết kế nhỏ (~60cm) chỉ đủ cho một người qua lọt. Vào đúng mỗi mốc thời gian sẽ có người đến ghi nhận lại số lượng độc giả hiện đang ở trong thư viện, thế nên hệ thống chỉ cần hiển thị ra số độc giả đang có trong thư viện là đủ.
Hướng dẫn thực hiện: Đặt hai module E18-D80NK ở cửa ra và cửa vào. Đặt một biến số lượng, khi phát hiện tín hiệu đi qua cửa vào thì tăng biến lên một đơn vị, tín hiệu qua cửa ra thì giảm biến số lượng đi một đơn vị. Mỗi khi có tín hiệu ra/vào thì cập nhật lại số lượng người trong hệ thống và in ra màn hình.
I. Giới thiệu cảm biến vật cản hồng ngoại E18-D80NK
Cảm biến vật cản hồng ngoại E18-D80NK dùng để phát hiện vật cản trong phạm vi 3 – 80cm. Loại cảm biến này sử dụng tín hiệu IR (ánh sáng hồng ngoại) để phát hiện vật cản, vì thế chúng hầu như không bị nhiễu bởi những loại ánh sáng thông thường bên ngoài. Cảm biến này có một biến trở dùng để điều chỉnh khoảng cách phát hiện vật cản, chúng ta có thể tùy chỉnh bằng cách xoay cảm biến này. Cảm biến này thường được sử dụng để xây dựng các hệ thống chống trộm thông minh, hệ thống dò đường cho robot, hệ thống đếm sản phẩm trong dây chuyền sản xuất, ….
Trong bài viết này mình sẽ cùng các bạn tìm hiểu về module E18-D80NK (hình 1) này nhé. Module E18-D80NK ở phần mặt trước sẽ có 2 chấm tròn nhô lên, đây là một đầu phát và một đầu thu tia hồng ngoại. Phần mặt sau sẽ có một led báo và một biến trở để điều chỉnh khoảng cách phát hiện vật cản của module này (Hình 2).
Bài viết liên quan
Bộ kit arduino robot
Khóa học lập trình điều khiển
Video hướng dẫn
Hình 1: Module E18-D80NK
II. Chuẩn bị
Arduino UNO r3 x 1
Module E18-D80NK x 1
Cáp kết nối arduino x 1
III. Nối dây và cài đặt
- Cách nối dây:
Bán Arduino Uno R3
9 Dây đen
cảm biến hồng ngoại vật cản
5V Dây nâu
GND Dây xanh
Hình 2: Sơ đồ kết nối
Sơ đồ nối dây cảm biến vật cản hồng ngoại
- Cài đặt
void setup() {
Serial.begin(9600);
pinMode(9,INPUT_PULLUP);
Serial.println(“Bắt đầu hệ thống”);
}
void loop() {
if(digitalRead(9)==0){
Serial.println(“Có đối tượng đi ngang”);
}
}
Sau khi nạp chương trình thành công, ta bật cửa sổ Serial Monitor lên sẽ thấy xuất hiện dòng thông báo (Hình 3). Khi có đối tượng ngang qua, hệ thống sẽ xuất hiện liên tục các thông báo như hình 4. Thông báo này sẽ xuất hiện liên tục cho đến khi đối tượng qua khỏi, chúng ta có thể cài đặt lại code lại để hệ thống chỉ báo hiệu một lần khi có đối tượng ngang qua.
Hình 3: Hệ thống bắt đầu
Hình 4: Khi có đối tượng đi ngang qua hệ thống
2.2 Tùy chỉnh hệ thống
2.2.1 Tùy chỉnh khoảng cách phát hiện vật cản
Module E18-D80NK của chúng ta có thể phát hiện được vật cản trong khoảng từ 3 đến 80 cm. Để thay đổi khoảng cách phát hiện, chúng ta phải xoay nhiều vòng ở biến trở, quy tắc xoay như sau: Xoay cùng chiều kim đồng hồ là tăng khoảng cách phát hiện đối tượng, ngược chiều kim đồng hồ là giảm khoảng cách phát hiện đối tượng.
2.2.2 Tùy chỉnh báo một lần khi phát hiện tín hiệu
Chúng ta muốn khi đối tượng đi ngang qua, hệ thống chỉ báo một lần cho đến khi nào đối tượng mới xuất hiện thì mới có thông báo tiếp theo. Ý tưởng cho việc này đó là khi phát hiện đối tượng chúng ta sẽ in ra thông báo, sau đó kiểm tra liên tục xem đối tượng đã qua hay chưa, nếu chưa thì kiểm tra tiếp, ngược lại chúng ta sẽ bắt đầu thực hiện lại hệ thống. Chúng ta có thể dùng vòng lặp while để kiểm tra, chương trình chúng ta lúc này sẽ trở thành:
void setup() {
Serial.begin(9600);
pinMode(9,INPUT_PULLUP);
Serial.println(“Bắt đầu hệ thống”);
}
void loop() {
if(digitalRead(9)==0){
Serial.println(“Có đối tượng đi ngang”);
while(digitalRead(9)==0){delay(100);}
}
}
III. Bài tập
Xây dựng hệ thống đếm lượng khách ra vào trong một thư viện.
Mô tả hệ thống: Người ta muốn xây dựng một hệ thống đếm số lượng độc giả hiện có trong một thư viện ở những khoảng thời gian khác nhau (7 giờ, 8 giờ, 9 giờ…) để hoạch định những kế hoạch phục vụ tốt nhất cho độc giả.
Thư viện hiện có 2 cửa dành cho độc giả, một cửa dành cho độc giả vào, cửa còn lại dành cho độc giả ra (có bảo vệ ngồi ở các chốt nên độc giả không thể đi ngược lại được). Mỗi cửa được thiết kế nhỏ (~60cm) chỉ đủ cho một người qua lọt. Vào đúng mỗi mốc thời gian sẽ có người đến ghi nhận lại số lượng độc giả hiện đang ở trong thư viện, thế nên hệ thống chỉ cần hiển thị ra số độc giả đang có trong thư viện là đủ.
Hướng dẫn thực hiện: Đặt hai module E18-D80NK ở cửa ra và cửa vào. Đặt một biến số lượng, khi phát hiện tín hiệu đi qua cửa vào thì tăng biến lên một đơn vị, tín hiệu qua cửa ra thì giảm biến số lượng đi một đơn vị. Mỗi khi có tín hiệu ra/vào thì cập nhật lại số lượng người trong hệ thống và in ra màn hình.
Hiệu chỉnh bởi quản lý: