Thể loại: Mạch vi điều khiển
Số lượt xem: 32016
Bình luận về bài viết: 0
Các cảm biến phổ biến nhất cho Arduino
Các cảm biến được sử dụng trong một loạt các mạch và dự án. Không có tự động hóa có thể làm mà không có chúng. Chúng tôi quan tâm đến họ vì một dự án đã được tạo ra để đơn giản hóa việc thiết kế và phổ biến điện tử Arduino. Đây là một bảng hoàn thành với một vi điều khiển và mọi thứ bạn cần để làm việc với nó và lập trình nó. Trong bài viết này, chúng tôi sẽ xem xét các cảm biến cho Arduino, nhưng chúng cũng có thể được sử dụng với các bộ vi điều khiển khác.

Các cảm biến là gì?
Các giác quan là mắt, tai và các giác quan khác vi điều khiển hoặc thiết bị điều khiển khác. Chúng được phân biệt bởi bản chất của tín hiệu và theo mục đích.
Theo bản chất của tín hiệu được chia thành:
-
Tương tự;
-
Kỹ thuật số
Và với mục đích, các cảm biến là để đo lường:
-
Nhiệt độ;
-
Áp lực;
-
Độ ẩm
-
Tính axit;
-
Chiếu sáng
-
Mực nước hoặc các chất khác;
-
Rung
-
Và các thành phần chuyên ngành khác.
Nếu chúng ta nói về Arduino, thì khi nhận thông tin từ các cảm biến, chúng ta xử lý tín hiệu số hoặc đo điện áp từ đầu ra analog của mô-đun. Như đã đề cập, cảm biến là kỹ thuật số và analog. Một số mô-đun cho Arduino có cả đầu ra kỹ thuật số và analog, thống nhất chúng.
Họ là
-
Điện trở
-
Cảm ứng
-
Điện dung;
-
Áp điện;
-
Photocell và các loại khác.
Cảm biến ánh sáng hoặc ánh sáng
Cách dễ nhất để xác định độ sáng của một cái gì đó - sử dụng một quang điện trở, photodiode hoặc phototransistor. Bạn có thể kết nối một trong các tùy chọn được liệt kê với Arduino hoặc mua một bảng đặc biệt - cảm biến ánh sáng.

Những lợi ích của một giải pháp chìa khóa trao tay là gì? Đầu tiên, để xác định những thay đổi trong độ rọi của một tế bào quang điện là không đủ, bạn cũng cần một điện trở thông thường hoặc điều chỉnh, có thể nó bộ so sánh, cho từng bước có / không hoạt động. Thứ hai, một bảng mạch in do nhà máy sản xuất sẽ đáng tin cậy hơn so với lắp bản lề hoặc bảng bó, hoặc các cách khác mà người nghiệp dư sử dụng.

Trên AliExpress hoặc trong các cửa hàng trực tuyến khác, nó có thể được tìm thấy theo yêu cầu "HÌNH ẢNH-CẢM BIẾN" hoặc đơn giản là "cảm biến ánh sáng".
Mô-đun này có ba đầu ra:
-
Dinh dưỡng;
-
Trái đất
-
Đầu ra kỹ thuật số từ bộ so sánh.
Hoặc phiên bản bốn pin:
-
Dinh dưỡng;
-
Trái đất
-
Đầu ra kỹ thuật số từ bộ so sánh;
-
Tương tự
Vì vậy, trên bảng đặt điện trở điều chỉnh để điều chỉnh thời gian của bộ so sánh có thể tạo ra tín hiệu kỹ thuật số.
Ví dụ về sử dụng:
-
Cảm biến ánh sáng cho rơle ảnh;
-
Báo động (kết hợp với bộ phát);
-
Bộ đếm các vật thể xuyên qua chùm sáng, v.v.
Rất khó để đạt được các giá trị chính xác, vì sẽ cần một đồng hồ đo ánh sáng chính xác để điều chỉnh chính xác bằng cách chiếu sáng. Chất phát quang phù hợp hơn để xác định các giá trị trừu tượng như "tối hoặc sáng".
Ngoài một bảng bán như vậy, bạn có thể thấy khá thú vị Mô-đun GY-302. Đây là một cảm biến ánh sáng dựa trên mạch tích hợp BH-1750. Tính năng của nó là một mô-đun kỹ thuật số, nó có dung lượng 16 bit, giao tiếp với các bộ vi điều khiển thông qua bus i2c. 16 bit cho phép bạn đo độ rọi từ 1 đến 65356 Lux (Lx).

Dưới đây là một sơ đồ kết nối của nó. Bạn có thể nhận thấy rằng SDA và SCL kết nối với các chân tương tự của vi điều khiển.

Điều này là do thực tế là bus I2C được thực hiện trên các chân arduino này, có thể nhìn thấy bằng cách nhìn vào hình ảnh sau đây. Do đó, đừng để bị lừa bởi thực tế này, cảm biến là kỹ thuật số.

Ưu điểm của cảm biến kỹ thuật số là bạn không cần kiểm tra các giá trị của từng trường hợp, biên dịch các bảng để dịch các giá trị đo thành tỷ lệ thực, v.v.Trong hầu hết các trường hợp, đối với các cảm biến kỹ thuật số, chỉ cần kết nối một thư viện làm sẵn và đọc các giá trị được chuyển đổi thành các đơn vị thực là đủ.
Ví dụ phác thảo cho GY-302 (BH-1750):

Làm thế nào để một bản phác thảo làm việc?
Lúc đầu, chúng tôi nói với chương trình rằng chúng tôi cần kết nối thư viện Wire.h, chịu trách nhiệm liên lạc qua đường I2C và BH1750. Phần còn lại của các hành động được mô tả tốt trong các nhận xét và kết quả là cứ sau 100ms chúng ta lại đọc giá trị từ cảm biến trong Lux.
Đặc điểm của GY-302 BH1750:
-
Truyền thông vi điều khiển I2C
-
Phản ứng quang phổ tương tự như độ nhạy của mắt
-
Lỗi do bức xạ hồng ngoại được giảm thiểu
-
Phạm vi đo 0-65535 Lux
-
Điện áp cung cấp: 3-5 V
-
Tiêu thụ hiện tại thấp và chức năng ngủ
-
Lọc nhiễu ánh sáng 50/60 Hz
-
Số lượng cảm biến tối đa trên 1 bus I2C là 2 miếng.
-
Không cần hiệu chuẩn
-
Tiêu thụ hiện tại - 120 μA
-
Ở chế độ ngủ - 0,01 A
-
Bước sóng đo được - 560nm
-
Ở chế độ phân giải cao - 1 Lux
-
Ở chế độ phân giải thấp - 4 Lux
-
ADC - 16 bit
Thời gian thực hiện các phép đo:
-
Ở chế độ phân giải cao - 120 ms
-
Ở chế độ phân giải thấp - 16 ms
Cảm biến chướng ngại vật
Tôi đã chọn cảm biến này làm cảm biến tiếp theo để xem xét, bởi vì một trong các tùy chọn của nó hoạt động trên cơ sở photodiode hoặc phototransistor, về nguyên tắc tương tự như quang điện trở đã thảo luận trong phần trước.

