Phát hiện vật cản bằng hồng ngoại - Tại sao không? Khi ta đã có cảm biến E18-D80NK

I. Mở đầu

Lâu nay, chúng ta đã quen với việc sử dụng cảm biến siêu âm để phát hiện vật cản, tuy nhiên điểm yếu của nó là dễ bị nhiễu, để khắc phục điểm yếu trên, hôm nay mình xin giới thiệu với các bạn một cách phát hiện vật cản khác. Đó chính là sử dụng hồng ngoại, mà cụ thể hơn là mình muốn giới thiệu với các bạn con cảm biến E18-D80NK.

II. Giới thiệu sơ bộ

  • Nó gồm có 1 con mắt phát và 1 con mắt thu hồng ngoại khá to. Bên trong là bộ phận xử lí (Thực sự mình cũng chẳng biết nó có gì bên trong, vì mình cũng không dại gì mà phá 120K - Em tiết kiệm lắm :D). Ở đuôi thì có con biến trở điều chỉnh khoảng cách phát hiện, đèn báo và một sợi dây đen xì to tướng, bên trong sợi dây ấy có 3 sợi nhỏ màu xanh dương, màu nâu và màu đen.
  • Khoảng cách phát hiện khoảng từ 3-80 cm(Điều chỉnh bằng biến trở ở đuôi).
  • Điện áp hoạt động là 5V DC
  • Đặc biệt, dòng ra của chân tín hiệu rất lớn, khoảng 300mA, nên các bạn phải nối tiếp với 1 con điện trở khoảng 10k (Theo như trên mạng thì dòng ra lớn như vậy là do "Ngõ ra dạng NPN cực thu hở" - Mình cũng chẳng hiểu nó nói cái gì, ai giải thích hộ với.)
  • Nguyên lí hoạt động thì rất đơn giản: Mắt phát thì phát ra, nếu đánh trúng vật cản thì phản xạ lại vào mắt thu, mắt thu báo về cho ta biết.

Vậy là OK rồi nha.

III. Thực hành

1. Chuẩn bị

Nhưng trước tiên ta phải nối 3 dây cảm biến với 3 jack đực nha.

2. Ráp phần cứng

Trước hết, ta phải ngắm sơ đồ chân đã, có 2 loại nên xem trong bảng nè (Mình sài loại thứ 2):

Các bạn ráp theo mạch sau, mình nối chân tín hiệu vào chân D9 nha (Do mình không tìm thấy con E18-D80NK nên lấy con này):

3. Code

Code thì đơn giản thôi

#define sensor 2
void setup()
{
  pinMode(sensor,INPUT);
  Serial.begin(9600);
}
void loop()
{
  Serial.print("Gia tri cam bien:");
  Serial.println(digitalRead(sensor)); //Nếu sensor = 1 thì không phát hiện vật cản, nếu sensor = 0 thì phát hiện vật cản.
  delay(1000);
}

IV. Kết Luận

Đây chính là thành quả:

Như vậy là chúng ta vừa tìm hiểu xong cảm biến E18-D80NK và ứng dụng nó trong việc phát hiện vật cản. Ngoài ứng dụng trên, ta còn có thể ứng dụng nó trong việc như:

  • Ứng dụng để đo mực nước (Nước không trong suốt)
  • Phát hiện hoặc đếm sản phẩm trong dây truyền
  • Ứng dụng trong Robot dò đường
  • Thiết bị hỗ trợ người mù.
  • Thậm chí là thiết bị chống trộm
  • Và còn nhiều ứng dụng khác nằm trong bộ não của bạn. 

Chúc các bạn sáng tạo, lập trình và chế tạo thật vui.

lên
22 thành viên đã đánh giá bài viết này hữu ích.
Các dự án được truyền cảm hứng

Select any filter and click on Apply to see results

Các bài viết cùng tác giả

Lập trình Arduino không cần viết code - Phần 16: Lập trình Arduino thời gian thực - Lập trình sự kiện

Đây là phần 16 của chuỗi bài viết "Lập trình Arduino không cần viết code"

- Xem lại phần 15 tại đây

Xin chào các bạn, hôm nay mình sẽ cho các bạn thấy được sự thú vị nhất của phần mềm lập trình kéo thả mBlock. Đó chính là lập trình thời gian thực. Từ việc lập trình thời gian thực này ta có thể tạo ra được các game hay điều khiển Arduino bằng ứng dụng đồ họa, bởi đơn giản mBlock cũng hỗ trợ tạo ra game hay đồ họa. HeHe, bạn cũng có thể nói rằng nó là sự kết hợp 2 trong 1 của Processing và Arduino. Tất nhiên là ta chỉ làm được khi bạn kết nối Arduino với mBlock.

lên
11 thành viên đã đánh giá bài viết này hữu ích.

State Machine Với Arduino

   Xin chào các bạn! Hôm nay mình sẽ giới thiệu với các bạn một cách lập trình, quản lý code khá thú vị và mới lạ, đó chính là State Machine hay trạng thái máy. Đây là một cách thức lập trình cũng được sử dụng khá nhiều cho các hệ thống, phần mềm, máy móc trong thực tế. Dưới đây, mình chỉ viết những gì mình biết và tìm hiểu được nên có gì sai sót, mong các bạn đã biết về state machine hãy góp ý cho mình bên dưới phần comment để bài viết hoàn thiện hơn. Bắt đầu thôi!

lên
10 thành viên đã đánh giá bài viết này hữu ích.