Cảm biến "Arduino": mô tả, đặc điểm, kết nối, đánh giá

Mục lục:

Cảm biến "Arduino": mô tả, đặc điểm, kết nối, đánh giá
Cảm biến "Arduino": mô tả, đặc điểm, kết nối, đánh giá
Anonim

Nền tảng Arduino là một trong những nền tảng tốt nhất để xây dựng các hệ thống tự động khác nhau. Hơn nữa, nhiều trường đại học và cao đẳng sử dụng Arduino để giới thiệu sinh viên với lĩnh vực robot. Thật vậy, Arduino là một nền tảng rất nhẹ, nhưng đồng thời cũng mạnh mẽ để xây dựng các rô bốt và hệ thống thông minh khác nhau. Và tất nhiên, để tất cả mất ít thời gian hơn, các cảm biến làm sẵn đã được bán. Có một số lượng lớn trong số chúng trong các cửa hàng, vì vậy sẽ khá khó khăn để bạn phân vân trong việc lựa chọn một cái phù hợp. Trong bài viết này, chúng ta sẽ xem xét một số cảm biến Arduino chính và cách chúng hoạt động.

Cảm biến cho arduino
Cảm biến cho arduino

Mua ở đâu

Thực tế là các cảm biến trong cửa hàng của chúng tôi có giá rất cao. Và nếu bạn định bắt đầu khám phá nền tảng Arduino, thì bạn chỉ cần biết bạn có thể mua chúng ở đâu với giá rẻ. Câu trả lời rất đơn giản - các cửa hàng Trung Quốc. Nó có thể làAliexpress, Joom, Pandao và những người khác. Hầu như tất cả các cửa hàng đều mua cảm biến ở đó và bán chúng với mức lãi rất lớn, lên tới 300%. Tất nhiên, bạn sẽ phải đợi một thời gian, và bạn không thể chắc chắn về chất lượng hàng hóa, nhưng việc trả thêm tiền gấp ba lần cho cùng một cảm biến cũng không đáng là bao. Ví dụ: Aliexpress có một bộ 36 cảm biến có giá 800 rúp. Bộ tương tự được bán trong một cửa hàng ở Nga với giá 3,5 nghìn rúp. Vì vậy, nó tùy thuộc vào bạn.

Mua cảm biến cho arduino ở đâu
Mua cảm biến cho arduino ở đâu

Ổ đĩa servo

Ổ đĩa servo được sử dụng trong thiết kế rô bốt và các hệ thống thông minh khác nhau. Với sự trợ giúp của một servo, bạn có thể mở các cánh cửa, tìm hiểu mức độ quay và hơn thế nữa. Nhưng chủ yếu nó được sử dụng trong việc tạo ra robot. Góc quay tối đa của servo: 180 độ. Nhưng đôi khi trong không gian mở của Aliexpress bạn cũng có thể thấy các tùy chọn với góc xoay 360 độ. Đây là một yếu tố khá cơ bản, hầu như tất cả các bài học về Arduino với cảm biến đều bắt đầu với nó. Servo dễ kết nối, mã điều khiển rất đơn giản.

Để kết nối servo, chỉ có ba dây được sử dụng: đất, nguồn, logic. Dây tín hiệu (thường là màu vàng hoặc nâu) được kết nối với bất kỳ chân nào được bật PWM (điều chế rộng xung) trên Arduino.

Kết nối Servo với Arduino
Kết nối Servo với Arduino

Ví dụ về mã:


include // bao gồm thư viện để làm việc với Servo servo1; // khai báo một biến servo kiểu "servo1" void setup () // procedure setup {servo1.attach (11); //ràng buộc servo với đầu ra tương tự 11} void loop () // vòng lặp thủ tục {servo1.write (0); // đặt góc quay về 0 delay (2000); // đợi 2 giây servo1.write (90); // thiết lập góc quay 90 delay (2000); // đợi 2 giây servo1.write (180); // đặt góc quay là 180 delay (2000); // đợi 2 giây}

Đầu tiên, chúng tôi thêm thư viện đã có trong Arduino vào mã, sau đó chúng tôi cho biết servo được kết nối với chân nào. Như bạn có thể thấy, làm việc với một servo thực sự rất đơn giản, việc điều khiển chỉ là một người vận hành.

