Khi nào bạn đi đâu đó xa trong một khoảng thời gian nhất định? Không có ai tưới hoa trong nhà của bạn, vì vậy bạn phải nhờ đến sự giúp đỡ của hàng xóm, do đó, họ có thể sơ suất trong việc này. Kết quả là, khi bạn đến, cây sẽ cảm thấy tồi tệ. Để tránh điều này xảy ra, bạn có thể làm một hệ thống tưới tự động. Với mục đích này, chúng ta cần một Arduino và một cảm biến độ ẩm của đất. Trong bài viết, chúng ta sẽ xem xét một ví dụ về kết nối và làm việc với cảm biến FC-28. Anh ấy đã chứng tỏ bản thân ở khía cạnh tích cực, với sự giúp đỡ của hàng nghìn dự án đã được tạo ra.
Về FC-28
Có rất nhiều loại cảm biến để xác định độ ẩm của trái đất, nhưng phổ biến nhất là kiểu FC-28. Nó có một mức giá thấp, do đó nó được sử dụng rộng rãi bởi tất cả các đài nghiệp dư trong các dự án của họ. Cảm biến độ ẩm của đất với Arduino được sử dụng. Anh ta có hai đầu dò để dẫn dòng điện qua đất. Nó chỉ ra rằng nếu đất ướt, thì điện trở giữa các đầu dò sẽ ít hơn. Với nền đất khô, tương ứng, lực cản lớn hơn. Arduino chấp nhận các giá trị này, so sánh và nếu cần, bật máy bơm. Cảm biến có thể hoạt động với cả chế độ kỹ thuật số và tương tự, chúng tôi sẽ xem xét cả hai tùy chọn kết nối. FC-28 được sử dụng chủ yếu trong các dự án nhỏ, chẳng hạn như khi tưới tự động cho một loại cây cụ thể, vì nó không thuận tiện khi sử dụng trên quy mô lớn do kích thước và nhược điểm của nó, chúng tôi cũng sẽ xem xét.
Mua ở đâu
Thực tế là tại các cửa hàng ở Nga, các cảm biến để làm việc với Arduino tương đối đắt. Giá trung bình cho cảm biến này ở Nga dao động từ 200 đến 300 rúp, trong khi ở Aliexpress, cùng một loại cảm biến có giá chỉ khoảng 30-50. Đánh dấu là rất lớn. Tất nhiên, bạn vẫn có thể tự tay mình tạo ra một cảm biến để đo độ ẩm của đất, nhưng cần nhiều hơn thế ở bên dưới.
Về kết nối
Kết nối cảm biến độ ẩm với Arduino rất dễ dàng. Nó đi kèm với một bộ so sánh và một chiết áp để điều chỉnh độ nhạy của cảm biến, cũng như để thiết lập giá trị giới hạn khi được kết nối bằng đầu ra kỹ thuật số. Tín hiệu đầu ra, như đã đề cập ở trên, có thể là tín hiệu số và tín hiệu tương tự.
Kết nối với đầu ra kỹ thuật số
Được kết nối gần như tương tự như tương tự:
- VCC - 5V trên Arduino.
- D0 - D8 trên bảng Arduino.
- GND -trái đất.
Như đã đề cập ở trên, một bộ so sánh và một chiết áp nằm trên mô-đun cảm biến. Mọi thứ hoạt động như sau: sử dụng một chiết áp, chúng tôi đặt giá trị giới hạn của cảm biến của chúng tôi. FC-28 so sánh giá trị với giới hạn và sau đó gửi giá trị đến Arduino. Giả sử các giá trị cảm biến nằm trên ngưỡng, trong trường hợp này, cảm biến độ ẩm của đất trên Arduino truyền 5V, nếu nhỏ hơn - 0V. Mọi thứ rất đơn giản, nhưng chế độ analog có giá trị chính xác hơn, vì vậy bạn nên sử dụng nó.
Sơ đồ đấu dây giống như hình trên. cách
Mã lập trình cho Arduino khi sử dụng chế độ kỹ thuật số được hiển thị bên dưới.
int led_pin=13; int sensor_pin=8; void setup () {pinMode (led_pin, OUTPUT); pinMode (sensor_pin, INPUT); } void loop () {if (digitalRead (sensor_pin)==HIGH) {digitalWrite (led_pin, HIGH); } else {digitalWrite (led_pin, LOW); chậm trễ (1000); }}
Mã của chúng tôi làm gì? Đầu tiên, hai biến đã được xác định. Biến đầu tiên - led_pin - dùng để chỉ định đèn LED và biến thứ hai - để chỉ định cảm biến độ ẩm trên mặt đất. Tiếp theo, chúng tôi khai báo chân LED làm đầu ra và chân cảm biến là đầu vào. Điều này là cần thiết để chúng tôi có thể nhận được các giá trị và nếu cần, hãy bật đèn LED để trực quan thấy rằng các giá trị cảm biến nằm trên ngưỡng. Trong vòng lặp, chúng tôi đọc các giá trị từ cảm biến. Nếu giá trị cao hơn giới hạn, hãy bật đèn LED, nếu nó thấp hơn, hãy tắt nó đi. Thay vì đèn LEDcó thể là một máy bơm, tất cả tùy thuộc vào bạn.
Chế độ tương tự
Để kết nối bằng đầu ra tương tự, bạn cần làm việc với A0. Cảm biến độ ẩm đất điện dung trong Arduino nhận các giá trị từ 0 đến 1023. Kết nối cảm biến như sau:
- VCC kết nối 5V với Arduino.
- GND trên cảm biến được kết nối với GND trên bảng Arduino.
- A0 kết nối với A0 trên Arduino.
Tiếp theo, viết mã bên dưới trong Arduino.
int sensor_pin=A0; int output_value; void setup () {Serial.begin (9600); Serial.println ("Đọc 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); }
Vậy mã này có tác dụng gì? Bước đầu tiên là thiết lập các biến. Biến đầu tiên là cần thiết để xác định điểm tiếp xúc của cảm biến và biến còn lại sẽ lưu trữ kết quả mà chúng ta sẽ nhận được khi sử dụng cảm biến. Tiếp theo, chúng tôi đọc dữ liệu. Trong vòng lặp, chúng tôi viết các giá trị từ cảm biến vào biến output_value mà chúng tôi đã tạo. Sau đó, phần trăm độ ẩm của đất được tính toán, sau đó chúng tôi hiển thị chúng trên màn hình cổng. Sơ đồ đấu dây được hiển thị bên dưới.
DIY
Ở trên đã thảo luận về cách kết nối cảm biến độ ẩm của đất với Arduino. Vấn đề với những cảm biến này là chúng có tuổi thọ ngắn. Thực tế là họ rất dễ bịsự ăn mòn. Một số công ty chế tạo cảm biến với một lớp phủ đặc biệt để tăng tuổi thọ, nhưng thực tế vẫn không như vậy. Cũng được coi là tùy chọn sử dụng cảm biến không thường xuyên, nhưng chỉ khi được yêu cầu. Ví dụ, có một mã chương trình trong đó mỗi giây cảm biến đọc các giá trị độ ẩm của đất. Bạn có thể kéo dài thời gian sử dụng nếu bạn bật, ví dụ, một lần mỗi ngày. Nhưng nếu điều này không phù hợp với bạn, thì bạn có thể tự tạo cảm biến độ ẩm của đất bằng tay của mình. Arduino sẽ không cảm thấy sự khác biệt. Về cơ bản, hệ thống là như nhau. Đơn giản, thay vì hai cảm biến, bạn có thể đặt riêng và sử dụng vật liệu ít bị ăn mòn hơn. Tất nhiên, lý tưởng nhất là sử dụng vàng, nhưng với giá của nó, nó sẽ rất đắt. Nói chung, nó rẻ hơn để mua, với giá của FC-28.
Ưu nhược điểm
Bài báo thảo luận về các tùy chọn để kết nối cảm biến độ ẩm của đất với Arduino và các ví dụ về mã chương trình cũng đã được trình bày. FC-28 là một cảm biến độ ẩm đất thực sự tốt, nhưng ưu và nhược điểm cụ thể của cảm biến này là gì?
Ưu điểm:
- Giá. Cảm biến này có giá rất rẻ, nên mọi người nghiệp dư về đài đều có thể mua và tự chế tạo hệ thống tưới cây tự động cho cây. Tất nhiên, khi làm việc với quy mô lớn, cảm biến này không phù hợp, nhưng nó không nhằm mục đích này. Nếu bạn cần một cảm biến mạnh hơn - SM2802B, thì bạn sẽ phải trả một số tiền khá lớn cho nó.
- Sự đơn giản. Làm chủ công việc với cảm biến độ ẩm đất này trong Arduino có thểmỗi. Chỉ cần một vài dây, một vài dòng mã - và thế là xong. Kiểm soát độ ẩm của đất được thực hiện.
Nhược điểm: