Mục lục:
- Quân nhu
- Bước 1: Thiết lập
- Bước 2: Thêm mã cho cảm biến đất
- Bước 3: Thư viện Neopixel
- Bước 4: Thiết lập mã Neopixel
- Bước 5: Thiết lập Void
- Bước 6: Vòng lặp Void
- Bước 7: Kiểm tra
Video: Soil Moister với nút: 7 bước
2024 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2024-01-30 13:32
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
- 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
- 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
-
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
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:
Cách sử dụng động cơ bước 28BYJ-48 với 3 nút đẩy: 5 bước
Cách sử dụng động cơ bước 28BYJ-48 với 3 nút ấn: Bạn có muốn điều khiển động cơ bước của mình bằng các nút ấn không? Điều đó có thể làm theo chiều kim đồng hồ, ngược chiều kim đồng hồ và sau đó dừng chức năng? Sau đó, video này là dành cho bạn
Công tắc đèn WiFi tự động hóa gia đình với ESP-01 và mô-đun chuyển tiếp với nút nhấn: 7 bước
Công tắc đèn Wi-Fi tự động hóa gia đình với ESP-01 và Mô-đun chuyển tiếp có nút nhấn: Vì vậy, trong các hướng dẫn trước, chúng tôi đã lập trình ESP-01 với Tasmota bằng cách sử dụng ESP Flasher và kết nối ESP-01 với mạng wifi của chúng tôi. Bây giờ chúng ta có thể bắt đầu lập trình nó để bật / tắt công tắc đèn bằng WiFi hoặc nút nhấn
Chuyển giao việc học với NVIDIA JetBot - Vui vẻ với các nút giao thông: 6 bước
Chuyển giao học tập với NVIDIA JetBot - Vui vẻ với các nón giao thông: Hướng dẫn robot của bạn tìm đường trong mê cung các nón giao thông bằng cách sử dụng máy ảnh và mô hình học sâu hiện đại
Bộ vi điều khiển AVR. Chuyển đổi đèn LED bằng Công tắc nút nhấn. Nút nhấn Debouncing: 4 bước
Bộ vi điều khiển AVR. Chuyển đổi đèn LED bằng Công tắc nút nhấn. Nhấn nút Debouncing: Trong phần này, chúng ta sẽ tìm hiểu Cách tạo mã chương trình C cho ATMega328PU để chuyển đổi trạng thái của ba đèn LED theo đầu vào từ một công tắc nút. Ngoài ra, chúng tôi đã khám phá một giải pháp cho vấn đề là ‘Chuyển đổi số lần trả lại‘. Như thường lệ, chúng tôi sẽ
Bánh răng chuyển động tuyệt vời được điều khiển bởi các nút tuyệt vời (sẽ tiếp tục): 9 bước
Bánh răng chuyển động tuyệt vời được điều khiển bằng các nút tuyệt vời (sẽ tiếp tục): Thiết kế trò chơi điện tử / vật lý cho UCLA Design Media Arts với Eddo Stern. Hướng dẫn này không đầy đủ. Dự án vẫn đang được tiến hành