Hack day
0

Hệ thống nông nghiệp thông minh phiên bản Arduino

Sau một thời gian đi quảng cáo spam khắp nơi thì mình thấy hệ thống nông nghiệp thông minh được các bạn ủng hộ khá nhiều, nhưng với một số bạn không có TIVA mà lại sẵn Arduino thì quả là vất vả, giờ lại phải đi mua kit TIVA mà không có nhu cầu dùng tới thì hơi tốn kém. Do đó thì mình phải thay đổi code một chút để nó phù hợp hơn với Arduino, hi vọng nó là cái để mọi người có thể tham khảo và xây dựng riêng một hệ thống nông nghiệp thông minh đơn giản cho riêng mình.

Chuẩn bị

Phần cứng

  • Arduino
  • ESP8266 v1 hoặc v7/v12 (mình dùng v1 có sẵn)
  • Cảm biến nhiệt độ, độ ẩm DHT22
  • Cảm biến ánh sáng (mình tự chế)
  • Modul Relay (2 relay)
  • LCD 16×2
  • Nút nhấn và LED (mình tận dụng có sẵn trên kit TIVA C)
  • Dây nối
  • Nguồn 3.3V
  • Testboard (Breadboard)

Phần mềm

  • Arduino IDE
  • Thư viện DHT22

DHT22

Mình thử kiểm tra DHT22 hoạt động xem sao, kết nối dây như hình dưới

Chương trình đọc nhiệt độ, độ ẩm hiển thị lên máy tính với tốc độ baud là 115200Chương trình DHT22

Cảm biến ánh sáng

Mình vẫn giữ kết nối như cũ, thêm vào cảm biến ánh sáng với kết nối như hình

Chương trình đọc đồng thời cảm biến ánh sáng và DHT22, ở đây do Arduino ADC có 10 bit nên độ phân giải chỉ là 1024(0-1023)Chương trình DHT22 và CB ánh sáng

Cảm biến độ ẩm đất

Cảm biến độ ẩm này mình chọn hình minh họa hơi khác một chút về thứ tự so với bản thực, nhưng cách kết nối thì khá dễ, chân A0 của cảm biến nối với chân A1 của Arduino,2 chân còn lại ta cấp nguồn. Bạn có thể xem thêm trong code.

Lưu ý các kết nối chân ở trên vẫn giữ như cũ nhé.

Chương trình đọc DHT22, cảm biến ánh sáng, độ ẩm đấtChương trình

LCD 16×2

Đây là điểm khác biệt so với phiên bản TIVA, mình thay LCD này vì có 2 lý do

  • Phổ biến: dễ mua và dễ tìm.
  • Thư viện LCD Gphone sau khi build đã ăn mất 50% RAM, thêm linh tinh các chương trình khác nữa thì hết sạch RAM và chương trình không chạy được.

Tuy nhiên dùng LCD16x2 có nhược điểm là chỉ có 2 dòng hiển thị, trong khi đó thông tin mình cần hiển thị cần ít nhất 6 dòng (nhiệt độ, độ ẩm, ánh sáng, trạng thái 2 bơm), không sao cả mình khắc phục bằng cách hiển thị 2 dòng nhiệt độ, độ ẩm trước, sau đó là ánh sáng và độ ẩm đất

Đầu tiên là kết nối

Mình thử nạp chương trình và in dòng chữ hocarm.org xuống LCDChương trình kiểm tra LCDLưu ý nhỏ là nếu LCD không hiển thị thì bạn xoay từ từ biến trở sẽ hiện màn hình

Chương trình hiển thị các thông tin của cảm biến lên LCDChương trình

Relay và nút nhấn

Do Arduino không có 2 nút nhấn có sẵn như TIVA nên mình phải thêm 2 nút nhấn gắn ngoài vào, thêm một lưu ý nữa là nếu relay dùng nguồn ngoài thì cần nối chung GND với Arduino, kết nối vẫn giữ nguyên kết nối bên trên và thêm vào relay và nút nhấn nhé.

Giờ thì thêm chương trình đọc nút nhấn và điều khiển relay cho chế độ thủ côngChương trình

Chế độ tự động

Giờ thì coi như phần cứng và các kết nối đã tạm ổn, lập trình thêm một chút để có thể tự điều khiển bơm khi độ ẩm quá thấpChương trình

Gửi dữ liệu lên thingspeak

Để gửi dữ liệu lên thingspeak thì cần có kết nối wifi và có modul ESP8266, mình sẽ minh họa kết nối với ESP8266 v1

Lưu ý quan trọng:

Nguồn cho ESP8266 phải là 3.3V, và nên lấy từ nguồn ngoài, lấy nguồn 3v3 từ Arduino nhiều lúc sẽ không hoạt động được do thiếu dòng.

Nếu bạn có mua mới ESP8266 thì nên mua bản V7 hoặc V12 để có nhiều IO và làm được nhiều việc khác hơn. Như học ESP8266 không kết hợp với Uno hay TIVA gì cả

Do Arduino không có Serial1 nên mình phải sử dụng thư viện có sẵn để cấu hình chân giao tiếp với ESP8266 là SoftwareSerial.h trên 2 chân 10,11

SoftwareSerial Serial1(10, 11); // RX, TX

Chương trình tổng hợp các chức năng đọc dữ liệu, hiển thị LCD, điều khiển thủ công, tự động và gửi thông tin lên cloudCode

Source code của 2 phiên bản bạn có thể tải tại đây

Tạm kết

Vậy là mình đã hướng dẫn từng bước để các bạn có thể kiểm tra từng cảm biến và kết hợp nó với nhau, tạo thành một hệ thống nông nghiệp đơn giản. Nhược điểm của Arduino Uno đã bộc lộ khi mình làm kết hợp nhiều thứ, thiếu RAM, có thể khắc phục bằng nhiều cách như tối ưu chương trình, nâng cấp lên bản Mega, hoặc dùng TIVA,… Nếu bạn cần tìm hiểu thêm kỹ hơn 1 chút có thể xem lại bài viết về nông nghiệp với TIVA mình có đề cập ở trên.

Tags: ,

More Similar Posts

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Fill out this field
Fill out this field
Vui lòng nhập địa chỉ email hợp lệ.
You need to agree with the terms to proceed

Check Featured Posts
Menu