Giá trên Aliexpress: 80–100 rúp.

DHT-11

DHT-11 dùng để đo nhiệt độ và độ ẩm. Cảm biến nhiệt độ cho Arduino này là phổ biến nhất vì giá cả và tính năng của nó. Đo nhiệt độ trong phạm vi từ 0 đến 50 độ và độ ẩm từ 20 đến 80%. Cũng đang được rao bán một phiên bản khác của cảm biến này là DHT-22, nó có phạm vi đo lớn hơn nhưng giá cũng đắt hơn gấp mấy lần. Đối với các dự án đơn giản, việc sử dụng nó không được khuyến khích, vì vậy mọi người thích DHT-11 hơn, nó thực hiện một công việc đo lường tuyệt vời. Nguồn có thể được cung cấp từ 3.3 đến 5V. Nói chung, bản thân cảm biến có 4 chân kết nối, nhưng có các mô-đun DHT-11 được bán, sẽ thuận tiện hơn nhiều khi làm việc với chúng, vì kết nối thông qua 3 chân và bạn không cần phải khổ sở với điện trở.

Kết nối. Cảm biến nhiệt độ này được kết nối với Arduino bằng ba tiếp điểm: đất, nguồn và logic.

Kết nối dht11 với arduino
Kết nối dht11 với arduino

Ví dụ về mã:


bao gồm"DHT.h" define DHTPIN 2 // Cùng một số pin đã đề cập ở trên DHT dht (DHTPIN, DHT11); void setup () {Serial.begin (9600); dht.begin (); } void loop () {delay (2000); // Độ trễ 2 giây float h=dht.readHumidity (); // Đo độ ẩm float t=dht.readTempe Heat (); // Đo nhiệt độ if (isnan (h) || isnan (t)) {// Kiểm tra. Nếu quá trình đọc không thành công, "Đọc không thành công" được in và chương trình thoát khỏi Serial.println ("Không đọc được"); trở về; } Serial.print ("Độ ẩm:"); Bản in nối tiếp (h); Serial.print ("% / t"); Serial.print ("Nhiệt độ:"); Bản in nối tiếp (t); Serial.println (" C"); // Hiển thị các chỉ báo trên màn hình}

Ngay từ đầu, như khi làm việc với một servo, thư viện được kết nối. Nhân tiện, về thư viện. Ban đầu, nó không có trong gói Arduino, thư viện này cần được tải xuống. Có một số phiên bản của thư viện này, trong ví dụ của chúng tôi, phiên bản chuẩn nhất được sử dụng. Hãy cẩn thận khi tải xuống, vì cú pháp có thể khác và mã sẽ không hoạt động. Hơn nữa, nó cũng được viết với điểm tiếp xúc mà cảm biến được kết nối và phiên bản của nó (DHT11 hoặc DHT22). Như với một servo, làm việc với cảm biến này cho Arduino rất dễ dàng, chỉ sử dụng một vài thao tác. Nhân tiện, thường thì servo và dht11 hoạt động cùng nhau, chẳng hạn như khi tạo các cửa sổ tự động sẽ mở ra nếu căn phòng hoặc nhà kính quá nóng.

Giá trên Aliexpress: 80–100 rúp.

Cảm biến độ ẩm của đất

Cảm biến này được sử dụng khithiết kế tưới tự động. Với nó, bạn có thể đo độ ẩm của đất, sau đó xử lý dữ liệu này và tưới cây nếu cần. Có nhiều biến thể của cảm biến này cho Arduino được bán, nhưng kiểu FC-28 là phổ biến. Một lựa chọn khá ngân sách, vì vậy mọi người đều yêu thích nó và sử dụng nó trong các dự án của họ. Cảm biến có hai đầu dò dẫn điện qua đất. Với đất khô, sức đề kháng lớn hơn, và với đất ướt, ít hơn. Về cơ bản, cảm biến này chỉ được sử dụng trong các dự án nhỏ, điều này là do thực tế là các đầu dò được làm bằng vật liệu kém và sớm hay muộn, trong quá trình hoạt động, chúng bị ăn mòn, sau đó cảm biến ngừng hoạt động. Tuổi thọ của cảm biến có thể được tăng lên bằng cách chỉ kích hoạt nó khi lấy dữ liệu từ mặt đất, chẳng hạn như 6 giờ một lần. Một số thợ thủ công thậm chí còn thay đổi các đầu dò thành các đầu dò tốt hơn, do họ tự chế tạo hoặc thậm chí lắp ráp cảm biến độ ẩm cho Arduino từ đầu.

Kết nối cảm biến độ ẩm của đất khá đơn giản. Thông thường nó đi kèm với một chiết áp và một bộ so sánh để kiểm soát độ nhạy của cảm biến. Tổng cộng, nó có ba điểm tiếp xúc: logic, nguồn và nối đất. Nó có thể được kết nối với cả danh bạ kỹ thuật số và tương tự. Nhân tiện, sẽ thuận tiện hơn khi làm việc ở chế độ analog.

Kết nối cảm biến độ ẩm của đất với arduino
Kết nối cảm biến độ ẩm của đất với arduino

Ví dụ về mã:


int sensor_pin=A0; int output_value; void setup () {Serial.begin (9600); Serial.println ("Đọc dữ liệu từ cảm biến"); chậm trễ (2000); } void loop () {output_value=analogRead (sensor_pin);output_value=map (giá trị đầu ra, 550, 0, 0, 100); Serial.print ("Độ ẩm:"); Serial.print (giá trị đầu ra); Serial.println ("%"); chậm trễ (1000); }

Trước hết, chúng tôi xác định các điểm tiếp xúc mà cảm biến được kết nối với Arduino. Sau đó, chúng tôi đọc dữ liệu từ nó và hiển thị nó. Cũng như các cảm biến khác, FC-28 rất dễ sử dụng. Và tất cả là nhờ vào các thư viện và cảm biến được tạo sẵn.

Giá trên Aliexpress: 30–50 rúp.

cảm biến PIR

Cảm biến chuyển động này cho Arduino được sử dụng trong việc xây dựng các hệ thống an ninh khác nhau. Phát hiện các phần tử chuyển động từ 0 đến 7 mét. Chúng ta sẽ không xem xét nguyên lý hoạt động, hãy chuyển sang kết nối cảm biến này với Arduino.

Đánh giá bằng các đánh giá, nó cũng được kết nối bằng cách sử dụng ba địa chỉ liên lạc: logic, nguồn và nối đất. Nó hoạt động thông qua các đầu ra kỹ thuật số.

Kết nối cảm biến chuyển động với arduino
Kết nối cảm biến chuyển động với arduino

Ví dụ về mã:


xác định mã PIN_PIR 2xác định mã PIN_LED 13 void setup () {Serial.begin (9600); pinMode (PIN_PIR, INPUT); pinMode (PIN_LED, OUTPUT); } void loop () {int pirVal=digitalRead (PIN_PIR); Serial.println (digitalRead (PIN_PIR)); // Nếu phát hiện chuyển động if (pirVal) {digitalWrite (PIN_LED, HIGH); Serial.println ("Đã phát hiện chuyển động"); chậm trễ (2000); } else {//Serial.print("Không chuyển động "); digitalWrite (PIN_LED, LOW); }}

Chúng tôi xác định các điểm tiếp xúc mà cảm biến được kết nối, sau đó chúng tôi kiểm tra chuyển động. Làm việc với nó rất thuận tiện và dễ dàng, nhưng vẫn có trường hợp dương tính giả.

Giá choAliexpress: 30-50 rúp.

rút ra kết luận

Ở trên, các cảm biến chính cho Arduino đã được xem xét, đây là những cảm biến đầu tiên được nghiên cứu bởi những người nghiệp dư mới làm quen với đài phát thanh. Như bạn thấy, chúng khá rẻ, kết nối dễ dàng và việc đọc dữ liệu chỉ mất vài dòng. Ngoài chúng, vẫn còn một số lượng lớn các cảm biến khác, ngay cả để đo xung! Lợi nhuận cao nhất là mua chúng trên Aliexpress theo bộ, vì vậy chúng sẽ có giá thậm chí còn rẻ hơn. Thật dễ dàng để tạo ra, điều chính là bạn phải nhớ ba quy tắc cơ bản của chế tạo rô bốt!

Đề xuất: