Đề Tài Hệ Thống Chăm Sóc Và Theo Dõi Quá Trình Sinh Trưởng Cây Cà Chua Bi.pdf

36 0 0
Tài liệu đã được kiểm tra trùng lặp
Đề Tài Hệ Thống Chăm Sóc Và Theo Dõi Quá Trình Sinh Trưởng Cây Cà Chua Bi.pdf

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Trang 1

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ ĐHQG HÀ NỘI 

NGÀNH CN KỸ THUẬT CƠ ĐIỆN TỬ

-o0o -BÁO CÁO ĐỀ TÀI LẬP TRÌNH NÂNG CAO

Nhóm 5

Đề tài: Hệ thống chăm sóc và theo dõi quá trìnhsinh trưởng cây cà chua bi

Giảng Viên: Nguyễn Quang Nhã

Sinh viên : Kiều Văn Tiến – 20021195Đoàn Trung Nghĩa – 20021170Bùi Tá Phong - 20021174

Hà Nội, tháng 4, năm 2023

Trang 2

Lời nói đầu

Chúng ta đang sống trong thời đại 4.0, thời đại của công nghiệp hoá, hiện đại hoá với mục tiêu là biến quá trình sản xuất mà trước kia ta phải làm thủ công thành một dây chuyền tự động Tự động hoá không chỉ trong công nghiệp mà nó còn được ứng dụng mạnh mẽ trong nhiều lĩnh vực khác như nông nghiệp, dịch vụ,… Hệ thống tưới cây tự động là một công nghệ đang được áp dụng rộng rãi trong lĩnh vực nông nghiệp Đây là một phương tiện hiệu quả để cung cấp nước và chất dinh dưỡng cho cây trồng một cách tự động và hiệu quả hơn so với phương pháp tưới nước thủ công truyền thống.

Hệ thống tưới cây tự động có nhiều lợi ích như giảm chi phí, tiết kiệm thời gian và nước, tăng năng suất và chất lượng sản phẩm, cải thiện môi trường Ngoài ra, hệ thống tưới cây tự động cũng được ứng dụng trong các ứng dụng khác như tưới nước cho các công viên, khu đô thị và các bảo tàng vườn quốc gia.

Trong bài viết này, chúng ta sẽ tìm hiểu thêm về hệ thống tưới cây tự động, cách thức hoạt động, các thành phần và lợi ích của nó Hy vọng những thông tin này sẽ giúp mọi người hiểu rõ hơn về hệ thống tưới cây tự động cũng như áp dụng công nghệ này một cách hiệu quả trong công việc của mình.

Trang 3

Mục Lục

CHƯƠNG I : Tổng Quan Về Hệ Thống Chăm Sóc và Theo dõi Quá Trình

sinh Trưởng của cây cà chua bi Giới Thiệu Tính Năng Hệ Thống

Khả năng ứng dụng trong thực tế của để tài

CHƯƠNG II : Phân tích công nghệ hệ thống

Giới thiệu linh kiện và cảm biến Phân tích quy trình thực hiện

CHƯƠNG III : Thiết kế, chế tạo và lập trình điều khiển hệ thống

Sơ đồ hệ thống Sơ đồ thuật toán Nguyên Lý Hoạt Động

CHƯƠNG IV : Thiết kế giao diện điều khiển giám sát

Trình tự các bước, thao tác chính thiết kế hệ thống Vận hành giao diện điều khiển giám sát

CHƯƠNG V : Kết Luận và Kiến NghịPhụ Lục

Tài Liệu Tham Khảo

Trang 4

CHƯƠNG I

Tổng quan về hệ thống thăm sóc và theo dõi quá trình sinh trưởng của cây cà chua bi

1.1 Giới thiệu tính năng hệ thống

Hệ Thống chăm sóc và theo dõi quá trình sinh trưởng của cây cà chua bi do nhóm tự thiết kế và phát triển, dựa trên các linh kiện như Raspberry pi 3, Esp32, Module Sim 800I, cảm biến ánh sáng

