1. Trang chủ
  2. » Nông - Lâm - Ngư

Đề tài: Nghiên cứu thiết kế hệ thống tưới tự động trong nhà trồng thông minh

82 2,4K 14

Đ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

Thông tin cơ bản

Định dạng
Số trang 82
Dung lượng 2,89 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Đề tài: Nghiên cứu thiết kế hệ thông tưới tự động trong nhà trồng thông minhĐề tài: Nghiên cứu thiết kế hệ thông tưới tự động trong nhà trồng thông minhới kết cấu nội dung gồm 4 chương, đề tài Nghiên cứu thiết kế hệ thông tưới tự động trong nhà trồng thông minh giới thiệu đến các bạn những nội dung khái quát về nhà trồng thông minh, thiết bị và giải pháp công nghệ, thiết kế, lập trình,lắp đặt mạch và vẽ đồ thị thể hiện giá trị,...

Trang 1

TRƯỜNG ĐẠI HỌC GIAO THÔNG VẬN TẢI

NGHIÊN CỨU THIẾT KẾ HỆ THÔNG TƯỚI TỰ ĐỘNG

TRONG NHÀ TRỒNG THÔNG MINH

Mã số đề tài:

Thuộc nhóm ngành khoa học:Kỹ thuật điện tử và THCN

Hà Nội, 04-2015

Trang 2

TRƯỜNG ĐẠI HỌC GIAO THÔNG VẬN TẢI

BÁO CÁO TỔNG KẾT

ĐỀ TÀI NGHIÊN CỨU KHOA HỌC CỦA SINH VIÊN

ĐỀ TÀI:

NGHIÊN CỨU THIẾT KẾ HỆ THÔNG TƯỚI TỰ ĐỘNG

TRONG NHÀ TRỒNG THÔNG MINH

Người hướng dẫn:Ngô Thanh Bình

Chức danh khoa học, học vị:Tiến sĩ

Sinh viên thực hiện:Nguyễn Văn Giáp Nam, Nữ: Nam

Hoàng Công Hoàn Nam, Nữ: Nam

Nguyễn Thiện Phú Nam, Nữ: Nam

Dân tộc : Kinh Lớp, khoa : Điện – Điện tử Năm thứ : 3

Số năm đào tạo: 4 Ngành học :Kỹ thuật điện tử và THCN

Hà Nội, 04-2015

Trang 3

MỤC LỤC

LỜI NÓI ĐẦU 8

Chương 1: KHÁI QUÁT 9

1.1 Khái quát về nhà trồng thông minh 9

1.2 Giới hạn bài toán giám sát nhà trồng 9

Chương 2: THIẾT BỊ VÀ GIẢI PHÁP CÔNG NGHỆ 10

2.1 Giới thiệu chung về Arduino 10

2.2 Giới thiệu về board ArduinoMega 2560 11

2.3 Giới thiệu về board Arduino Data logger 16

2.4 Giới thiệu về Arduino LCD KeyPad Shield 17

2.5 Giới thiệu về cảm biến nhiệt độ LM35 19

2.6 Giới thiệu về cảm biến đo cường độ ánh sang Photo cell (CdS photoresistor) 20

2.8 Giới thiệu chung về phần mềm mô phỏng Proteus 22

2.9 Thư viện Arduino trong Proteus 23

2.10 Giới thiệu về Arduino IDE và ngôn ngữ lập trình cho Arduino 23

2.11 Giới thiệu về phần mềm Visual Studio 2010 25

Chương 3: THIẾT KẾ, LẬP TRÌNH,LẮP ĐẶT MẠCH VÀ 27

VẼ ĐỒ THỊ THỂ HIỆN GIÁ TRỊ 27

3.1 Thiết kế mạch trên Proteus 27

3.2 Lập trình đo nhiệt độ,ánh sang,độ ẩm hiển thị lên LCD 16.2 28

3.2.1 Lập trình đo nhiệt độ,ánh sáng 28

3.2.2 Lập trình hiển thị giá trị lên LCD 16.2 29

3.3 Lập trình điều khiển động cơ và đặt ngưỡng cảnh báo giới hạn 30

3.3.1 Lập trình điều khiển động cơ 30

3.3.2 Lập trình đặt ngưỡng cảnh báo và điều chỉnh động cơ theo hướng cảnh báo 32

3.4 Lập trình sử dụng modul Arduino datalogger và truyền ra cổng Serial 32

3.4.1 Lập trình sử dụng đồng hồ đếm thời gian thực DS1307 trên shieul datalogger 32

1

Trang 4

3.4.2 Lập trình xuất dữ liệu ra thẻ SD 34

3.4.3 Giao diện cổng kết nối Serial 36

3.5 Lập trình nhận dữ liệu từ cổng COM ảo, file dữ liệu và vẽ đồ thị cho các tham số nhiệt độ,ánh sáng và độ ẩm 36

3.5.1 Thiết kế giao diện 37

3.5.2.Lập trình cho các đối tượng 38

3.5.3 Mô phỏng 39

3.6 Lắp đặt mach đo nhiệt độ,ánh sang ,độ ẩm và thử nghiệm trên các board 40 3.6.1 Lắp đặt cảm biến đo ánh sang ,nhiệt độ và độ ẩm trên Arduino datalogger 40

3.6.2 Lắp đặt mạch điều khiển động cơ 40

3.6.3 Lắp đặt LED giám sát và cảnh báo 41

3.6.4 Tổng thể mạch đang hoạt động khi đã cấp nguồn và nạp Code 42

3.7 Chi phí thực hiện đề tài 43

Chương4: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 44

TÀI LIỆU THAM KHẢO 45

PHỤ LỤC 46

2

Trang 5

DANH MỤC HÌNH ẢNH

Hình 1:Hệ thống tưới nước tự động cho cây trồng 9

Hình 2.1: Những thành viên khởi xướng Arduino 10

Hình 1.2 Board Arduino Mega 11

Hinh 2.3 Sơ đồ nguyên lý của boar Arduino mega 2650 12

Hình 2.4 Bảng mạch data logger 16

Hình 2.5.LCD KeyPad Shield 18

Hình 2.6 Cảm biến LM35 19

Hình 2.7 cảm biến đo cường độ ánh sang Photo cell (CdS photoresistor) 20

Hình2.8 hình ảnh IC l293D 21

Hình 2.9 Giao diện khởi động phần mềm Proteus 22

Hình 2.10 Các linh kiện trong thư viện Arduino cho Proteus 23

Hình 2.11 Giao diện phần mềm Arduino IDE 24

Hình 2.12: Giao diện phần mềm Visual Studio 2010 25

Hinh 2.13: Giao diện thiết kế trên C# 26

Hình 3.1 Sơ đồ nguyên lý của mạch 27

Hình 3.2 Lưu đồ thuật toán điều chỉnh động cơ 30

Hình 3.3 IC DS1307 33

Hình 3.4 Lưu đồ thuật toán cho DS1307 33

Hình 3.5 Bảng số liệu đọc từ file Exel của thẻ SD 35

Hình 3.6 Dao diện kết nối cổng Serial 36

Hình 3.7 Giao diện thiết kế 36

Hình 3.8.Giao diện thiết kế phần mềm 37

Hình 3.9 Kết quả mô phỏng 39

Hình 3.10 Sơ đồ kết nối các cảm biến 40

Hình 3.11 Mạch Arduino datalogger sau khi hoàn thành 40

Hình 3.12 Led cảnh báo ngưỡng 41

Hình 3.13 Hình ảnh toàn mạch hoạt động sau khi đã nạp code và cấp nguồn 42

3

Trang 6

DANH MỤC BẢNG SỐ LIỆU

Bảng 2.1 Sơ đồ kết nối chân của Arduino LCD KeyPad Shield 18Bảng 3.1 Sơ đồ chân kết nối của các linh kiện 28Bảng 3.2 Bảng chi phí thực hiện đề tài 43

4

Trang 7

TRƯỜNG ĐẠI HỌC GTVT

THÔNG TIN KẾT QUẢ NGHIÊN CỨU CỦA ĐỀ TÀI

1 Thông tin chung:

- Tên đề tài: NGHIÊN CỨU THIẾT KẾ HỆ THÔNG TƯỚI TỰ

ĐỘNG TRONG NHÀ TRỒNG THÔNG MINH

- Sinh viên thực hiện: Nguyễn Văn Giáp

Hoàng Công Hoàn Nguyễn Thiện Phú

- Lớp: Kỹ thuật điện tử và THCN

-Khoa: Điên – Điện tử

-Năm thứ: 3

-Số năm đào tạo: 4

- Người hướng dẫn: Ngô Thanh Bình

2 Mục tiêu đề tài:

Thiết kế làm một hệ thống tưới nước, độ ẩm, nhiệt độ tự động được điều khiển bởi mạch điện tử Arduino ứng dụng vào nhà trồng thông minh

3 Tính mới và sáng tạo:

Sử dụng công nghệ arduino còn khá mới lạ

4 Kết quả nghiên cứu:

Chạy thành công mạch arduino và ứng dụng trong thực tế

5 Đóng góp về mặt kinh tế - xã hội,giáo dục và đào tạo, an ninh, quốc phòng và khả năng áp dụng của đề tài:

Ứng dụng trong thực tế đời sống, chế tạo dễ dàng

5

Trang 8

6.Công bố khoa học của sinh viên từ kết quả nghiên cứu của đề tài (ghi rõ tên tạp

chí nếu có) hoặc nhận xét, đánh giá của cơ sở đã áp dụng các kết quả nghiên cứu (nếu có):

Ngày tháng 04 năm 2015

Sinh viên chịu trách nhiệm chính

thực hiện đề tài

(ký, họ và tên)

Nhận xét của người hướng dẫn về những đóng góp khoa học của sinh viên thực

hiện đề tài (phần này do người hướng dẫn ghi):

Ngày tháng04 năm 2015

Người hướng dẫn

(ký, họ và tên)

6

Trang 9

THÔNG TIN VỀ SINH VIÊN CHỊU TRÁCH NHIỆM CHÍNH THỰC HIỆN ĐỀ TÀI

I SƠ LƯỢC VỀ SINH VIÊN:

Họ và tên: Hoàng Công Hoàn

Sinh ngày: 19 tháng:01 năm: 2015

Nơi sinh: TP Nam Định – Nam Định

Lớp: Kỹ thuật điện tử và THCN Khóa:53

Khoa: Điện – Điện tử

Địa chỉ liên hệ: Ngõ 458 Trần Cung, Quận Cầu Giấy, Hà Nội

Điện thoại: 0983213094 Email: conghoan94.utc@gmail.com

Trang 10

LỜI NÓI ĐẦU

Ngày nay khoa học công nghệ ngày càng phát triển, vi điều khiển AVR và viđiều khiển PIC ngày càng thông dụng và hoàn thiện hơn , nhưng có thể nói sự xuấthiện

củaArduino vào năm 2005 tại Italia đã mở ra một hướng đi mới cho vi điềukhiển Sự xuất hiện của Arduino đã hỗ trợ cho con người rất nhiều trong lập trình vàthiết kế, nhất là đối với những người bắt đầu tìm tòi về vi điều khiển mà không có quánhiều kiến thức, hiểu biết sâu sắc về vật lý và điện tử Phần cứng của thiết bị đã đượctích hợp nhiều chức năng cơ bản và là mã nguồn mở Ngôn ngữ lập trình trên nền Javalại vô cùng dễ sử dụng tương thích với ngôn ngữ C và hệ thư viện rất phong phú vàđược chia sẻ miễn phí Chính vì những lý do như vậy nên Arduino hiện đang dần phổbiến và được phát triển ngày càng mạnh mẽ trên toàn thế giới

Trên cơ sở kiến thức đã học trong môn học : Tin học đại cương , Điện tử tương

tự và số… cùng với những hiểu biết về các thiết bị điện tử, chúng em đã quyết định

thực hiện đề tài :NGHIÊN CỨU THIẾT KẾ HỆ THÔNG TƯỚI TỰ ĐỘNG TRONG NHÀTRỒNG THÔNG MINH, HIỂN THỊ TRÊN LCD VÀ BIỄU DIỄN TRÊN ĐỒ THỊvới mục đích để tìm hiểu thêm về Arduino, làm quen với các thiết bị

điện tử và nâng cao hiểu biết cho bản thân Do kiến thức còn hạn hẹp, thêm vào đó đây

là lần đầu chúng em thực hiện đề tài nên chắc chắn không tránh khỏi những thiếu sót ,hạn chế vì thế chúng em rất mong có được sự góp ý và nhắc nhờ từ thầy giáo để có thểhoàn thiện đề tài của mình Chúng em xin chân thành cảm ơn thầy giáo TS.Ngô ThanhBình đã giúp đỡ chúng em rất nhiều trong quá trình tìm hiểu ,thiết kế và hoàn thành đềtài này

Hà Nội, ngày 11 tháng 4 năm 2015

8

Trang 11

Chương 1: KHÁI QUÁT1.1 Khái quát về nhà trồng thông minh

Tại một số địa phương đã sử dụng nhà trồng để canh tác một số loại cây, hoa, rau cógiá trị kinh tế cao, tuy nhiên hiện nay vẫn chưa có đơn vị nào tiến hành nghiên cứuthiết kế nhà trồng đáp ứng điều kiện kinh tế, môi trường của nước ta

Thực tế trong cuộc sống bận rộn hiện nay, nhiều bạn vẫn có thú vui là trồng những câycảnh, vườn rau trong không gian trống của nhà mình như sân thượng, ban công Tuynhiên, trong những lúc bạn bận đi công tác nhiều ngày thì những cây cảnh và vườn hoa

ở nhà sẽ không ai tưới nước.Nhận thấy sự cần thiết phải phải xây dựng nhà trồng nhằmđẩy mạnh sự nghiệp phát triển nông nghiệp, nông thôn nhóm nghiên cứu chúng em đãthực hiện đề tài tưới nước tự động được điều khiển bởi mạch điện tử Arduino

nh 1:Hệ thống tưới nước tự động cho cây trồng

Trang 12

1.2 Thực tiễn áp dụng của Arduino vào đề tài.

Nhóm xin đưa ra một ví dụ về ứng dụng của Arduino về giám sát nhà vườn Họ sẽ

cung cấp cho một liên lạc hiện đại để làm vườn và kết nối một số thông tin về khu vườn của họ với Internet Sử dụng một cảm biến đọ ẩm và nhiệt độ đất kết nối với mộtArduino và một chip Wifi để tự động gửi số đo từ khu vườn của bạn lên Internet Một dịch vụ gọi Carriots để xử lý các dữ liệu và hiển thị nó lên trên một trang Web Sau đó,một email hoặc tin nhắn SMS hiển thị cảnh báo có thể được gửi cho bạn tự động nếu

độ ẩm giảm xuống thấp hơn một ngưỡng nhất định Hình ảnh dưới dạng đại diện cho

hệ thống khi lắp ráp hoàn chỉnh và với bộ cảm biến chôn xuống đất bên cạnh một bo mạch hoàn chỉnh từ ví dụ thực tiễn này cùng với sự giúp đỡ của giáo viên hướng dẫn , nhóm đã lựa chọn và phát triển đề tài theo hướng sử dụng kid Arduino để thực hiện đề tài của mình

1.2 Giới hạn bài toán giám sát nhà trồng

Do đây mới là lần đầu tiên những thành viên trong nhóm làm một đề tài nghiên cứu, cộng với kiến thức còn nhiều hạn chế, đề tài bọn em vẫn còn một số hạn chế như : + Chưa đo đạc được nhiều thông số, quy mô áp dụng còn hạn chế

+ Chưa đẩy được dữ diệu qua mạng

Trang 13

Chương 2: THIẾT BỊ VÀ GIẢI PHÁP CÔNG NGHỆ

2.1 Giới thiệu chung về Arduino

Arduino thực sự đã gây sóng gió trên thị trường người dùng DIY trên toàn thếgiới trong vài năm gần đây,gần giống vớnhững gìApple đã làm được trên thị trườngthiết bị di động Số lượng người dùng cực lớn và đa dạng với trình độ trải rộng từ bậcphổ thông lên đến đại học đã làm cho ngay cả những người tạo ra chúng phải ngạcnhiên về mức độ phổ biến

Hình 2.1: Những thành viên khởi xướng Arduino

Arduino là gì mà có thể khiến ngay cả những sinh viên và nhà nghiên cứu tại cáctrường đại học danh tiếng như MIT, Stanford, Carnegie Mellon phải sử dụng;hoặc ngay cả Google cũng muốn hỗ trợ khi cho ra đời bộ kit Arduino Mega ADKdùng để phát triển các ứng dụng Android tương tác với cảm biến và các thiết bị khác?

Arduino thật ra là một bo mạch vi xử lý được dùng để lập trình tương tác với cácthiết bị phần cứng như cảm biến, động cơ, đèn hoặc các thiết bị khác Đặc điểmnổi bật của Arduino là môi trường phát triển ứng dụng cực kỳ dễ sử dụng, với mộtngôn ngữ lập trình có thể học một cách nhanh chóng ngay cả với người ít am hiểu vềđiện tử và lập trình Và điều làm nên hiện tượng Arduino chính là mức giá rất thấp vàtính chất nguồn mở từ phần cứng tới phần mềm Chỉ với khoảng $30, người dùng đã

có thể sở hữu một board Arduino có 20 ngõ I/O có thể tương tác và điều khiển chừng

ấy thiết bị

Arduino ra đời tại thị trấn Ivrea thuộc nước Ý và được đặt theo tên một vị vuavàothế kỷ thứ 9 là King Arduino Arduino chính thức được đưa ra giới thiệu vào năm2005

Trang 14

như là một công cụ khiêm tốn dành cho các sinh viên của giáo sư Massimo Banzi, làmột trong những người phát triển Arduino, tại trường Interaction Design InstistuteIvrea(IDII) Mặc dù hầu như không được tiếp thị gì cả, tin tức về Arduino vẫn lantruyền với tốc độ chóng mặt nhờ những lời truyền miệng tốt đẹp của những ngườidùng đầu tiên.

Hiện nay Arduino nổi tiếng tới nỗi có người tìm đến thị trấn Ivrea chỉ để tham quannơi đãsản sinh ra Arduino

2.2 Giới thiệu về board ArduinoMega 2560

Hình 1.2 Board Arduino Mega

Tổng quan

Arduino Mega 2560 là mộtbo mạch chủ sử dụngvi điều khiển ATmega2560 Nó

có 54 chân kỹ thuật số đầu vào / đầu ra (trong đó 15 chân có thể xuất ra xung PWM),

16 đầu vào analog, 4 UARTs (cổng nối tiếp phần cứng),16 MHz dao động tinh thể, kếtnối USB, một jack cắm điện, một tiêu đề ICSP, và một nút reset Nó chứa tất cả mọithứ cần thiết để hỗ trợ các vi điều khiển; chỉ cần kết nối nó với máy tính bằng cáp USBhoặc điện nó với một bộ chuyển đổi AC-to-DC hoặc pin để bắt đầu Mega là tươngthích với hầu hết các lá chắn được thiết kế cho các Arduino Duemilanove hoặcDiecimila

Mega 2560 là một bản cập nhật cho Mega Arduino , mà nó thay thế

Các Mega2560 khác với tất cả các bảng trước ở chỗ nó không sử dụng các FTDI chip điều khiển USB-to-serial Thay vào đó, nó có tính năng ATmega16U2

Sơ đồ nguyên lý

Trang 15

Hinh 2.3 Sơ đồ nguyên lý của boar Arduino mega 2650

Trang 16

CHI TIẾT VỀ THÔNG SỐ

Điện áp đầu vào (được đề

Điện áp đầu vào (giới hạn) 6-20V

Digital I / O Pins 54 (trong đó 15 người cung cấp đầu ra PWM)

DC hiện tại mỗi I / O Pin 40 mA

DC hiện tại cho 3.3V Pin 50 mA

Bộ nhớ flash 256 KB trong đó 8 KB sử dụng bởi bộ nạp khởi

Bo mạch có thể hoạt động trên một nguồn cung cấp bên ngoài của 6-20volt Nếu cung cấp ít hơn 7V, tuy nhiên, pin 5V có thể cung cấp ít hơn năm volt và bomạchcó thể không ổn định Nếu sử dụng nhiều hơn 12V, bộ điều chỉnh điện áp có thể

bị quá nóng và làm hỏng các bảng mạch Phạm vi đề nghị là 7-12 volt

Các chân điện như sau:

 VIN Các điện áp đầu vào cho các board Arduino khi nó được sử dụng mộtnguồn điện bên ngoài (như trái ngược với 5 volts từ các kết nối USB hoặc nguồn điệnquy định khác) Bạn có thể cung cấp điện áp thông qua pin này, hoặc, nếu cung cấpđiện áp thông qua jack cắm điện, truy cập thông qua pin này

 5V pin này xuất ra một 5V quy định từ điều trên diễn đàn Hội đồng quản trị

có thể được cung cấp nguồn điện hoặc từ các jack cắm điện DC (7 - 12V), kết nối USB(5V), hoặc pin VIN của hội đồng quản trị (7-12V) Cung cấp điện áp qua các 5V hoặc3.3V chân đi qua bộ điều chỉnh, và có thể làm hỏng máy của bạn Chúng tôi không báocho nó

Trang 17

 3v3 Một nguồn cung cấp 3,3 volt được tạo ra bởi những điều trên tàu Vẽhiện hành tối đa là 50 mA.

 GND trệt chân

 IOREF pin này trên bảng Arduino cung cấp các tài liệu tham khảo điện áp

mà các vi điều khiển hoạt động Một lá chắn cấu hình đúng cách có thể đọc các pinđiện áp IOREF và chọn nguồn năng lượng thích hợp hoặc cho phép dịch điện áp trêncác kết quả đầu ra để làm việc với các 5V hoặc 3.3V

Bộ nhớ

Các ATmega2560 có 256 KB bộ nhớ flash để lưu trữ mã (trong đó có 8 KBđược sử dụng cho các bộ nạp khởi động), 8 KB của SRAM và 4 KB của EEPROM(mà có thể được đọc và ghi với các thư viện EEPROM )

Đầu vào và đầu ra

Mỗi phòng trong số 54 chân kỹ thuật số trên Mega có thể được sử dụng nhưmột đầu vào hoặc đầu ra, sử dụngpinMode () , digitalWrite () , và digitalRead () chứcnăng Chúng hoạt động tại 5 volts Mỗi pin có thể cung cấp hoặc nhận được tối đa 40

mA và có một điện trở kéo lên bên trong (ngắt kết nối theo mặc định) 20-50kOhms Ngoài ra, một số chân có chức năng đặc biệt:

 Serial: 0 (RX) và 1 (TX); Nối tiếp 1: 19 (RX) và 18 (TX); Nối tiếp 2: 17(RX) và 16 (TX); Nối tiếp 3: 15 (RX) và 14 (TX) Được sử dụng để nhận (RX) vàtruyền (TX) TTL dữ liệu nối tiếp Pins 0 và 1 cũng được kết nối với các chân tươngứng của ATmega16U2 USB-to-TTL nối tiếp chip

 Ngắt ngoài: 2 (gián đoạn 0), 3 (gián đoạn 1), 18 (gián đoạn 5), 19 (giánđoạn 4), 20 (gián đoạn 3) và 21 (gián đoạn 2) Các chân này có thể được cấu hình đểkích hoạt một ngắt trên một giá trị thấp, một góc lên và xuống, hoặc một sự thay đổitrong giá trị Xem cácattachInterrupt () chức năng để biết chi tiết

 PWM: 2-13 và 44-46 Cung cấp 8-bit đầu ra PWM với analogWrite () chứcnăng

 SPI: 50 (MISO), 51 (MOSI), 52 (SCK), 53 (SS) Các chân này hỗ trợ SPIgiao tiếp bằng cách sử dụng thư viện SPI Các chân SPI cũng được chia ra trên tiêu đềICSP, đó là chất tương thích với Uno, Duemilanove và Diecimila

 LED: 13 Có một built-in LED kết nối với pin số 13 Khi pin là giá trị cao,đèn LED được bật, khi pin là LOW, nó ra

Trang 18

 TWI: 20 (SDA) và 21 (SCL) Hỗ trợ TWI giao tiếp sử dụng các thư việnWire Lưu ý rằng các chân không ở cùng một vị trí như các chân TWI trênDuemilanove hoặc Diecimila.

Các Mega2560 có 16 đầu vào analog, mỗi trong số đó cung cấp 10 bit độ phângiải (tức là 1024 giá trị khác nhau).Theo mặc định họ đo từ mặt đất đến 5 volts, mặc

dù là nó có thể thay đổi vào cuối trên của phạm vi của họ bằng cách sử dụng pin Aref

Truyền thông kết nối với máy tính

Arduino Mega2560 có một số phương tiện truyền thông với một máy tính, mộtArduino, hoặc vi điều khiển khác.Các ATmega2560 cung cấp bốn phầncứng UARTs cho TTL (5V) giao tiếp nối tiếp Một ATmega16U2 ( ATmega 8U2 vềsửa đổi 1 và phiên bản 2 bảng) trên kênh board một trong những trên USB và cung cấpmột cổng com ảo với phần mềm trên máy tính (máy tính Windows sẽ cần một file inf,nhưng OSX và Linux máy sẽ công nhận hội đồng quản trị như một cổng COM tựđộng Các phần mềm Arduino bao gồm một màn hình nối tiếp cho phép dữ liệu vănbản đơn giản được gửi đến và đi từ hội đồng quản trị Các RX và TX đèn LED trênbảng sẽ nhấp nháy khi dữ liệu đang được truyền đi thông qua ATmega8U2 /ATmega16U2 chip và USB kết nối với máy tính (nhưng không cho giao tiếp nối tiếptrên các chân 0 và 1)

Một thư viện SoftwareSerial cho phép giao tiếp nối tiếp trên bất kỳ của các chân kỹ thuật số của Mega2560

Các ATmega2560 cũng hỗ trợ TWI và SPI truyền thông Các phần mềmArduino bao gồm một thư viện Wire để đơn giản hóa việc sử dụng các bus TWI; Đốivới SPI giao tiếp, sử dụng cácthư viện SPI

Lập trình

Arduino Mega có thể được lập trình với các phần mềm ArduinoCác ATmega2560 trên Mega Arduino đi kèm preburned với một bộ nạp khởi động

Trang 19

cho nó mà không sử cho phép bạn tải lên mã mới dụng một lập trình viên phần cứngbên ngoài Nó giao tiếp bằng cách sử dụng gốc STK500 giao thức ( tài liệu thamkhảo , các tập tin tiêu đề C ).

2.3 Giới thiệu về board Arduino Data logger

Hình 2.4 Bảng mạch data loggerCác bo mạch datalogger có một vài điều để làm cho nó một cách tuyệt vời đểtheo dõi dữ liệu Top Left - Có một đồng hồ thời gian thực (RTC) trong đó có một chipDS1307, và pin dự phòng có thể sử dụng trong 7 năm Điện áp cấp của board là 3.3Vđến 3V để mạch có thể hoạt động một cách tốt nhất có 1 LED màu xanh lá cây PWRbáo nguồn (Power) - Một thẻ SD lớn có thể phù hợp với bất kỳ lưu trữ SD / MMC lênđến 32G bạn cũng có thể dung 1 thẻ microSD và một khay chứa thẻ cũng có thể chovào và sử dụng bình thường Đơn giản chỉ cần đẩy hoặc kéo thẻ vào khe cắm này Cóhai đèn LED sử dụng configuratble.Kết nối một chân từ bất kỳ từ Arduino và nối

L1 hoặc L2 vào chân kết nối bằng 1 sợi dây dẫn để bật LED1 hoặcLED2sáng

Một nút reset sẽ thiết lập lại toàn bộ Arduino, tiện dụng khi bạn muốn reset lạichương trình của boar Arduino chính Một shifter mức giữ thẻ SD an toàn từ các tínhiệu 5V có khả năng gây hại từ Arduino.Nó sẽ làm việc với các tín hiệu 3V là tốt

3V - đây là 3V đầu ra Một mức điện áp tham chiếu 3.3V chất lượng tốt

của nó mà bạn có thể sử dụng đến một cách rất tốt

Trang 20

SQ - đây là squarewave tùy chọn từ RTC Bạn phải dung lệnh để kích

hoạt nó một cách tùy chọn nhận được một squarewave chính xác

WP - này là viết vàbảo vệ pad trên thẻ SD, bạn có thể sử dụng điều này

để phát hiện nếu các tab bảo vệ ghi trên thẻ bằng cách kiểm tra pin này

CD - đây là thẻ phát hiện pad trên thẻ SD Khi điều này được kết nối với

đất, một thẻ SD được chèn vào Nên sử dụng pullup nội bộ trên một pin Arduino nếubạn muốn sử dụng pad này

CS - đây là Chip Select pin cho thẻ SD Nếu bạn cần phải cắt giảm các

dấu vết để pin 10 vì nó là mâu thuẫn, pad này có thể được hàn với bất kỳ pin kỹ thuật

số và các phần mềm tái tải lên

L2 và L1 - đây là những tùy chọn sử dụng đèn LED Kết nối với bất kỳ

pin kỹ thuật số,chọn mức cao để bật đèn LED tương ứng Các đèn LED đã có 470 ohmđiện trở trong series

2.4 Giới thiệu về Arduino LCD KeyPad Shield

Các tấm LCD Bàn phím được phát triển cho tương thíchvớicác boar Arduino,

để cung cấp một giao diện người dùng thân thiện cho phép người dùng kiểm tra thông

số, thực hiện lựa chọn vv….Nó bao gồm một 1602 ký tự trắng đèn nền màu xanhLCD Bàn phím bao gồm 5 phím -, xuống chọn, lên, phải và bỏ đi Để lưu các chân IO

kỹ thuật số, giao diện bàn phím chỉ sử dụng một kênh ADC Giá trị quan trọng đượcđọc thông qua một điện áp chia 5 giai đoạn

Trang 22

2.5 Giới thiệu về cảm biến nhiệt độ LM35

Cảm biến LM35 là bộ cảm biến nhiệt mạch tích hợp chính xác cao mà điện ápđầu ra của nó tỉ lệ tuyến tính với nhiệt độ thang Celsius Chúng không yêu cầu cânchỉnh ngoài vì vốn chúng đã được cân chỉnh

Đặc điểm chính của cảm biến LM35 :

- Điện áp đầu vào từ 4V đến 30V

- Độ phân giải điện áp đầu ra là 10mV/˚C

- Độ chính xác cao ở 25 ˚C là 0.5˚

- Trở kháng đầu ra thấp 0.1 cho 1mA tải

Dải nhiệt độ đo được của LM35 là từ -55˚C đến 150˚C với các mức điện áp rakhác nhau Xét một số mức điện áp sau :

- Nhiệt độ 55˚C điện áp đẩu ra -550mV

- Nhiệt độ 25˚C điện áp đầu ra 250mV

- Nhiệt độ 150˚C điện áp đầu ra 1500mV

Tùy theo cách mắc của LM35 để ta đo các giải nhiệt độ phù hợp Đối với hệthống

này thì đo từ 0˚C đến 150˚C

Trang 23

2.6 Giới thiệu về cảm biến đo cường độ ánh sang Photo cell (CdS photoresistor)

Hình 2.7 cảm biến đo cường độ ánh sang Photo cell (CdS photoresistor)

Tổng quan

Tế bào CdS là bộ cảm biến ánh sáng nhỏ Như mặt nguệch ngoạc được tiếp xúcvới ánh sáng nhiều thì điện trở đi xuống Khi ánh sáng của nó,về 5-10KΩ, khi tối nó đilên đến 200KΩ

Để sử dụng, kết nối một bên của tế bào ảnh (một trong hai, đối xứng của nó) đểđiện (ví dụ 5V) và phía bên kia để pin đầu vào analog vi điều khiển của bạn Sau đókết nối một 10K kéo xuống điện trở từ đó pin analog mặt đất Các điện áp trên pin sẽđược 2.5V hoặc cao hơn khi ánh sáng của nó ra và gần mặt đất khi tối của nó

 Kích thước:Length: 4.46mm / 0.18in

 Chiều rộng: 5mm / 0.20in

 Chiều cao: 2.09mm / 0.08in

Trang 24

2.7 giới thiệu về IC mạch cầu H L293D

Hình2.8 hình ảnh IC l293DL293D là IC cầu H điều khiển động cơ

điều khiển 2 L293D gồm 4 kênh điều khiển có thể động cơ DC hoặc 1 động cơbước 4 pha (5 dây) Để điều khiển động cơ DC, bạn sẽ sử dụng 2 kênh của L293D cho

1 động cơ

L293D đã được tích hợp sẵn đi ốt bảo vệ vi điều khiển chống lại dòng cảm ứngkhi động cơ khởi động hoặc tắt Vì vậy, bạn chỉ cần gắn motor vào L293D và các châncủa vi điều khiển tương ứng, là có thể làm cho động cơ chạy ngay Dòng L293D có 2loại: L293B/E và L293D, dòng L293B có khả năng chịu tải cao hơn (1A so với600mA của L293D) nhưng không có đi ốt bảo vệ vi điều khiển

Với mỗi motor, bạn cần 3 chân từ vi điều khiển kết nối với L293D, trong đó có

1 chân điều khiển tốc độ đông cơ dùng xung PWM, 2 chân còn lại là logic 0 hoặc 1dùng điều chỉnh chiều quay của motor

Tín hiệu điều khiển được xử lý độc lập với nhau với từng đầu ra Ví dụ: bạn cóthể điều khiển 2 động cơ DC chạy với tốc độ khác nhau, hướng khác nhau, 1 động cơdừng còn 1 động cơ chạy

Mỗi kênh 600mA và dòng đỉnh là 1A

Trang 25

Để sử dụng các động cơ công suất của L293D chịu được tải cao hơn, bạn chỉviệc gắn song song 2 hoặc nhiều L293 lại với nhau Với 2 IC L293, bạn sẽ có tải chịuđược là 1.2A và tải đỉnh là 2A.

Ngoài ra, L293D có chức năng tự động ngắt khi bị nóng quá mức nhằm bảo vệ IC.Lưu ý: tuyệt đối không bao giờ làm chập mạch các ngõ ra motor của L293D,nếu không bạn sẽ làm cháy một bên cầu H ngay lập tức

2.8 Giới thiệu chung về phần mềm mô phỏng Proteus

Phần mềm Proteus là phần mềm cho phép mô phỏng hoạt động của mạch điện

tử bao gồm phần thiết kế mạch và viết chương trình điều khiển cho các họ vi điềukhiển như MCS-51, PIC, AVR, … Proteus là phần mềm mô phỏng mạch điện tử củaLancenter Electronics, mô phỏng cho hầu hết các linh kiên điện tử thông dụng, đặnbiệt hỗ trợ cho

các MCU như PIC, 8051, AVR, Motorola

Phần mềm bao gồm 2 chương trình: ISIS cho phép mô phỏng mạch và ARES

dùngđể vẽ mạch in Proteus là công cụ mô phỏng cho các loại vi điều khiển khá tốt, nó

hỗ trợcác dòng vi điều khiển PIC, 8051, PIC, dsPIC, AVR, HC11,…các giao tiếp I2C,SPI,CAN, USB, Ethenet…ngoài ra còn mô phỏng các mạch số, mạch tương tự mộtcách hiệu quả

Hình 2.9 Giao diện khởi động phần mềm Proteus

Trang 26

2.9 Thư viện Arduino trong Proteus

Thư viện Arduino là một bổ sung rất hay cho phần mềm mô phỏng Proteus nó giúpcho việc mô phỏng Arduino được thuận tiện và dễ dàng hơn thay vì chỉ mô phỏng đượcchip ATmega328(nhân của Arduino), thư viện này được phát triển bởi các kĩ sư Cesar

Osaka, Daniel Cezar, Roberto Bauer và được đăng tải trên blog tiếng Bồ Đào Nha:http://blogembarcado.blogspot.de/

Thư viện bao gồm các linh kiện sau:

- Arduino Uno (Phiên bản chip ATmega328 chân DIP)

- Arduino Uno (Phiên bản chip ATmega328 chân SMD

- Arduino Mega

- Arduino Lilypad

- Arduino Nano

- Cảm biến siêu âm Ultrasonic V2

Hình 2.10 Các linh kiện trong thư viện Arduino cho Proteus

2.10 Giới thiệu về Arduino IDE và ngôn ngữ lập trình cho Arduino

Thiết kế bo mạch nhỏ gọn, trang bị nhiều tính năng thông dụng mang lại nhiềulợithế cho Arduino, tuy nhiên sức mạnh thực sự của Arduino nằm ở phần mềm Môitrường lập trình đơn giản dễ sử dụng, ngôn ngữ lập trình Wiring dễ hiểu và dựa trên

Trang 27

nền tảng C/C++ rất quen thuộc với người làm kỹ thuật Và quan trọng hơn là số lượngthư viện code được viết sẵn và chia sẻ bởi cộng đồng nguồn mở là cực kỳ lớn.

Hình 2.11 Giao diện phần mềm Arduino IDE

Arduino là phần mềm dùng để lập trình cho arduino Môi trường lập trình cho arduino làIDE có thể chạy trên ba nền tảng phổ biến nhất hiện nay là Windows, Macintosh OSX và Lunix Do có tính chất nguồn mở nên môi trường lập trình này hoàn toàn miễn phí và có thể mở rộng hơn bởi người dùng có kinh nghiệm

Ngôn ngữ lập trình có thể được mở rộng thông qua các thư viện C++.Và ngôn ngữ lập trình này dựa trên nền tảng của ngôn ngữ C của AVR nên người dùng hoàn toàn cóthể nhúng thêm code viết bằng AVR vào chương trình nếu muốn Hiện tại, Arduino IDE có thể download từ trang chủ http://arduino.cc/

Trang 28

2.11 Giới thiệu về phần mềm Visual Studio 2010.

- Visual Studio 2010 là công cụ xây dựng , lập trình mã nguồn để quản trị thôngtin hệ thống phát triển phần mềm của doanh nghiệp , xây dựng các ứng dụng cho máy

để bàn và các ứng dụng web

- Visual Studio 2010 Ultimate được xem như là một trong những công cụ thiết

kế tốt nhất hiện nay với việc phát triển phần mềm, triển khai các giải pháp doanhnghiệp

Hình 2.12: Giao diện phần mềm Visual Studio 2010

- Visual Studio 2010 Ultimate được tăng cường thêm những giải pháp giảmthiểu nguy cơ trong quá trìh phát triển thiết kế

- Visual Studio 2010 Ultimate tạo ra những giải pháp về phần mềm , phát triểnmột số cung cụ tuyệt vời của ứng dụng lập trình

- Có thể nói Visual Studio 2010 Ultimate là phần mềm không thể thiếu dànhcho các kỹ thuật viên phần mềm và một số công ty phát triển phần mềm

Những chức năng chính của Visual Studio 2010 Ultimate.

Trang 29

- Tạo ra các ứng dụng trên máy tính có cài đặt NET Framework 2.0.

- Sử dụng không gian System Windown.Form

- Thiết kế giao diện trực quan

b Thiết kế giao diện quản lý thông số nhà trồng

* Giao diện thiết kế

Hinh 2.13: Giao diện thiết kế trên C#

Trang 30

Chương 3: THIẾT KẾ, LẬP TRÌNH,LẮP ĐẶT MẠCH VÀ

VẼ ĐỒ THỊ THỂ HIỆN GIÁ TRỊ3.1 Thiết kế mạch trên Proteus

Nhóm nhiệt rồi tín hiệu từ này lại được truyền Arduino ra LCD.Ngoài ra,ngoàigiá trị nhiệtđộ,cường độánh sang, giá trịđộẩmđượcđọc từ một biến trở10K mang giáđãđồng ý với phương án thiết kế mạch đo nhiệt độ, ánh sáng hiển thị lên LCD bao gồmcác chức năng hiển thị độ C và cường độánh sáng.Ở phương pháp này, tín hiệu đượctruyền từ cảm biến LM35,cảm biến ánh sáng photocell vào Arduino và được tính toán

ra trị tượng trưng có thể điều chỉnhđược cho phù hợp với môi trường

Tiếp đến là phần kết nối với IC L293D để điều khiển 2 động cơ DC một chiều12V IC L293D được kết nối trực tiếp vớiArduino mega sử với mỗi động cơphải sửdụng 3 chân điều khiển.Và mỗi động cơ có thểđiều chỉnhđược tốc độ qua các biến trở100K được kết nối trực tiếp vào các cổnganalog của Arduino mega.Ngoài ra các động

cơ có thểđảo chiều bằng cách nhấn dữ phím bấm cũngđược kết nối trực tiếp vào bomạch chủ

Cuối cùng làđặt ngưỡng cảnh báo giám sát nhiệt độ cho phù hợp với nhu cầungười dung, bằng các LED LED màuđỏ thể hiện nhiệt độđang cao.LED màu xanh thểhiện nhiệt độ vừađủ LED màu trắng thể hiện nhiệtđộđang thấp.Các LED cũngđượckết nối trực tiếp với Arduino mega

Hình 3.1 Sơđồ nguyên lý của mạch

Trang 31

Bảng 3.1 Sơ đồ chân kết nối của các linh kiệnTên linh kiện Chân linh kiện Chân kết nối với Arduino

EN2 Vin1Vin2Vin3Vin4

502848463032

894567

Như chương trước đã giới thiệu, cảm biến LM35 đo nhiệt độ và thể hiện nhiệt

độ đó dưới dạng điện áp (cứ 10mV là 1 độ, tối đa điện áp cung cấp là 5000mV –10bit), nhiệt độ chính do vậy để cho ra được giá trị xác, trước hết, ta sử dụng hàmanalogRead() để đọc giá trị điện áp từ cảm biến LM35 dưới dạng nhiệt độ Giá trị điện

áp này sẽ được tính toán để ra giá trị nhiệt độ theo công thức:

tempC=(val/(1024*10))*5000 = val* 0.48828125 (trong đó: val là giá trị đọcvào từ cảm biến, tempC là giá trị nhiệt độ thang Celsius) Chuyển đổi sang nhiệt độthang Farenheit (oF) ta dùng công thức: tempF=(tempC*9)/5+32 = tempC*1.8+32

Trang 32

Cònđối với cảm biến ánh sáng photocell việc đọc giá trịđo là thực sự rất đơngiản Chỉđơn giản làđọc trực tiếp từ cổnganalog A0, để đo cường độ ánh sáng Giá trị này

sẽ rơi vào khoảng từ 0-700 Tùy vào các thí nghiệm thực tế mà người dung quan sátđược

để khuyến cáođược giá trị cần thiết cho phù hợp với nhu cầu sử dụng của mình

Giá trị của độẩm sẽđược lấy một cách tượng trưng từ một chiếtáp 50K đượcnối trực tiếp vào chânanalog của Arduino mega

Sau đây là code đầy đủ của phần đo nhiệt độ, ánhsáng và độẩm

int tempReading = analogRead(tempPin);

float voltage = tempReading * aref_voltage / 1024;

float temperatureC = tempReading * 0.48828125;

float temperatureF = (temperatureC * 9 / 5) + 32;

3.2.2 Lập trình hiển thị giá trị lên LCD 16.2

Sau khi các giá trị của các cảm biến được đọc thì shieuld LCD sẽ có nhiệmvụđọc các giá trị lên màn hình.Do màn hình LCD 16.2 chỉ hiển thịđược 2 dòng nênởđây bọn em ưu tiên hiển thị giá trị cường độ sang ở dòng thứ nhất,giá trị nhiệt độởdòng thứ 2 với kiểuđộ C,lấy chính xác giá trịđọcđược sau dấu phẩy 2 ký tự

Các chân BS E D4 D5 D6 D7 của LCD sẽ lần lượtđược kết nối trực tiếp vàocác chân digital sau 8 9 4 5 67 để giúp cho nó có thể hiển thị.Tất cả quá trìnhđọc vàghi dữ liệu sẽđược tạo trễ là 500ms

Code kết nối chân và hiển thị giá trị lên LCD

Trang 33

lcd.setCursor(6, 1);

lcd.print(temperatureC);

delay(500);

3.3 Lập trình điều khiển động cơ và đặt ngưỡng cảnh báo giới hạn

3.3.1 Lập trình điều khiển động cơ

Hình 3.2 Lưu đồ thuậttoán điều chỉnh động cơ

Các chân của IC L293D được Pin vào Arduino mega cho phù hợp và chính xácTrong vòng lặp,giá trị điều khiển tốc độ động cơ được thực hiện bằng cách chiaviệc đọc tương tự từ các chếtáp xoay với 4

KHAI BÁO

KHAI XUẤT CỔNG RA

VÒNG LẶP CHÍNH

CÀI ĐẶT

Trang 34

Phải chia cho 4 vì giá trị analog nhận được ở khoãng giữa 0 và 1023 màđầu raanalog cần được từ 0 đến 255.

Nếu nút được nhấn, động cơ đảo chiều quay, nếu không nó sẽ chạy theo hướngngược lại.Việcđảo chiều động cơ nàyđược thực hiện bằng chân pin switch Vì vậy, nếucác nút không được nhấn, đây sẽ quay theo chiều thuận, nếu không nó sẽ quay theochiều nghich

Tốc độ của động cơ và chức năng đảo chiều sẽ được chuyển tới một chức nănggọi là 'setMotor' rằng sẽ thiết lập các chân thích hợp trên chip điều khiển để điều khiểnđộng cơ

void setMotor(int speed, boolean reverse)

Đâu tiên, tốc độ được dùng một thiết lập bằng cách sử dụnganalogWrite cho

phép pinđược chọn làm việc Việc cho phép pin của L293D có thểđiều chỉnh hoặc tắtbất kể các chân in1, in2, in3 và in4 của L293Dkhi được thiết lập để

Để điều khiển hướng của động cơ, các chân in1 và in2,in3 và in4 phải đượcthiết lập các giá trị trái ngược nhau

Trang 35

DigitalWrite tiếp theo Điều này có nghĩa rằng nó sẽ luôn luôn là đối lập vớicác mức giá trị ở in1.

3.3.2 Lập trình đặt ngưỡng cảnh báo và điều chỉnh động cơ theo hướng cảnh báo

Ở đây nhóm thiết kế và sử dụng 3 đèn led mầu

+ Nếu ở nhiệt độ thấp thì led mầu trắng sáng và đồng thời cho một động cơ quay+ Nếu ở nhiệt độ thấp thì led mầu trắng và xanh sáng và đồng thời cho haiđộng cơ quay

+ Nếu ở nhiệt độ thấp thì cả 3 đèn led sáng và đồng thời cho ba động cơ quay

=>động cơ quay sẽ tượng trưng cho tưới việc

Giá trị nhiệt độđượcđọcở thang đo độ C sẽđược lấy và đặt ngưỡng cảnh báo vàgiám sát cho hệthống

if (temperatureC < 21) lightLED(whitePin);

if (temperatureC >= 21 && temperatureC <= 24) lightLED(greenPin);

if (temperatureC > 24) lightLED(redPin);

void lightLED(byte whatLED){

digitalWrite(whitePin, LOW); //white led is off

digitalWrite(redPin, LOW); //red led is off

digitalWrite(greenPin, LOW); //green led is off

Ởđây nhiệt độ sẽđược phân chia thành các mức khác nhau theo nhu cầu củangười sữ dụng để bật các led tương ứng với các đặc trưng phù hợp

3.4 Lập trình sử dụng modul Arduino datalogger và truyền ra cổng Serial

3.4.1 Lập trình sử dụng đồng hồ đếm thời gian thực DS1307 trên shieul datalogger

Các RTC (read time clock) sẽ được sử dụng là DS1307 Đây là IC có chi phí

thấp và nó cóthểsử dụng trong một khoảng thời gian dài nhờ một quả Pin nhỏ

Trang 36

Hình 3.3 IC DS1307Khi có Pin, DS1307 sẽ đánh dấu cho một thời gian dài, ngay cả khi các Arduino mấtnguồn, hoặc được lập trình lại.

Hình 3.4 Lưu đồ thuật toán cho DS1307

Vòng lặp chính

Trong vòng lặpnày ,có các phần chính như sau

1 Thiết lập thời gian chờ cho đến khung làm việc của mình và các lượt tiếp theo

2 Yêu cầu thời gian và ngày tháng hiện From RTC

3 Đăng nhập thời gian và ngày tháng vào thẻ SD

4 Đọc cảm biến ánh sang,nhiệt độ vàđộẩm

5 Đăng những bài đọc vào thẻ SD

6 Dữ liệu đồng bộ hóa vào thẻ theo thời gian định sẵn

Điều quan trọng đầu tiên là khâu Delay () gọi hàm, đây là bước Arduino mega

chờ để thực hiện mệnh lệnh Sau đó, nhóm lần lập trình cho sang đèn LED màu xanh,điều này cho chúng ta biết rằng chúng tađang có quá trình đọc / ghi dữ liệu

Tiếp theo chúng ta gọi millis () để có được những "thời gian kể từ Arduino bật

'và đăng đó vào thẻ

Sau đó,rất quan trọng là sữ dụng câu lệnh RTC.now () gọi để có được một bản

chụp của thời gian Một khi chúng ta có điều đó, ta sẽ viết một dấu thời gian (seconods

Trang 37

kể từ năm 2000) cũng như các ngày trong YY / MM / DD HH: SS: MM định dạng

thời gian mà có thể dễ dàng được công nhận bởi một bảng tính

3.4.2 Lập trình xuất dữ liệu ra thẻ SD

Thẻ SD dung để ghi lại tất cả dữ liệu mà các cảm biếnđo được bao gồm cả thời gian được cập nhập từ RTC của IC DS1307.dữ liệu sẽđược lưu vào một file định dạng là một file exel

char filename[] = "LOGGER00.CSV";

for (uint8_t i = 0; i < 100; i++) {

filename[6] = i/10 + '0';

filename[7] = i%10 + '0';

if (! SD.exists(filename)) {

logfile = SD.open(filename, FILE_WRITE);

break; // leave the loop!

Trang 38

ra LOGGER00.CSV và cách tăng thời gian mỗi khi các tập tin đã tồn tại, cho đến khi chúng tôi nhận được để LOGGER99.csv , nhómđã lập trình để cho sẽ có một tập tin

mới mỗi khi khởi động Arduino

Để tạo ra một tập tin, nhómsử dụng một số Unix cờ lệnh mà bạn có thể nhìn

thấy trong logfile.open () FILE_WRITE nghĩa để tạo ra các tập tin và ghi dữ liệu

vào nó

Nếu chúng ta quản lý để tạo ra một tập tin thành công và ghi vào thẻ SD, nhóm

in ra tên vào cổng Serial để quan sát trực tiếp bằng cổng nối tiếp với máy tính

Hình 3.5 Bảng số liệu đọc từ file Exel của thẻ SD

3.4.3 Giao diện cổng kết nối Serial

Trang 39

Hình 3.6 Dao diện kết nối cổng Serial

3.5 Lập trình nhận dữ liệu từ cổng COM ảo, file dữ liệu và vẽ đồ thị cho các tham

số nhiệt độ,ánh sáng và độẩm

Hình 3.7 Giao diện thiết kế

Các bước thiết kế giao diện giám sát:

- Thiết kế giao diện

- Lập trình

- Mô phỏng

3.5.1 Thiết kế giao diện.

>>>Từ thanh công cụ Toolbox kéo thả các hình được giao diện như trên

Trang 40

Hình 3.8.Giao diện thiết kế phần mềm.

>>> Thiết lập thuộc tính cho các đối tượng.

btketnoi Kết Nối Kết nối cổng Com

4 Nút nhấn

Thoát

btthoat Thoát Thoát khỏi giao diện

5 Nút nhấn Start btmode Start Vẽ đồ thị nhiệt độ,ánh sáng,

13 Text Data bits cbbits No Hiển thị số bit dữ liệu

14 Text Parity cbparity No Hiển thị bit kiểm tra chẵn lẻ

Ngày đăng: 02/12/2015, 12:42

HÌNH ẢNH LIÊN QUAN

Hình 2.1: Những thành viên khởi xướng Arduino. - Đề tài: Nghiên cứu thiết kế hệ thống tưới tự động trong nhà trồng thông minh
Hình 2.1 Những thành viên khởi xướng Arduino (Trang 13)
Hinh 2.3. Sơ đồ nguyên lý của boar Arduino mega 2650 - Đề tài: Nghiên cứu thiết kế hệ thống tưới tự động trong nhà trồng thông minh
inh 2.3. Sơ đồ nguyên lý của boar Arduino mega 2650 (Trang 15)
Hình 2.5.LCD KeyPad Shield - Đề tài: Nghiên cứu thiết kế hệ thống tưới tự động trong nhà trồng thông minh
Hình 2.5. LCD KeyPad Shield (Trang 21)
Hình 2.7 cảm biến đo cường độ ánh sang Photo cell (CdS photoresistor) - Đề tài: Nghiên cứu thiết kế hệ thống tưới tự động trong nhà trồng thông minh
Hình 2.7 cảm biến đo cường độ ánh sang Photo cell (CdS photoresistor) (Trang 23)
Hình 2.9. Giao diện khởi động phần mềm Proteus. - Đề tài: Nghiên cứu thiết kế hệ thống tưới tự động trong nhà trồng thông minh
Hình 2.9. Giao diện khởi động phần mềm Proteus (Trang 25)
Hình 2.10. Các linh kiện trong thư viện Arduino cho Proteus. - Đề tài: Nghiên cứu thiết kế hệ thống tưới tự động trong nhà trồng thông minh
Hình 2.10. Các linh kiện trong thư viện Arduino cho Proteus (Trang 26)
Hình 2.12: Giao diện phần mềm Visual Studio 2010. - Đề tài: Nghiên cứu thiết kế hệ thống tưới tự động trong nhà trồng thông minh
Hình 2.12 Giao diện phần mềm Visual Studio 2010 (Trang 28)
Hình 3.1 Sơđồ nguyên lý của mạch - Đề tài: Nghiên cứu thiết kế hệ thống tưới tự động trong nhà trồng thông minh
Hình 3.1 Sơđồ nguyên lý của mạch (Trang 30)
Hình 3.2 Lưu đồ thuậttoán điều chỉnh động cơ - Đề tài: Nghiên cứu thiết kế hệ thống tưới tự động trong nhà trồng thông minh
Hình 3.2 Lưu đồ thuậttoán điều chỉnh động cơ (Trang 33)
Hình 3.8.Giao diện thiết kế phần mềm. - Đề tài: Nghiên cứu thiết kế hệ thống tưới tự động trong nhà trồng thông minh
Hình 3.8. Giao diện thiết kế phần mềm (Trang 40)
Hình 3.9 Kết quả mô phỏng. - Đề tài: Nghiên cứu thiết kế hệ thống tưới tự động trong nhà trồng thông minh
Hình 3.9 Kết quả mô phỏng (Trang 42)
Hình 3.11 Mạch Arduino datalogger sau khi hoàn thành - Đề tài: Nghiên cứu thiết kế hệ thống tưới tự động trong nhà trồng thông minh
Hình 3.11 Mạch Arduino datalogger sau khi hoàn thành (Trang 43)
Hình 3.12 Led cảnh báo ngưỡng - Đề tài: Nghiên cứu thiết kế hệ thống tưới tự động trong nhà trồng thông minh
Hình 3.12 Led cảnh báo ngưỡng (Trang 44)
Hình 3.13 Hình ảnh toàn mạch hoạt động sau khi đã nạp code và cấp nguồn - Đề tài: Nghiên cứu thiết kế hệ thống tưới tự động trong nhà trồng thông minh
Hình 3.13 Hình ảnh toàn mạch hoạt động sau khi đã nạp code và cấp nguồn (Trang 45)
Hình 1:Hệthốngtướinướctựđộngchocâytrồng   9 - Đề tài: Nghiên cứu thiết kế hệ thống tưới tự động trong nhà trồng thông minh
Hình 1 Hệthốngtướinướctựđộngchocâytrồng 9 (Trang 81)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w