Tên của nó là "cảm biến chướng ngại vật quang học." Thành phần chức năng chính là photodiode và đèn LED phát và nhận trong phổ hồng ngoại (do đó, không thể nhìn thấy bằng mắt người, cũng như lắp ráp ngưỡng, ví dụ, trên một bộ so sánh với bộ điều chỉnh độ nhạy.
Ví dụ sơ đồ kết nối:

Một ví dụ về chương trình xử lý tín hiệu từ cảm biến.

Ở đây, nếu đầu ra từ cảm biến là 1 1, nghĩa là có một chướng ngại vật, đèn LED trên bo mạch Arduino hoặc được kết nối với chân thứ 13 (cùng một thứ) sẽ sáng lên. Thường được sử dụng trong robot và báo động.

Cảm biến khoảng cách
Bản sao trước đó bao gồm một máy thu, - photodiode và bộ phát, - một đèn LED. Cảm biến khoảng cách siêu âm cũng bao gồm một máy thu và bộ phát sóng siêu âm. Anh ấy tên là HC SR04.

Đặc điểm HC SR04:
-
Điện áp cung cấp 5V
-
Thông số vận hành của lực t ok - 15 mA
-
Dòng thụ động <2 mA
-
Góc nhìn - 15 °
-
Độ phân giải cảm ứng - 0,3 cm
-
Góc đo - 30 °
-
Độ rộng xung - 10-6 giây
-
Phạm vi đo: 2-400 cm.
Lỗi xuất hiện do:
-
nhiệt độ và độ ẩm - có thể được giảm bằng cách đo nhiệt độ bằng DHT-11 hoặc DHT-22, ví dụ, và nhập hệ số để hiệu chỉnh các phép đo.
-
khoảng cách đến đối tượng;
-
vị trí của vật thể so với cảm biến (theo sơ đồ bức xạ) có thể được bù bằng cách cài đặt HC SR04 trên servo để thay đổi hướng và điều chỉnh chính xác.
-
chất lượng hiệu suất của các yếu tố mô-đun cảm biến.
Mô hình bức xạ:

Bảng có bốn đầu ra:
-
VCC - sức mạnh;
-
Trig - tín hiệu đầu vào;
-
Echo - tín hiệu đầu ra;
-
GND là một dây phổ biến.

Làm thế nào để xử lý bài đọc?
1. Chúng tôi gửi một xung có thời lượng 10 tos đến đầu vào TRIG;
2. Bên trong mô-đun, xung được chuyển đổi thành một gói gồm 8 xung theo nhau với tần số 40 kHz và được gửi qua bộ phát;
3. Các xung động phản xạ từ chướng ngại vật đến máy thu và được xuất ra ECHO;
4. Thời lượng của xung nhận được từ đầu ra ECHO nên được chia cho 58,2 để có được khoảng cách tính bằng centimet và 148 nếu bạn cần chuyển đổi sang inch.
Mã ví dụ:

Đo nhiệt độ
Cách dễ nhất để đo nhiệt độ bằng vi điều khiển là sử dụng cặp nhiệt điện hoặc nhiệt điện trở. Cặp nhiệt điện được sử dụng để đo nhiệt độ cao, để đo trong nhà và ngoài trời - điều mà tôi sẽ nói về một chút dưới đây sẽ làm, nhưng bây giờ, hãy xem xét một cặp nhiệt điện.

Mỗi loại cặp nhiệt điện có cách tiếp cận riêng để làm việc với vi điều khiển. Ví dụ, có một cặp nhiệt điện loại K, hay còn được gọi là - chromel-alumel, với dải nhiệt độ đo được từ -200 đến +1400 độ C với độ nhạy 41 mV / độ C. Và đối với cô ấy có một bộ chuyển đổi đặc biệt dựa trên IC max6675, nó có chức năng bù nhiệt độ của mối nối lạnh, v.v.

Bạn có thể làm việc với mô-đun này bằng thư viện cùng tên cho Arduino. Trong hình bên dưới, bạn thấy một ví dụ về mã chương trình cho trường hợp này.

Sau đó, sau đây được hiển thị trên màn hình cổng nối tiếp.

Nhưng cũng có một cảm biến nhiệt độ kỹ thuật số DS12B20, nó có thể được gọi là cổ điển, vì nó đã được sử dụng trong nhiều năm trong các dự án nghiệp dư, và rất lâu trước khi xuất hiện Arduino.

Mạch tích hợp kỹ thuật số này, thiết bị bên trong của nó được hiển thị trong hình dưới đây:

Sơ đồ kết nối bảng:

Các tính năng và thông tin chính DS18b20:
-
Sai số nhỏ hơn 0,5 ° C (trong khoảng nhiệt độ từ -10 ° C đến + 85 ° C).
-
Không cần hiệu chuẩn
-
Phạm vi đo - từ -55 С đến + 125С
-
VCC, điện áp cung cấp 3,3-5V.
-
độ phân giải lên tới 0,0625С, được thiết lập bằng phần mềm;
-
Độ phân giải - 12 bit
-
Mỗi trường hợp được gán một mã nối tiếp duy nhất. Điều này là cần thiết để dễ dàng sử dụng một vài phần trong một dự án
-
Giao diện truyền thông - 1 dây
-
Không cần đóng đai
-
Số lượng cảm biến tối đa trên một dòng là 127 miếng.
-
Chế độ năng lượng giả - trong trường hợp này, cảm biến được cấp nguồn trực tiếp từ đường truyền. Đồng thời, không đo được nhiệt độ cao hơn 100C
Dưới đây bạn thấy biểu đồ chuyển đổi của mã nhị phân từ DS18b20 sang nhiệt độ tính bằng độ C.

Chương trình ví dụ để đọc các giá trị nhiệt độ.

Cảm biến áp suất khí quyển
Phong vũ biểu điện tử được lắp ráp trên cơ sở cảm biến áp suất khí quyển. Các tùy chọn sau đây đã được sử dụng rộng rãi:
-
BMP180;
-
BMP280;
-
BME280.

Nếu hai trường hợp trước đó tương tự nhau, thì Cảm biến BME280 - Đây là một trạm thời tiết thu nhỏ. 3 cảm biến được tích hợp trong đó:
-
Nhiệt độ;
-
Áp lực;
-
Độ ẩm.
Đặc tính kỹ thuật của nó:
-
Kích thước 2,5 x 2,5 x 0,93 mm;
-
Vỏ kim loại LGA, được trang bị 8 đầu ra;
-
Điện áp cung cấp 1,7 - 3,6V;
-
Tính khả dụng của giao diện I2C và SPI;
-
Tiêu thụ hiện tại chờ 0,1 0,1A.
Những ví dụ này là phong vũ biểu MEMS. MEMS là viết tắt của vi cơ điện tử. Đây là một cấu trúc cơ học sử dụng các hiện tượng điện dung và các nguyên tắc khác cho công việc của nó. Dưới đây bạn thấy một ví dụ về một cảm biến như vậy trong bối cảnh.

Ví dụ sơ đồ kết nối:

Và một ví dụ về mã chương trình:

Logic của chương trình rất đơn giản:
1. Gọi chương trình con (chức năng) đọc từ cảm biến.
2. Yêu cầu đọc các cảm biến nhiệt độ tích hợp trong phong vũ biểu.
3. Chúng tôi đang chờ thời gian để đánh giá cảm biến nhiệt độ;
4. Đọc kết quả đo nhiệt độ;
5. Yêu cầu giá trị áp lực;
6. Chúng tôi đang chờ thời gian đo áp suất;
7. Đọc giá trị áp suất;
8. Trả về giá trị áp suất từ hàm.
Một sự thật thú vị là có bốn tùy chọn để đọc các giá trị, chúng được chỉ định làm đối số trong hàm startPressure, dấu thứ hai là từ 0 đến 3, trong đó 0 là ước tính sơ bộ và 3 là ước tính chính xác.
Cảm biến chuyển động
Cảm biến chuyển động phổ biến nhất cho Arduino là Mô-đun cảm biến hồng ngoại HC SR501. Một tính năng của mô-đun này là nó có sự điều chỉnh khoảng cách đáp ứng và thời gian trễ của tín hiệu đầu ra sau khi hoạt động.

Tính năng mô-đun:
1. Điện áp cung cấp 4,5 - 20 V.
2. Dòng tĩnh ≈ 50 A;
3. Điện áp tín hiệu đầu ra (mức logic): 3,3 V;
4. Phạm vi nhiệt độ hoạt động - từ -15 ° C đến 70 ° C;
5. Kích thước: 32 * 24 mm;
6. Trường nhìn - 110 °;
7. Khoảng cách hoạt động tối đa - từ 3 đến 7 m (có thể điều chỉnh); Trên 30 ° C, khoảng cách này có thể giảm.
Sơ đồ nối dây:

Làm thế nào để làm việc với anh ta, chúng tôi đã xem xét trong một bài báo được xuất bản trước đó: Sơ đồ cảm biến chuyển động, nguyên lý làm việc và sơ đồ nối dây của chúng
Cảm biến mực nước
Được thiết kế để chỉ mức chất lỏng.

Đặc điểm
1. Điện áp cung cấp 3-5V
2. Dòng tiêu thụ> 20 mA
3. Tương tự
4. Kích thước của vùng đo 40x16 mm
5. Độ ẩm cho phép 10% - 90%
Mã ví dụ:

Các giá trị đầu ra là từ 0 (ở trạng thái khô) đến 685 (nó có thể khác nhau thực sự phụ thuộc vào độ dẫn của nước). Đừng quên về điện phân, khi đo mức độ muối hoặc nước cứng, nó sẽ ăn mòn.
Cảm biến rò rỉ
Mô-đun này bao gồm hai phần - chính cảm biến và bộ so sánh, có thể được xây dựng trên LM393, LM293 hoặc LM193.

Nhờ bộ so sánh, tín hiệu tương tự được chuyển đổi thành kỹ thuật số.
Sơ đồ nối dây:

Hội đồng quản trị
-
VCC - sức mạnh, phải phù hợp với sức mạnh của bo mạch Apduino, trong hầu hết các trường hợp là 5V;
-
GND - dây chung;
-
AO - tín hiệu tương tự;
-
DO là một tín hiệu kỹ thuật số.
Có một điện trở điều chỉnh trên bảng so sánh, nó đặt độ nhạy của cảm biến. Nó có thể hoạt động như một tín hiệu của mưa hoặc rò rỉ một cái gì đó, và khi kết hợp với một cần cẩu như vậy, nó có thể hoạt động như bảo vệ chống rò rỉ đường ống trong căn hộ:

Video cho thấy cách thức hoạt động:
Cảm biến độ ẩm
Thường được sử dụng trong các dự án tưới nước tự động, để xác định độ ẩm của đất, cũng như trước đây bao gồm các điện cực và một bảng với một bộ so sánh.

Nó có thể hoạt động cả trong chế độ analog và kỹ thuật số. Một ví dụ về sơ đồ kết nối cho hệ thống tưới tự động với cần trục dựa trên động cơ:

Và một ví dụ về mã chương trình để xử lý tín hiệu số từ cảm biến độ ẩm:


Kết luận
Chúng tôi đã kiểm tra các cảm biến phổ biến, nhưng cũng có nhiều cảm biến khác. Đây là một loạt các cảm biến rung, con quay hồi chuyển, gia tốc kế, cảm biến bức xạ và nhiều hơn nữa.
Mục đích của bài viết là thu thập ở một nơi nhiều yếu tố có thể hữu ích cho một kỹ sư điện tử mới bắt đầu để thực hiện các dự án của họ. Nếu bạn quan tâm đến một cảm biến cụ thể - hãy viết bình luận và chúng tôi sẽ xem xét nó chi tiết hơn.
Để thuận tiện cho bạn, chúng tôi đã biên soạn cho bạn một bảng với chi phí ước tính và danh sách các cảm biến phổ biến cho Arduino, theo thứ tự chúng được xem xét trong bài viết:Cảm biến cho Arduino
Giá được lấy từ các cửa hàng trực tuyến ở Nga hoặc Ukraine. Ở Trung Quốc, chúng có giá rẻ hơn 2 lần trở lên.
Xem thêm tại electro-vi.tomathouse.com
: