Mục lục:

Soil Moister với nút: 7 bước
Soil Moister với nút: 7 bước

Video: Soil Moister với nút: 7 bước

Video: Soil Moister với nút: 7 bước
Video: Capacitive Soil Moisture Sensors don't work correctly + Fix for v2.0 v1.2 Arduino ESP32 Raspberry Pi 2024, Tháng mười một
Anonim
Image
Image
Soil Moister có nút
Soil Moister có nút
Soil Moister có nút
Soil Moister có nút
Soil Moister có nút
Soil Moister có nút

Trong sách hướng dẫn này, tôi sẽ chỉ cho bạn cách tạo một cảm biến đất homade cho hệ thống làm vườn. Tôi sẽ chỉ cho bạn những gì bạn cần, đưa ra một số ví dụ về mã và cách triển khai mã.

Ở phần cuối của hướng dẫn, bạn sẽ biết cách thay đổi màu sắc của dải đèn led khi đất ướt, hơi ướt hoặc khô.

Trong sách hướng dẫn này, tôi sẽ sử dụng:

  • Phiên bản Arduino 1.8.9
  • Thư viện Adafruit_NeoPixel.h

Quân nhu

Bạn sẽ cần:

  • NodeMCU 1.0 (mô-đun ESP-12E)
  • 1 cáp nữ sang cáp nữ
  • Một dải đèn LED
  • (Tùy chọn) Cảm biến đất Homade (Xem video ở trên cho đến 00:36)

Bước 1: Thiết lập

Cài đặt
Cài đặt
Cài đặt
Cài đặt
Cài đặt
Cài đặt
Cài đặt
Cài đặt
  • Lấy nút của bạn và cảm biến đất của bạn.
  • Kết nối cảm biến đất với A0. (Ảnh 1) (cách khác là lấy một sợi cáp cái có dải và kết nối nó với A0 (Ảnh 3)

Lấy dải đèn LED của bạn và đặt GND vào G, 5V trên 3V và cáp giữa vào D5. (Ảnh 2)

Bây giờ nó sẽ giống như bức ảnh cuối cùng.

Bước 2: Thêm mã cho cảm biến đất

Thêm mã cho cảm biến đất
Thêm mã cho cảm biến đất
  • Tạo một dự án mới trong arduino IDE
  • Quá khứ trong mã sau:

/ * Đầu vào tương tự, đầu ra tương tự, đầu ra nối tiếp

Đọc một chân đầu vào tương tự, ánh xạ kết quả thành một phạm vi từ 0 đến 255 và sử dụng kết quả để đặt điều chế độ rộng xung (PWM) của một chân đầu ra. Đồng thời in kết quả vào Serial Monitor.

Mạch: - chiết áp nối với chân tương tự 0. Chân giữa của chiết áp đi vào chân tương tự. chân bên của chiết áp đi vào + 5V và nối đất - LED kết nối từ chân số 9 xuống đất

tạo ngày 29 tháng 12 năm 2008, sửa đổi ngày 9 tháng 4 năm 2012 bởi Tom Igoe

Mã ví dụ này thuộc phạm vi công cộng.

www.arduino.cc/en/Tutorial/AnalogInOutSeri… *

/ Các hằng số này sẽ không thay đổi. Chúng được sử dụng để đặt tên cho các chân được sử dụng: const int analogInPin = A0; // Chân đầu vào tương tự mà chiết áp được gắn vào const int analogOutPin = D5; // Chân đầu ra tương tự mà đèn LED được gắn vào

int sensorValue = 0; // giá trị đọc từ nồi

void setup () {// khởi tạo giao tiếp nối tiếp với tốc độ 9600 bps: Serial.begin (9600); }

void loop () {// đọc giá trị tương tự: sensorValue = analogRead (analogInPin);

// in kết quả ra Serial Monitor: Serial.print ("sensor ="); Serial.print (sensorValue); Serial.print ("\ n"); // Serial.println (outputValue);

// đợi 1 mili giây trước vòng lặp tiếp theo để bộ chuyển đổi tương tự sang số // giải quyết sau lần đọc cuối cùng: delay (1000); }

Bây giờ bạn có thể kiểm tra xem cảm biến của bạn có cung cấp giá trị hay không.

Chạm vào phần cuối của vít hoặc cáp và bạn sẽ thấy một cái gì đó giống như ảnh 1

Nếu nó không hoạt động, hãy kiểm tra cáp của bạn. Chúng có được kết nối chính xác không?

Bước 3: Thư viện Neopixel

Thư viện Neopixel
Thư viện Neopixel
  • Tải xuống thư viện adafruit_neopixel (Nếu bạn chưa có).

    • Đi tới công cụ> quản lý tự do
    • tìm kiếm adafruit neopixel ảnh 1
    • Cài đặt phiên bản 1.2.5

Bước 4: Thiết lập mã Neopixel

  • Thêm phần sau vào đầu dự án của bạn

    • #bao gồm
    • #bao gồm
    • #include "Adafruit_NeoPixel.h"
  • Dưới đó:

char ssid = "SSID"; // SSID mạng của bạn (tên)

char password = "mật khẩu"; // mật khẩu mạng của bạn

Và dưới đó

#define PIXEL_PIN D5 # xác định PIXEL_COUNT 30 // thay đổi về cách đèn LED maney trên dải của bạn

#define PIXEL_TYPE NEO_GRB + NEO_KHZ800

Adafruit_NeoPixel pixel = Adafruit_NeoPixel (PIXEL_COUNT, PIXEL_PIN, PIXEL_TYPE);

Bước 5: Thiết lập Void

Đặt mã sau vào thiết lập voide ()

pixel.begin (); // BẮT ĐẦU đối tượng dải NeoPixel (BẮT BUỘC) pixel.show (); // TẮT tất cả các pixel càng sớm càng tốt

pixel.setBrightness (50); // phải từ 0 đến 255 nếu bạn muốn dải đèn led sáng hơn, bạn có thể tăng số lượng

Bước 6: Vòng lặp Void

Trong void loop () và dưới delay (1000); nhập mã sau

if (sensorValue == 0 || sensorValue <= 200) {

for (int i = 0; i

pixel.setPixelColor (i, 255, 0, 0);

pixel.show ();

}

} else if (sensorValue> 200 || sensorValue <= 500) {

for (int i = 0; i

pixel.setPixelColor (i, 0, 255, 0);

pixel.show ();

}

} else if (sensorValue> 500) {

for (int i = 0; i

pixel.setPixelColor (i, 0, 0, 255);

pixel.show ();

}

}

}

Bước 7: Kiểm tra

Đánh dấu
Đánh dấu
Đánh dấu
Đánh dấu

Xin chúc mừng! Bạn vừa tạo ra một hệ thống có thể cho biết đất ướt hay khô.

Bây giờ khi bạn đặt cảm biến trong đất ướt, đèn LED sẽ chuyển sang màu xanh lục và khi ở trong đất khô, đèn LED sẽ chuyển sang màu đỏ, giống như các hình trên.

Đề xuất: