Mục lục:

Mảng cảm biến nông nghiệp: 6 bước
Mảng cảm biến nông nghiệp: 6 bước

Video: Mảng cảm biến nông nghiệp: 6 bước

Video: Mảng cảm biến nông nghiệp: 6 bước
Video: 8 CHIẾN LƯỢC MARKETING ĐỈNH CAO CỦA HUYỀN THOẠI SETH GODIN | 9 phút kinh doanh 2024, Tháng bảy
Anonim
Mảng cảm biến nông nghiệp
Mảng cảm biến nông nghiệp

Một dự án của Jackson Breakell, Tyler McCubbins và Jakob Thaler cho EF 230

Nông nghiệp là một yếu tố quan trọng của sản xuất ở Hoa Kỳ. Cây trồng có thể được sử dụng cho nhiều mục đích khác nhau, từ nguyên liệu thô để sản xuất quần áo, dược phẩm và phụ gia thực phẩm đến tiêu thụ trực tiếp các bộ phận của cây trồng, thường xuyên nhất là quả nảy mầm. Phần lớn các loại cây trồng ở Hoa Kỳ được trồng ngoài trời, nơi không thể kiểm soát được điều kiện thời tiết cũng như nhiệt độ trên diện rộng. Do các điều kiện thời tiết bất lợi có thể ảnh hưởng nghiêm trọng đến sự phát triển của cây trồng, từ đó ảnh hưởng đến nền kinh tế của Hoa Kỳ, việc theo dõi các điều kiện của cánh đồng trồng trọt trở nên quan trọng.

Thiết bị của chúng tôi, Agricultural Sensor Array, cho phép nông dân theo dõi tình trạng của các bộ phận được chọn trước trên ruộng của họ bằng 4 cảm biến: cảm biến nước mưa, cảm biến độ ẩm của đất, cảm biến nhiệt độ và cảm biến quang điện. Sự kết hợp của các cảm biến này cho phép người nông dân lập kế hoạch đầy đủ về sản lượng cây trồng của mùa vụ, điều chỉnh lượng mưa quá ít hoặc quá nhiều, đối phó tốt hơn với các thảm họa có thể giết chết cây trồng và tiết kiệm thời gian và rắc rối từ việc lấy mẫu đất và sử dụng thiết bị cảm biến đắt tiền hơn. Trong phần Có thể hướng dẫn này, chúng tôi sẽ hướng dẫn bạn cách đi dây và mã hóa đằng sau Mảng cảm biến nông nghiệp của chúng tôi, vì vậy bạn cũng có thể tự làm.

Bước 1: Thu thập vật liệu cần thiết

Thu thập vật liệu cần thiết
Thu thập vật liệu cần thiết

Dưới đây là danh sách các tài liệu bắt buộc bạn sẽ cần để bắt đầu"

1. Bảng Arduino, tốt nhất là Arduino Uno

2. breadboard cơ bản

3. Điện trở 1x 220 ohm

4. Các loại dây có màu sắc khác nhau

5. Cáp Micro USB sang USB

6. Loa gắn bảng

7. Cảm biến quang điện

8. Cảm biến nhiệt độ

9. Cảm biến nước mưa

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

11. Máy tính đã cài đặt Matlab 2017 và Gói hỗ trợ Arduino (Bạn có thể tìm thấy gói hỗ trợ trong Phần bổ trợ)

Bước 2: Nối dây bảng và kết nối

Nối dây bảng và kết nối
Nối dây bảng và kết nối

Bắt đầu bằng cách đấu dây bảng như hình trên, hoặc theo bất kỳ cách nào phù hợp nhất với bạn. Thực sự có nhiều cách không giới hạn bảng có thể được nối dây, vì vậy cấu hình chính xác thực sự tùy thuộc vào bạn. Sau khi bo mạch có dây, hãy bắt đầu gắn các cảm biến của bạn. Cảm biến nước mưa, độ ẩm đất và quang điện đều là đầu ra tương tự, vì vậy hãy đảm bảo rằng chúng được kết nối với phần analog trong của Arduino. Mặt khác, cảm biến nhiệt độ là một đầu ra kỹ thuật số, vì vậy hãy đảm bảo rằng nó được kết nối với một đầu vào kỹ thuật số có sẵn trên Arduino của bạn. Arduino phải có đầu ra cho 3.3v và 5v, vì vậy hãy đảm bảo rằng các cảm biến được kết nối với điện áp tương thích với chúng.

Sau khi bạn chắc chắn rằng bo mạch đã được nối dây chính xác, hãy cắm cáp Micro USB sang USB từ máy tính của bạn vào cổng Micro USB trên máy tính và bật nguồn Arduino của bạn. Mở Matlab và đảm bảo rằng bạn đã cài đặt Gói hỗ trợ Arduino trong Phần bổ trợ, hãy chạy lệnh "fopen (serial ('nada'))", không có dấu ". Một lỗi sẽ xuất hiện và lỗi sẽ báo bạn có một tổ hợp có sẵn với một số. Chạy lệnh "a = arduino ('comx', 'una')", trong đó x là số biên dịch của bạn, để ánh xạ Arduino của bạn tới một đối tượng. Đèn LED trên Arduino sẽ nhấp nháy nhanh để cho biết nó đã được kết nối.

Bước 3: Mã cảm biến quang điện và nhiệt độ

Mã cảm biến quang điện và nhiệt độ
Mã cảm biến quang điện và nhiệt độ

Trước khi bạn bắt đầu viết mã, hãy ghi lại vị trí các cảm biến của bạn được kết nối trên Arduino, vì điều này sẽ rất quan trọng đối với lệnh readVoltage. Bắt đầu mã của bạn bằng cách đặt biến ánh sáng mặt trời bằng lệnh "readVoltage (a, 'X #') ', trong đó X # là cổng bạn được kết nối và a chỉ đơn giản là gọi Arduino mà bạn đã ánh xạ tới biến đó. Bắt đầu câu lệnh if và đặt điều kiện đầu tiên cho ánh sáng mặt trời <3. Đặt đầu ra là "info. TOD = 'night'" để xuất thời gian trong ngày dưới dạng cấu trúc, sau đó thêm một câu lệnh khác với đầu ra là "info. TOD = ' day '". Vì đây là một câu lệnh khác, chúng tôi không cần điều kiện vì nó sẽ hoạt động với tất cả các giá trị khác không được xác định trong câu lệnh if. Hãy đảm bảo rằng bạn kết thúc câu lệnh if bằng dấu chấm hết và chuyển sang lập trình cảm biến nhiệt độ.

Đặt biến nhiệt bằng một lệnh readVoltage khác, lệnh là "readVoltage (a, 'X #')". Trong trường hợp của chúng tôi, nhiệt độ phải được chuyển đổi từ đơn vị điện áp thành độ C, do đó, phương trình "tempC = (nhiệt-.5). * 100" để chuyển đổi từ điện áp sang độ C. Để dễ dàng hơn, chúng tôi đã chuyển đổi nhiệt độ theo độ C sang độ F, nhưng điều này hoàn toàn là tùy chọn.

Mã cho mục đích dán

ánh sáng mặt trời = readVoltage (a, 'A1') nếu ánh sáng mặt trời <3

info. TOD = 'đêm'

khác

info. TOD = 'day'

kết thúc

thermo = readVoltage (a, 'A3');

tempC = (nhiệt-.5). * 100;

info.tempF = (9/5 * tempC) +32

Bước 4: Mã cảm biến nước mưa và độ ẩm của đất

Mã cảm biến nước mưa và độ ẩm của đất
Mã cảm biến nước mưa và độ ẩm của đất

Như đã nêu trong bước cuối cùng, hãy đảm bảo rằng bạn biết cảm biến của mình được cắm vào cổng nào trên bảng Arduino, vì nó sẽ giúp bước này đỡ bực bội hơn nhiều. Bắt đầu với cảm biến nước mưa và bắt đầu câu lệnh if. Đặt điều kiện đầu tiên cho "readVoltage (a, 'X #')> 4" và đặt đầu ra của nó thành "info. Rain = 'không có mưa". Thêm một elseif và đặt điều kiện của nó thành lệnh readVoltage trước đó, nhưng đặt nó thành> 2. Thêm "&&" để biểu thị một điều kiện khác phải được đáp ứng và đặt nó thành lệnh readVoltage như trước đây và đặt nó thành <= 4. Đầu ra sẽ là "info. Rain = 'phun sương'". Cuối cùng, thêm một cái khác và đặt đầu ra của nó thành "info. Rain = 'downpour'". Bạn có thể phải điều chỉnh các giá trị cho các điều kiện dựa trên độ ẩm môi trường xung quanh của căn phòng bạn đang làm việc.

Tiếp theo, bắt đầu mã cho cảm biến độ ẩm của đất và bắt đầu bằng câu lệnh if. Đặt điều kiện của câu lệnh if thành "readVoltage (a, 'X #')> 4 và thêm đầu ra" info.soil = 'dry' ". Thêm câu lệnh elseif và sử dụng lệnh readVoltage ở trên, đặt nó cho> 2. Thêm một "&&" và đặt một lệnh readVoltage khác cho <= 4. Đặt đầu ra của nó thành "info.soil = 'tối ưu bão hòa'". Thêm một câu lệnh khác và đặt đầu ra của nó thành "info.soil = 'lụt' ", và đừng quên thêm phần kết thúc.

Mã cho mục đích dán

nếu readVoltage (a, 'A0')> 4 thông tin. Rain = 'không có mưa'