Hệ thống được thiết kế dựa trên ý tưởng của 1 hệ thống có khả năng dựa vào độ ẩm không khí, đất; nhiệt độ trong không khí; cường độ ánh sáng; từ đó hệ thống sẽ tự động đưa ra các phương pháp tưới nước hợp lý Trước khi xử lý tình huống, hệ thống sẽ sao lưu kết quả đo đạc và gửi lên web và gmail

Hình 1.1 Tổng quan thiết bị

1.2 Khả năng ứng dụng trong thực tế của đề tài

Trong thực tế, việc môi trường đang thay đổi thời tiết ngày một khó lường thìviệc có 1 hệ thống có khả năng thay thế con người trong việc theo dõi thời tiết,thực hiện chăm sóc cây trồng một cách tự động là hoàn toàn cần thiết Người sửdụng hệ thống hoàn toàn có thể chủ động hơn trong việc chăm sóc cây trồng, cùngvới đó là đưa ra những phương pháp đáp ứng kịp thời đối với mỗi tình huống đã và

Trang 5

đang xảy ra.

Hiện nay, việc chế tạo nên 1 hệ thống có khả năng như trên đã không còn làhiếm,có thể dễ dàng tìm thấy những hệ thống tự động tương tự trên web Nhóm đãchọn đề tài này do nó có khá nhiều ứng dụng thiết thực trong thực tế cũng như đápứng được những yêu cầu mà môn học đề ra, cùng với đó là niềm hứng thú khi cóthể tự chế tạo nên 1 hệ thống tuy chưa hoàn chỉnh nhưng đã có thể áp dụng trongđời sống.

Trang 6

Raspberry Pi 3 là một board máy tính đơn nhỏ, giá rẻ, kích thước chỉ bằng một thẻ tín dụng, tiết kiệm điện năng (vì nguồn điện cung cấp cho RPi chỉ có 5V) được giới thiệu bởi Raspberry Pi Foundation, đi kèm với CPU, GPU, cổng USB và các chân I/O và có khả năng thực hiện một số chức năng đơn giản như một máy tính thông thường.

Thông số kỹ thuật chính

1,4 GHz 64 bit, Bộ xử lý lõi tứ Broadcom BCM2387 ARM Cortex-A53, nhanh hơn 10 lần so với Raspberry Pi 1.

RAM 1GB (LPDDR2 SDRAM) cho phép bạn chạy các ứng dụng nâng cao

Trang 7

HDMI hỗ trợ phiên bản 1.3/1.4 và Composite RCA (PAL and NTSC) 10/100 BaseT Ethernet socket

Camera interface (CSI), để kết nối với camera

Display interface (DSI): được sử dụng để kết nối Raspberry Pi với màn hình cảm ứng

Khe cắm thẻ microSD: đễ lưu trữ dữ liệu Micro USB power source

VideoCore IV multimedia/3D graphics core @ 400MHz/300MHz

2.1.2.ESP 32

Hình 2.2 ESP 32

Giới thiệu

ESP32 là một series các vi điều khiển trên một vi mạch giá rẻ, năng lượng thấp

có tích hợp WiFi và dual-mode Bluetooth (tạm dịch: Bluetooth chế độ kép) Dòng ESP32 sử dụng bộ vi xử lý Tensilica Xtensa LX6 có hai biến thể lõi kép và lõi đơn, và bao gồm các công tắc antenna tích hợp, RF balun, bộ khuếch đại công suất, bộ khuếch đại thu nhiễu thấp, bộ lọc và module quản lý năng lượng.

Thông số kỹ thuật chính

CPU: Xtensa Dual-Core LX6 microprocessor.Chạy hệ 32 bit

Trang 8

Tốc độ xử lý từ 160 MHz đến 240 MHz ROM: 448 Kb

Tốc độ xung nhịp từ 40 Mhz ÷ 80 Mhz (có thể tùy chỉnh khi lập trình) RAM: 520 Kb SRAM liền chip Trong đó 8 Kb RAM RTC tốc độ cao – 8 Kb RAM RTC tốc độ thấp (dùng ở chế độ DeepSleep).

2 bộ chuyển đổi số sang tương tự (DAC) 8 bit 18 kênh bộ chuyển đổi tương tự sang số (ADC) 12 bit 2 cổng giao tiếp I²C

3 cổng giao tiếp UART

3 cổng giao tiếp SPI (1 cổng cho chip FLASH ) 2 cổng giao tiếp I²S

10 kênh ngõ ra điều chế độ rộng xung (PWM)

Trang 9

Cảm biến độ ẩm đất có thể sử dung tưới hoa tự động khi không có người quản lý khu vườn của bạn hoặc dùng trong những ứng dụng tương tự như trồng cây.

Độ nhạy của cảm biến độ ẩm đất có thể tùy chỉnh được (bằng cách điều chỉnh chiết áp màu xanh trên board mạch) Phần đầu DO được cắm vào đất để phát hiện độ ẩm của đất, khi độ ầm của đất đạt ngưỡng thiết lập, đầu ra DO sẽ chuyển trạng thái từ mức thấp lên mức cao.

Thông số kỹ thuật

Điện áp làm việc 3.3V ~ 5V Có lỗ cố định để lắp đặt thuận tiện PCB có kích thước nhỏ 3.2 x 1.4 cmỗ

Sử dung chip LM393 để so sánh, ổn định làm việc

2.1.4 Cảm biến độ ẩm, nhiệt độ không khí

Hình 2.4 Cảm biến DHT11

Giới thiệu

DHT11 là một cảm biến kỹ thuật số giá rẻ để cảm nhận nhiệt độ và độ ẩm Cảmbiến này có thể dễ dàng giao tiếp với bất kỳ bộ vi điều khiển vi nào như Arduino,Raspberry Pi, để đo độ ẩm và nhiệt độ ngay lập tức DHT11 là một cảm biến độẩm tương đối Để đo không khí xung quanh, cảm biến này sử dụng một điện trởnhiệt và một cảm biến độ ẩm điện dung Cảm biến DHT11 bao gồm một phần tửcảm biến độ ẩm điện dung và một điện trở nhiệt để cảm nhận nhiệt độ Tụ điệncảm biến độ ẩm có hai điện cực với chất nền giữ ẩm làm chất điện môi giữa chúng.Thay đổi giá trị điện dung xảy ra với sự thay đổi của các mức độ ẩm IC đo, xử lýcác giá trị điện trở đã thay đổi này và chuyển chúng thành dạng kỹ thuật số Để đo

Trang 10

nhiệt độ, cảm biến này sử dụng một nhiệt điện trở có hệ số nhiệt độ âm, làm giảm giá trị điện trở của nó khi nhiệt độ tăng Để có được giá trị điện trở lớn hơn ngay cả đối với sự thay đổi nhỏ nhất của nhiệt độ, cảm biến này thường được làm bằng gốm bán dẫn hoặc polymer.

Thông số kỹ thuật

Điện áp hoạt động: 3,3 ~ 5V.

Dòng tiêu thụ: max 2,5mA khi truyền dữ liệu Dải đo độ ẩm: 20% - 90% RH, sai số ±5%RH Dải đo nhiệt độ: 0°C ~ 50°C, sai số ±2°C Tần số lấy mẫu tối đa: 1Hz (1 giây 1 lần) Kích thước: 23*12*5 mm.

2.1.5 Máy bơm RS385

Hình 2.5 Máy bơm RS385

Giới thiệu

Chức năng chính của Máy Bơm RS385 6-12VDC 1.5-2L/Min là bơm nước lên cao, cung cấp nước cho hòn non bộ, các khu vực cần tản nhiệt hay cần di chuyển nước từ các thiết bị, khu vực khác nhau.

Thông số kỹ thuật chính

Điện áp đầu vào: 6 – 12V ( điện áp khuyên dùng: 9 – 12 V DC – 1A)Dòng điện tiêu thụ: 0.5 – 0.7 A

Trang 11

Đường kính động cơ: 27mm Đường kinh đầu máy bơm: 44mm Tổng chiều dài máy bơm: 60mm Lưu lượng bơm: 1,5 – 2L /Min Chiều dài ống hút giới hạn: 2m Khả năng đẩy cao: 3m

Arduino Uno R3 là một board mạch vi điều khiển được phát triển bởi Arduino.cc, một nền tảng điện tử mã nguồn mở chủ yếu dựa trên vi điều khiển AVR Atmega328P.

Phiên bản hiện tại của Arduino Uno R3 đi kèm với giao diện USB, 6 chân đầu vào analog, 14 cổng kỹ thuật số I / O được sử dụng để kết nối với các mạch điện tử, thiết bị bên ngoài Trong đó có 14 cổng I / O, 6 chân đầu ra xung PWM cho phép các nhà thiết kế kiểm soát và điều khiển các thiết bị mạch điện tử ngoại vi một cách trực quan.

Thông số kỹ thuật chính

Trang 12

Vi điều khiển: ATmega328P(8bits) Điện áp hoạt động: 5V

Tần số hoạt động: 16 MHz

Điện áp đầu vào khuyên dùng: 7VDC - 12VDC Điện áp vào giới hạn: 6-20V DC

Số chân Digital I/O 14 (6 chân hardware PWM) Số chân Analog 6 (độ phân giải 10bit) Dòng tối đa trên mỗi chân I/O 30 mA

LCD 2004 sử dụng driver HD44780, có khả năng hiển thị 4 dòng với mỗi dòng

20 ký tự, màn hình có độ bền cao, rất phổ biến, nhiều code mẫu và dễ sử dụng thích hợp cho những người mới học và làm dự án.

Thông số kỹ thuật Điện áp hoạt động là 5V Kích thước: 98 x 60 x 13.5 mm

Chữ đen, nền xanh dương/ chữ trắng, nền xanh dương

Khoảng cách giữa hai chân kết nối là 0.1 inch tiện dụng khi kết nối với

Trang 22

Phụ Lục

Code của Raspberry pi 3b

# Khai báo các thư viện thời gian, firebase.

Trang 23

if ser.in_waiting > 0: # nếu nhận tín hiệu gửi từ arduino

Doamdat = float(ser.readline().decode('utf-8').rstrip()) # đọc dữ liệu từ arduino bỏ các ký tự /n, khoảng trắng và ép về kiểu nguyên

print("Do am dat: " + str(Doamdat))

# tạo dữ liệu trên firebase

dulieu1 = {"DoAmDat": Doam, "NhietDoKhongKhi": Nhietdokk,"Doamcaidat": Doamcaidat} dulieu2 = {"Giay": Giay, "Gio": Gio, "Phut": Phut}

# Khởi tạo dữ liệu trên firebase set liên tục

Trang 24

SoftwareSerial serialSIM900(RX_PIN, TX_PIN); // Cài đặt modulsim const int DHTTYPE = DHT11;

DHT dht(DHTpin, DHTTYPE); // Cảm biến nhiệt độ, độ ẩm không khí

void tinnhan(float nhietdo, float doamkk, float doamdat) { // Thông báo bằng tin nhắn //Nội dung tin nhắn muốn gửi

//Thiết lập định dạng tin nhắn là ASCII để có thể gửi tin nhắn dạng text serialSIM900.println("AT+CMGF=1\r\n");

delay(1000); //Cứ mỗi lệnh AT ta cần có thời gian delay để Sim800 thực thi //Cài đặt số điện thoại muốn gửi tin nhắn đến, và nội dung tin nhắn

void inramanhinh(float temp, float humi, float doamdat) { lcd.clear(); // Xóa màn hình trước khi hiển thị lại

Trang 25

// Tính thời gian tính được ở đơn vị giờ, phút, giây unsigned long thoigiangiay = thoigianbom / 1000; unsigned long gio = thoigiangiay / 3600; unsigned long phut = (thoigiangiay % 3600) / 60; unsigned long giay = (thoigiangiay % 3600) % 60;

// Tính thời gian tính được ở đơn vị giờ, phút, giây unsigned long thoigiangiay = thoigianbom / 1000; unsigned long gio = thoigiangiay / 3600; unsigned long phut = (thoigiangiay % 3600) / 60; unsigned long giay = (thoigiangiay % 3600) % 60;

Trang 26

// Tính thời gian tính được ở đơn vị giờ, phút, giây unsigned long thoigiangiay = thoigianbom / 1000; unsigned long gio = thoigiangiay / 3600; unsigned long phut = (thoigiangiay % 3600) / 60; unsigned long giay = (thoigiangiay % 3600) % 60;

dht.begin(); //Khởi động cảm biến

serialSIM900.begin(9600); // Định tốc độ bau với modulsim 800A

float h = dht.readHumidity(); //Đọc độ ẩm không khí float t = dht.readTemperature(); //Đọc nhiệt độ không khí float doamdat = map(analogRead(cbdoam), 330, 1020, 100, 0); float anhsang = analogRead(cbanhsang);

unsigned long thoigianbatdau = 0; unsigned long thoigianbom = 0; int doamcaidat1 = 70; delay(1000);

if (Serial.available() > 0) { int Chonchedo = Serial.parseInt(); int CdDACD = Serial.parseInt(); lcd.setCursor(0, 3);

Trang 27

int tinhieubom = Serial.parseInt(); int tinhieuden = Serial.parseInt();

Trang 28

card { background-color: white; box-shadow: 2px 2px 12px 1px rgba(140,140,140,.5); } .cards { max-width: 700px; margin: 0 auto; display: grid; grid-gap: 2rem; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); }

reading { font-size: 2.8rem; }

timestamp { color: #bebebe; font-size: 1rem; } .card-title{ font-size: 1.2rem; font-weight : bold; } .card.temperature { color: #B10F2E; }

Trang 30

<p><span style="font-size:30px"> CHỌN CHẾ ĐỘ </span></p>

<p><label>CHẾ ĐỘ TỰ ĐỘNG : </label><button onclick="cdtd()">Auto</button></p> <p><label>CHẾ ĐỘ CÀI ĐẶT : </label><button onclick="cdcd()">Set</button></p> <p><label>CHẾ ĐỘ THỦ CÔNG : </label><button onclick="cdtc()">Manual</button></p> <div class="card temperature">

<p class="card-title"><i class="fas fa-thermometer-half"></i> NHIỆT ĐỘ </p><p><span class="reading"><span id="t1"></span> &deg;C</span></p><p class="timestamp">Last Reading: <span id="rt1"></span></p>

</div>

<div class="card humidity">

<p class="card-title"><i class="fas fa-tint"></i> ĐỘ ẨM KHÔNG KHÍ </p><p><span class="reading"><span id="h1"></span> &percnt;</span></p><p class="timestamp">Last Reading: <span id="rh1"></span></p>

</div>

Trang 31

class="reading"><span id="h2"></span> &percnt;</span></p><p class="timestamp">Last Reading: <span id="rh1"></span></p>

</div>

<div class="card temperature">

<p class="card-title"><i class="fas fa-tint"></i> THỜI GIAN BƠM </p><p><span class="reading"><span id="t2"></span></span></p><p class="timestamp">Last Reading: <span

<p><span style="font-size:30px"> TRẠNG THÁI ĐÈN </span><div id="tt2"></div></p> <label class="switch" id="switch1" >

<input type="checkbox" checked id="myCheck1" onclick="myFunction1()"> <span class="slider round"></span>

</label>

<p><span style="font-size:30px"> TRẠNG THÁI BƠM </span><div id="tt3"></div></p> <label class="switch" id="switch1" >

<input type="checkbox" checked id="myCheck2" onclick="myFunction2()"> <span class="slider round"></span>

</label>

<p><span style="font-size:30px"> CẤU HÌNH WIFI ĐO </span></p>

Trang 32

<label>PASS1: </label>

<input type="text" id="pass1"><br><br> <button onclick="sendwifiinfo()"> Send</button>

Ngày đăng: 04/05/2024, 12:45

Tài liệu cùng người dùng

Tài liệu liên quan