elseif readVoltage (a, 'A0')> 2 && readVoltage (a, 'A0') <= 4

info. Rain = 'phun sương'

khác

info. Rain = 'downpour'

kết thúc

nếu readVoltage (a, 'A2')> 4

info.soil = 'khô'

elseif readVoltage (a, 'A2')> 2 && readVoltage (a, 'A0') <= 4

info.soil = 'độ bão hòa tối ưu'

khác

info.soil = 'lũ'

kết thúc

Bước 5: Mã hóa đầu ra loa và hộp tin nhắn

Mã hóa đầu ra loa và hộp tin nhắn
Mã hóa đầu ra loa và hộp tin nhắn

Đầu ra cho thiết bị này có thể rất khác nhau, nhưng trong trường hợp này, chúng tôi sẽ hướng dẫn bạn qua đầu ra loa được gắn trực tiếp trên thiết bị và đầu ra hộp thông báo có thể được xem trên máy tính từ xa. Loa của chúng tôi được thiết kế để phát ra các tần số khác nhau, nghĩa là thấp hơn, cho nhiệt độ cây trồng tối ưu, ánh sáng mặt trời, độ ẩm của đất và lượng mưa. Bắt đầu mã đầu ra loa của bạn bằng câu lệnh if và đặt điều kiện của nó thành lệnh "readVoltage (a, 'X #')> 4 || info.tempF = 3 || readVoltage (a, 'A2')> 2 && readVoltage (a, 'A0') <= 4 ". Thêm lệnh playTone tương tự như hình trên, nhưng thay đổi 200 thành 1000 để tạo ra âm cao hơn, tích cực hơn. Sau đó, thêm một lệnh khác và thêm lại lệnh playTone tương tự, nhưng thay đổi 1000 thành 1500. Các âm khác nhau này cho biết mức độ nghiêm trọng của tình huống của trường. Hãy chắc chắn rằng bạn thêm một dấu chấm hết để hoàn thành câu lệnh if của bạn.

Phần mã cuối cùng của chúng ta sẽ là một đầu ra tạo ra một hộp thông báo. Tạo một chuỗi bằng cách sử dụng dấu 'trong ngoặc và chuyển đổi các phần của cấu trúc của bạn thành chuỗi bằng cách sử dụng lệnh "num2str (info.x)", trong đó x là tên cấu trúc con trong cấu trúc thông tin. Sử dụng "chuỗi dòng mới" để thêm dòng mới vào hộp tin nhắn của bạn và nhập tin nhắn của bạn dưới dạng văn bản bằng cách sử dụng dấu ngoặc kép, thêm giá trị thực của trường vào chuỗi bằng lệnh num2str đã nói ở trên. Cuối cùng, với chuỗi được xác định, hãy sử dụng lệnh "msgbox (string)" để hiển thị dữ liệu dưới dạng hộp thông báo trên màn hình của bạn.

Mã cho mục đích dán

nếu readVoltage (a, 'A2')> 4 || info.tempF <32 playTone (a, 'D9', 200, 1)

elseif ánh sáng mặt trời> = 3 || readVoltage (a, 'A2')> 2 && readVoltage (a, 'A0') <= 4

playTone (a, 'D9', 1000, 3)

khác

playTone (a, 'D9', 1500, 5)

kết thúc

string = ['Nhiệt độ là (deg F)', num2str (info.tempF)]

string = [string newline 'Đất là', num2str (info.soil)]

string = [string newline 'Lượng mưa bên ngoài là', num2str (info. Rain)]

string = [string newline 'Thời gian trong ngày là', num2str (info. TOD)]

msgbox (chuỗi)

Bước 6: Kết luận

Phần kết luận
Phần kết luận

Trong khi thế giới đang tiếp tục ngày càng phụ thuộc nhiều hơn vào các giải pháp thay thế tổng hợp cho các mặt hàng thu hoạch trước đây từ cây trồng, nông nghiệp chắc chắn sẽ vẫn là một yếu tố phù hợp và quan trọng của nền kinh tế trong một thời gian dài. Theo dõi đầy đủ đất nông nghiệp là điều quan trọng đối với người nông dân để tận dụng tối đa vụ thu hoạch của mình và, với thiết bị của chúng tôi, không chỉ có thể giám sát toàn bộ đất nông nghiệp từ xa mà còn có thể thực hiện điều đó với chi phí rẻ, dễ dàng. cài đặt và cách đáng tin cậy. Chúng tôi hy vọng hướng dẫn này đã chứng minh được nhiều thông tin và dễ làm theo, đồng thời chúng tôi hy vọng thiết bị tỏ ra hữu ích cho dù bạn muốn triển khai hoặc thử nghiệm với nó.

Chúc bạn viết mã vui vẻ, Nhóm mảng cảm biến nông nghiệp

Đề xuất: