1. Trang chủ
  2. » Luận Văn - Báo Cáo

Hệ thống tưới cây thông minh giao tiếp WEB SERVER và SIM900 dùng ARDUINO

82 0 0

Đ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

Tiêu đề Hệ Thống Tưới Cây Thông Minh Giao Tiếp Web Server Và Sim900 Dùng Arduino
Tác giả Nguyễn Trọng Phi Hùng, Vòng Viễn Hùng
Người hướng dẫn TS. Nguyễn Thanh Hải
Trường học Trường Đại Học Sư Phạm Kỹ Thuật Tp.Hcm
Chuyên ngành Công Nghệ Kỹ Thuật Điện Tử - Truyền Thông
Thể loại Khóa Luận Tốt Nghiệp
Năm xuất bản 2015
Thành phố Tp. Hồ Chí Minh
Định dạng
Số trang 82
Dung lượng 5,82 MB

Nội dung

Trong đề tài này sinh viên sẽ ứng dụng module Arduino Uno R3 kết hợp với sim900 shield và web server để thực hiện điều khiển bật tắt các thiết bị từ xa, đồng thời giám sát hoạt động của

Trang 1

KHOA ĐÀO TẠO CHẤT LƯỢNG CAO

KHÓA LUẬN TỐT NGHIỆP NGÀNH CÔNG NGHỆ KỸ THUẬT ĐIỆN TỬ TRUYỀN THÔNG

HỆ THỐNG TƯỚI CÂY THÔNG MINH GIAO TIẾP WEB SERVER VÀ SIM900 DÙNG ARDUINO

GVHD: TS NGUYỄN THANH HẢI SVTH: NGUYỄN TRỌNG PHI HÙNG MSSV: 11141282

SVTH: VÒNG VIỄN HÙNG MSSV: 11141284

S K L 0 0 3 8 1 0

Trang 2

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HCM

KHOA ĐÀO TẠO CHẤT LƯỢNG CAO - - -

Khóa : 2011 Ngành : Công nghệ kỹ thuật Điện tử - Truyền thông GVHD: TS NGUYỄN THANH HẢI

Trang 3

CỘNG HOÀ XÃ HỘI CHỦ NGHĨA VIỆT NAM

Ngày nhận đề tài: 02/03/2015 Ngày nộp đề tài: 20/07/2015

1 Tên đề tài: Hệ thống tưới cây thông minh giao tiếp web server và Sim900 dùng Arduino

2 Các số liệu, tài liệu ban đầu: Khảo sát thực tế và thiết kế một hệ thống “ hệ thống tưới cây thông minh giao tiếp web server và sim900 dùng arduino” Hệ thống gồm một module xử lý chính (Master) với khối công suất điều khiển 4 ngõ ra Đông thời một module xử lý phụ (Slave) dùng để thu thập số liệu về các cảm biến độ ẩm đất, nhiệt độ + độ ẩm không khí, cảm biến siêu âm dùng đo mực nước

3 Nội dung thực hiện đề tài: Giới thiệu tổng quát về cơ sở lý thuyết liên quan, cơ sở

lý luận, đề cương, cách thức nghiên cứu Giới thiệu về sim900, kit Arduino và các module shield, các loại cảm biến sử dụng Tiến hành tính toán, xử lý các số liệu liên quan, tiến hành lập trình, thiết kế phần cứng kết nối và mô hình hoàn chỉnh

4 Sản phẩm: Bao gồm mô hình vườn cây, các khối xử lý (Master, Slave), khối công suất và các thiết bị điều khiển

TRƯỞNG NGÀNH GIẢNG VIÊN HƯỚNG DẪN

TS Nguyễn Thanh Hải

Trang 4

CỘNG HOÀ XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập – Tự do – Hạnh Phúc

*******

PHIẾU NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN

Họ và tên Sinh viên: Nguyễn Trọng Phi Hùng MSSV: 11141282

Vòng Viễn Hùng MSSV: 11141284

Ngành: Công nghệ kỹ thuật Điện tử - Truyền Thông

Tên đề tài: Hệ thống tưới cây thông minh giao tiếp web server và Sim900 dùng Arduino

Họ và tên Giáo viên hướng dẫn: TS Nguyễn Thanh Hải

Tp Hồ Chí Minh, ngày 29 tháng 07 năm 2015

Giáo viên hướng dẫn

TS Nguyễn Thanh Hải

Trang 5

CỘNG HOÀ XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập – Tự do – Hạnh Phúc

*******

PHIẾU NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN

Họ và tên Sinh viên: Nguyễn Trọng Phi Hùng MSSV: 11141282

Vòng Viễn Hùng MSSV: 11141284

Ngành: Công nghệ kỹ thuật Điện tử - Truyền thông

Tên đề tài: Hệ thống tưới cây thông minh giao tiếp web server và Sim900 dùng Arduino

Họ và tên Giáo viên phản biện: ………

……… NHẬN XÉT

1 Về nội dung đề tài & khối lượng thực hiện:

2 Ưu điểm:

3 Khuyết điểm:

4 Đề nghị cho bảo vệ hay không?

5 Đánh giá loại:

6 Điểm:……….(Bằng chữ: )

Tp Hồ Chí Minh, ngày 27 tháng 07 năm 2015

Giáo viên phản biện

Trang 6

LỜI CẢM ƠN

Lời đầu tiên, sinh viên thực hiện đề tài xin được phép chân thành gửi lời cảm ơn đến thầy giáo Nguyễn Thanh Hải, giáo viên hướng dẫn đề tài đã định hướng và trao đổi những kinh nghiệm để sinh viên thực hiện những nội dung trong đề tài một cách hoàn chỉnh

Sinh viên thực hiện đề tài cũng xin trân trọng cảm ơn các thầy /cô trong trường Đại Học Sư Phạm Kỹ Thuật TPHCM nói chung và thầy /cô khoa Điện – Điện Tử , khoa Đào Tạo Chất Lượng Cao nói riêng đã tận tình truyền đạt những kiến thức nền tảng để sinh viên thực hiện hoàn thành tốt đề tài

TP HCM, Ngày 27 Tháng 07 Năm 2015 Sinh viên thực hiện đề tài

Nguyễn Trọng Phi Hùng

Vòng Viễn Hùng

Trang 7

TÓM TẮT

Hiện nay, công nghệ ngày càng phát triển khả năng xử lý cũng như điều khiển thiết bị ngày càng đa dạng Việc điều khiển các thiết bị từ xa mà không cần trưc tiếp tác động đang là xu thế ngày nay, nó giúp công việc điều khiển trở nên dễ dàng và tiện lợi

Trong đề tài này sinh viên sẽ ứng dụng module Arduino Uno R3 kết hợp với sim900 shield và web server để thực hiện điều khiển bật tắt các thiết bị từ xa, đồng thời giám sát hoạt động của hệ thống Việc dùng các tin nhắn điện thoại và mạng internet để điều khiển sẽ làm tăng khoảng cách điều khiển và tự cập nhật thông tin hoạt động từ hệ thống nhanh chóng dù ta ở ở nơi rất xa

Mô hình hệ thống sử dụng hai cảm biến độ ẩm đất để theo dõi lượng nước dưới nền đất, sử dụng cảm biến DHT22 để theo dõi nhiệt độ + độ ẩm không khí Đồng thời theo dõi mực nước bồn chứa bằng cách sử dụng cảm biến siêu âm Các giá trị này sẽ được đo đạt ở một nơi khác và truyền về khối xử lý chính thông qua kênh truyền RF của moduled RF APC220-43 để đảm bảo phạm vi theo dõi được lớn hơn, từ những giá trị thu được này ta có thể điều khiển các động cơ bơm và làm mát một cách hiểu quả nhất

Mặc dù sinh viên thực hiện đề tài đã cố gắng hoàn thành nhiệm vụ đề tài đặt ra và đúng thời hạn nhưng chắc chắn sẽ không tránh khỏi những thiếu sót, mong Thầy/ Cô

và các bạn sinh viên thông cảm Sinh viên thực hiện đề tài mong nhận được những ý kiến của Thầy/ Cô và các bạn sinh viên

Trang 8

Abstract Currently, the technology is growing processing power as well as control devices are increasingly diverse The control devices remotely without directly attributable impact is the trend today, it helps job control easy and convenient

In this project students will application Arduino Uno R3 module combined with sim900 shield and web server to perform switching control of remote devices, simultaneous monitoring of system operation The use of the phone message and internet for control will increase the distance control and update information from the system works quickly even though we in the faraway

The system uses 2 soil humidity sensor to monitor moisture under ground, using DHT22 sensors to monitor temperature + air humidity It also can monitor tank levels using one other ultrasonic sensors The measured values will be achieved in one place and transmitted to the main processing unit uses RF moduled APC220-43 to guaranteed range wider track these values can control the pump motor and cooling a most effective way

Although the students to implement the project was trying to complete the task subject and deadlines set out but certainly will not avoid the shortcomings Students implement the project forward opinions of teachers and students

Trang 9

MỤC LỤC

TRANG BÌA PHỤ……… i

NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP ii

PHIẾU NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN iii

PHIẾU NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN iv

LỜI CẢM ƠN v

TÓM TẮT vi

MỤC LỤC viii

DANH MỤC HÌNH xi

DANH MỤC BẢNG xiii

DANH MỤC TỪ VIẾT TẮT xiv

CHƯƠNG 1: TỔNG QUAN 1

1.1 Tình hình nghiên cứu hiện nay: 1

1.2 Tính cấp thiết của đề tài: 1

1.3 Mục tiêu nghiên cứu 1

1.4 Nhiệm vụ nghiên cứu 1

1.5 Đối tượng và phạm vi nghiên cứu 2

1.6 Phương ph́áp Nghiên cứu 2

1.7 Bố cục của Đồ án 2

CHƯƠNG 2: CƠ SỞ LÝ THUYẾT PHẦN CỨNG 4

2.1 Tổng quan về Arduino 4

2.1.1 Arduino là gì? 4

2.1.2 Khả năng của bo mạch Arduino 4

2.1.3 Phần mềm lập trình 5

2.1.4 Shield tương thích mở rộng 6

Trang 10

2.2 Các loại bo mạch Arduino 7

2.2.1 Arduino Uno R3 8

2.2.2 Arduino sim900 shield 9

2.2.3 Arduino Enthernet shield 12

2.3 Giới thiệu module sim900 13

2.3.1 Đặc điểm của module sim900 14

2.4 Các loại cảm biến 16

2.4.1 Cảm biến DHT22 16

2.4.3 Cảm biến siêu âm HC SR4 22

2.5 Bộ thu phát APC220-43 433 MHz RF Transceiver Module 25

2.6 Tổng quan về LCD 26

2.6.1 Chức năng các chân 27

2.6.2 Module giải mã cho LCD 28

CHƯƠNG 3: CƠ SỞ LÝ THUYẾT PHẦN MỀM 29

3.1 Xây dựng web server 29

3.1.1 Web server là gì? 29

3.1.2 Máy chủ ảo VPS 29

3.1.3 Phần mềm XAMPP 30

3.2 Điều khiển dùng SMS 33

3.2.1 Tổng quan về hệ thống thông tin di động GMS 33

3.2.2 Hệ thống tin nhắn SMS 34

3.2.3 Khảo sát tập lệnh AT của moduled sim900 35

CHƯƠNG 4: THIẾT KẾ VÀ THI CÔNG HỆ THỐNG 38

4.1 Sơ đồ khối của hệ thống và hoạt động 38

4.1.1 Yêu cầu của hệ thống 38

4.1.2 Sơ đồ khối hệ thống 39

4.1.3 Nguyên lý hoạt động của hệ thống 39

Trang 11

4.1.4 Chức năng từng khối 40

4.2 Thiết kế, tính toán hệ thống 41

4.2.1 Tính toán giá trị cảm biến siêu âm 41

4.2.2 Thiết kế mạch nguồn 43

4.2.3 Thiết kế mạch nút nhấn 44

4.3 Lưu đồ thuật toán của hệ thống 47

4.3.1 Lưu đồ hệ thống điều khiển tự động 47

4.3.2 Lưu đồ hệ thống điều khiển qua SMS 48

4.3.3 Lưu đồ hệ thống điều khiển qua nút nhấn 49

CHƯƠNG 5: KẾT QUẢ THI CÔNG 49

5.1 Xây dựng web server dựng trên phần mềm XAMPP trên máy chủ ảo VPS 50

5.2 Xây dựng mạch điều khiển 52

5.3 Xây dựng mô hình hệ thống 58

CHƯƠNG 6: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 61

6.1 Kết Luận 61

6.1.1 Ưu điểm của hệ thống 61

6.1.2 Nhược điểm của hệ thống 61

6.2 Hướng phát triển trong tương lai 61

TÀI LIỆU THAM KHẢO 63

PHỤ LỤC 64

Trang 12

DANH MỤC HÌNH

Hình 2.1: Logo Arduino 4

Hình 2.2: Lưu đồ chương trình 6

Hình 2.3: các loại shield cho arduino 7

Hình 2.4: Các loại Board Arduino 7

Hình 2.5: Board Arduino Uno R3 8

Hình 2.6: Moduled sim900 shield 10

Hình 2.6: Mô tả phần cứng sim900 shield 11

Hình 2.7: Arduino Enthernet shield 12

Hình 2.8: Module SIM900 13

Hình 2.9: Cảm biến DHT22 16

Hình 2.10: Sơ đồ kết nối dây với cảm biến DHT22 với vi xử lý 17

Hình 2.11: Quá trình gửi nhận dữ liệu giữa Vi điều khiển và DHT22 18

Hình 2.12: Vi điều khiển gửi yêu cầu cho cảm biến 19

Hình 2.13: Quá trình gửi dữ liệu về của cảm biến 20

Hình 2.15: Mạch so sánh của cảm biến độ ẩm đất 22

Hình 2.16: Cảm biến siêu âm HC SR04 22

Hình 2.17: Giản đồ xung hoạt động của cảm biến siêu âm 23

Hình 2.18: Tầm quét của cảm biến siêu âm 24

Hình 2.19: Module RF APC220-43 25

Hình 2.20: màn hình LCD 16x2 26

Hình 2.21: Module giao tiếp LCD theo chuẩn I2C 28

Hình 3.1: Mô hình kết nối web server 29

Hình 3.2: Hệ điều hành và bảng giá cho thuê Vps của Vultr 30

Hình 3.3: Giao diện điều khiển của Xampp 31

Trang 13

Hình 3.4: Hệ quảng trị cơ sở dữ liệu MySQL 33

Hình 3.5: Cấu trúc một tin nhắn SMS 35

Hình 4.1: Sơ đồ khối của hệ thống 39

Hình 4.2: Sơ đồ nguyên lý mạch nguồn cho relay 43

Hình 4.3: Sơ đồ mạch in của khối nguồn cấp cho relay 43

Hình 4.4: Sơ đồ nguyên lý khối nút nhấn và LED trạng thái 45

Hình 4.5: Sơ đồ mạch in khối nút nhấn 46

Hình 4.6: Lưu đồ hoạt động điều khiển tự động 47

Hình 4.7: Lưu đồ điều khiển qua SMS 48

Hình 4.8: Lưu đồ điều khiển qua nút nhấn 49

Hình 5.1: Giao diện đăng nhập web server 50

Hình 5.2: Giao diện điều khiển của web server 51

Hình 5.3: Giao diện máy chủ ảo VPS 52

Hình 5.4: Khối điều khiển của hệ thống 52

Hình 5.5: Khối thu thập dữ liệu của hệ thống (Slave) 53

Hình 5.6: Khối xử lý chính của hệ thống (Master) 54

Hình 5.7: Khối 4 Relay điều khiển động cơ 55

Hình 5.8: Giao diện điều khiển ở chế độ tự động 56

Hình 5.9: Giao diện điều khiển ở chế độ thủ công 57

Hình 5.10: Mô hình toàn hệ thống 58

Hình 5.11: Vị trí bố trí các khối Master, Slave, cảm biến trên mô hình 59

Hình 5.13: Vị trí bố trí khu vườn 61

Trang 14

DANH MỤC BẢNG

Bảng 2.1: Thông số kĩ thuật của board Uno R3 9

Bảng 2.2: Chức năng của các chân LCD 26

Bảng 2.3: Các chân kết nối và chức năng của RF 220-43 27

Bảng 4.1: Giá trị đo của cảm biến siêu âm 42

Trang 15

DANH MỤC TỪ VIẾT TẮT

GSM: Global System for Mobile communication

SMS: Short Message Service

PDU: Protocol data unit

XAMPP: X + Apache + Mysql + PHP + Perl

VPS: Virtual Private Server

MCU: Microprocessor Control Unit

USART: Universal Synchronous & Asynchronous serial Reveiver and

Transmitter

MySQL:Structured Query Language

LED: Light Emitting Diode

Trang 16

CHƯƠNG 1: TỔNG QUAN 1.1 Tình hình nghiên cứu hiện nay:

Ngày nay với sự phát triển của khoa học công nghệ, con người đã và đang thay đối lối sống, lối tư duy nhằm thích ứng với nền công nghệ mới Internet đã và đang là một thứ không thể thiếu trong đời sống công nghệ Bên cạnh việc tìm kiếm thông tin, giải trí internet còn được dùng trong việc điều khiển và giám sát thiết bị Đồng thời tại Việt Nam công nghệ sử dụng mạng điện thoại đang được phát triển mạnh mẽ trong mấy năm gần đây Việc áp dụng các tính năng ưu việt của mạng điện thoại trong việc điều khiển thiết bị và giám sát hệ thống được thực hiện ngày càng phổ biến

Trước khi thực hiện đề tài này Nhóm đã tìm hiểu thông qua mạng internet và trực tiếp từ thư viện đồ án của nhà trường Thì các mô hình điều khiển thông minh giao tiếp qua Sim900 hoặc web server đều đã được thực hiện Tuy nhiên chủ yếu đều sử dụng các dòng vi điều khiển như PIC hoặc PLC và mỗi đều tài đều ít hay nhiều mang những khuyết điểm của nó Và việc ứng dụng card Arduino trong hệ thống điều khiển thông minh giao tiếp web server và Sim900 thì hoàn toàn chưa có

1.2 Tính cấp thiết của đề tài:

Cùng với công cuộc công nghiệp hóa và hiện đại hóa đất nước, lĩnh vực tự động hóa có những bước phát triển vượt bật và trở thành yếu tố quan trọng không thể thiếu của nền công nghiệp hiện đại khi nói đến tự động hóa là nói đến sự thay thế dần đến hoàn toàn các hoạt động chân tay bằng máy móc trong các dây chuyền sản xuất

Trong nền công nghiệp hiện đại thì vấn đề thời gian là rất quan trọng Con người ngày càng bận rộn với công việc không có nhiều thời gian để chăm sóc cây trồng một giải pháp được đưa ra là tự động hóa để chăm sóc chúng, vấn đề này càng được quan tâm nhiều hơn Đây chính là ý tưởng cho đề tài tốt nghiệp này

1.3 Mục tiêu nghiên cứu

Mục đích của đề tài là thiết kế được mô hình hệ thống tưới cây sử dụng các cảm biến để đo và hiển thị thông số: nhiệt độ, độ ẩm không khí, độ ẩm đất, mực nước bồn chứa qua 2 chế độ tự động và thủ công đều khiển trực tiếp hoặc gián tiếp qua sim900

và web server Từ đó ta điều chỉnh nhiệt độ, độ ẩm không khí, độ ẩm đất cho phù hợp với các yêu cầu của cây trồng thông qua điều khiển các thiết bị, động cơ như: máy bơm nước, máy phun sương, quạt thông gió

1.4 Nhiệm vụ nghiên cứu

- Thiết kế giao diện và điều khiển trên máy tính sử dụng web server

Trang 17

- Thiết kế và điều khiển hệ thống qua điện thoại sử dụng Sim900

- Thiết kế và thi công, lập trình khối đo nhiệt độ, độ ẩm, độ ẩm đất và đo mực nước bồn chứa

- Thiết kế mạch điều khiển thiết bị: máy bơm nước bồn chứa, quạt, máy bơm nước tưới cây

- Lắp ráp các khối điều khiển và chạy thử nghiệm hệ thống mô hình vườn cây

- Viết báo cáo luận văn

- Báo cáo đề tài tốt nghiêp

1.5 Đối tượng và phạm vi nghiên cứu

- Thiết kế mô hình vườn cây đơn giản

- Sử dụng module truyền không dây APC220-43 433 MHz RF Transceiver Module

để truyền nhận dữ liệu

- Giám sát và điều khiển vườn bằng cảm biến và giao tiếp với máy tính qua Enthernet shield qua giao diện web server và giao tiếp qua điện thoại sử dụng Sim900 shield

- Điều khiển quạt để mô phỏng hệ làm mát

- Điều khiển máy bơm để tưới nước cho cây

- Sử dụng kít Arduino Uno R3 để điều khiển hệ thống tưới cây

1.6 Phương ph́áp Nghiên cứu

- Phương pháp tham khảo tài liệu: đọc tài liệu từ các đồ án trước của các anh chị, qua sách giáo trình, tham khảo các tài liệu trên mạng internet

- Phương pháp quan sát: khảo sát một số module, mạch điện thực tế có trên thị trường và một số mạch trên internet

- Phương pháp thực nghiệm: từ những kiến thức học được trong trường và sự hướng dẫn của giáo viên em đã khảo sát và tiến hành lắp ráp các dạng mạch điện

từ đó chọn ra các mạch tối ưu nhất cho mô hình

1.7 Bố cục của Đồ án

- Chương 1: Tổng quan Chương này trình bày khái quát về lĩnh vực nguyên cứu, tầm quan trọng của đề tài, mục tiêu, nhiệm vụ và giới hạn thực hiên đề tài

- Chương 2: Cơ sở lý thuyết Chương này trình bày cơ sở lý thuyết liên quan đến

đề tài Giới thiệu về các loại kit, các loại cảm biến

- Chương 3: Cơ sở lý thuyết Chương này trình bày cơ sở lý thuyết về xây dựng web server Các chuẩn giao tiếp, tập lệnh điều khiển

Trang 18

- Chương 4: Thiết kế và thi công mạch Chương này trình bày về hoạt động thi công đồ án, về việc tính toán lựa chọn linh kiện và phương án thiết kế Lưu đồ hoạt động của hệ thống

- Chương 5: Kết quả thi công và so sánh, đánh giá thực nghiệm Trong chương chủ yếu trình bày về những kết quả đã đạt được trong đồ án, về mô hình, khối điều khiển và khối công suất

- Chương 6: Kết luận và hướng phát triển của đề tài Tổng kết về các ưu điểm và nhược điểm của đề tài, đồng thời đưa ra các hướng phát triển đề tài phù hợp

Trang 19

CHƯƠNG 2: CƠ SỞ LÝ THUYẾT PHẦN CỨNG 2.1 Tổng quan về Arduino

Arduino đã và đang được sử dụng rất rộng rãi trên thế giới, và ngày càng chứng tỏ được sức mạnh của chúng thông qua vô số ứng dụng độc đáo của người dùng trong

cộng đồng nguồn mở (open-source) Tuy nhiên tại Việt Nam Arduino vẫn còn chưa

được biết đến nhiều Vậy Arduino là “cái” gì?

Hình 2.1: Logo Arduino 2.1.2 Khả năng của bo mạch Arduino

Bo mạch Arduino sử dụng dòng vi xử lý 8-bit megaAVR của Atmel với hai chip phổ biến nhất là ATmega328 và ATmega2560 Các dòng vi xử lý này cho phép lập trình các ứng dụng điều khiển phức tạp do được trang bị cấu hình mạnh với các loại bộ nhớ ROM, RAM và Flash, các ngõ vào ra digital I/O trong đó có nhiều ngõ có khả

Trang 20

năng xuất tín hiệu PWM, các ngõ đọc tín hiệu analog và các chuẩn giao tiếp đa dạng như UART, SPI, TWI (I2C)

Xung nhịp: 16MHz

EEPROM: 1KB (ATmega328) và 4KB (ATmega2560)

SRAM: 2KB (Atmega328) và 8KB (Atmega2560)

Flash: 32KB (Atmega328) và 256KB (Atmega2560)

Đọc tín hiệu cảm biến ngõ vào:

a) Digital:

Các bo mạch Arduino đều có các cổng digital có thể cấu hình làm ngõ vào hoặc ngõ ra bằng phần mềm Do đó người dùng có thể linh hoạt quyết định số lượng ngõ vào và ngõ ra Tổng số lượng cổng digital trên các mạch dùng Atmega328 là 14, và trên Atmega2560 là 54

b) Analog:

Các bo mạch Arduino đều có trang bị các ngõ vào analog với độ phân giải 10 bit (1024 phân mức, ví dụ với điện áp chuẩn là 5V thì độ phân giải khoảng 0.5mV) Số lượng cổng vào analog là 6 đối với Atmega328 Với tính năng đọc analog, người dùng

có thể đọc nhiều loại cảm biến như nhiệt độ, áp suất, độ ẩm, ánh sáng, siêu âm

Xuất tín hiệu điều khiển ngõ ra:

a) Digital output:

Tương tự như các cổng vào digital, người dùng có thể cấu hình trên phần mềm để quyết định dùng ngõ digital nào là ngõ ra Tổng số lượng cổng digital trên các mạch dùng Atmega328 là 14, và trên Atmega2560 là 54

b) PWM output:

Trong số các cổng digital, người dùng có thể chọn một số cổng dùng để xuất tín hiệu điều chế xung PWM Độ phân giải của các tín hiệu PWM này là 8-bit Số lượng cổng PWM đối với các bo dùng Atmega328 là 6, và đối với các bo dùng Atmega2560

là 14 PWM có nhiều ứng dụng trong viễn thông, xử lý âm thanh hoặc điều khiển động

cơ mà phổ biến nhất là động cơ servos trong các máy bay mô hình

2.1.3 Phần mềm lập trình

Môi trường phát triển tích hợp (IDE) Arduino là một ứng dụng đa nền tảng được viết bằng Java, và được dẫn xuất từ IDE cho ngôn ngữ lập trình xử lý và các dự án lắp ráp Nó được thiết kế để làm nhập môn lập trình cho các nhà lập trình và những người mới sử dụng khác không quen thuộc với phát triển phần mềm Nó bao gồm một trình soạn thảo mã với các tính năng như làm nổi bật cú pháp, khớp dấu ngặc khối chương trình, và thụt đầu dòng tự động, và cũng có khả năng biên dịch và tải lên các chương

Trang 21

trình vào bo mạch với một nhấp chuột duy nhất Một chương trình hoặc mã viết cho Arduino được gọi là “sketch”

Chương trình Arduino được viết bằng C hoặc C++ Arduino IDE đi kèm với một thư viện phần mềm được gọi là “Wiring” từ dự án lắp ráp ban đầu, cho hoạt động đầu vào/đầu ra phổ biến trở nên dễ dàng hơn nhiều Người sử dụng chỉ cần định nghĩa hai hàm để thực hiện một chương trình điều hành theo chu kỳ:

setup( ): hàm chạy một lần duy nhất vào lúc bắt đầu của một chương trình dùng để khởi tạo các thiết lập đầu chương trình

loop( ): hàm được gọi vòng lặp tuần hoàn cho đến khi bo mạch được tắt đi

Hình 2.2: Lưu đồ chương trình Arduino IDE sử dụng GNU toolchain và AVR libc để biên dịch chương trình, và

sử dụng avrdude để tải lên các chương trình vào bo mạch chủ

Do nền tảng Arduino sử dụng vi điều khiển Atmel, môi trường phát triển của Atmel, AVR Studio hoặc Atmel Studio mới hơn, cũng có thể được sử dụng để phát triển phần mềm cho các Arduino

2.1.4 Shield tương thích mở rộng

Arduino và bảng mạch Arduino tương thích sử dụng các shield – bo mạch mạch điện được cắm vào bo mạch Arduino chính thường thông qua các đầu chân cắm trên bo mạch Arduino chủ Shiel có thể cung cấp chức năng điều khiển động cơ, GPS, kết nối mạng ethernet, màn hình LCD, hoặc bảng mạch khung (tạo mẫu) Một số shield cũng

có thể được chế tạo để thực hiện DIY

Trang 22

Hình 2.3: các loại shield cho arduino

2.2 Các loại bo mạch Arduino

Về mặt chức năng, các bo mạch Arduino được chia thành hai loại: loại bo mạch chính có chip Atmega và loại mở rộng thêm chức năng cho bo mạch chính (thường được gọi là shield)

Các bo mạch chính về cơ bản là giống nhau về chức năng, tuy nhiên về mặt cấu hình như số lượng I/O, dung lượng bộ nhớ, hay kích thước có sự khác nhau Một số bo

có trang bị thêm các tính năng kết nối như Ethernet và Bluetooth

Các bo mở rộng chủ yếu mở rộng thêm một số tính năng cho bo mạch chính ví dụ như tính năng kết nối Ethernet, Wireless, điều khiển động cơ v.v…

Hình 2.4: Các loại Board Arduino

Trang 23

2.2.1 Arduino Uno R3

Hình 2.5: Board Arduino Uno R3 Hình trên là cận cảnh con Arduino Uno Đối với chúng ta để sử dụng Arduino thì trước tiên cần quan tâm các thành phần được đánh số ở trên:

(1) Cổng USB (loại B): đây là cổng giao tiếp để ta upload code từ PC lên vi điểu khiển Đồng thời nó cũng là giao tiếp serial để truyền dữ liệu giữa vi điểu khiển với máy tính

(2) Jack nguồn: để chạy Arduino thì có thể lấy nguồn từ cổng USB ở trên, nhưng không phải lúc nào cũng có thể cắm với máy tính được Lúc đó, ta cần một nguồn 9V đến 12V

(3) Hàng Header: đánh số từ 0 đến 13 là hàng digital pin, nhận vào hoặc xuất ra các tín hiệu số Ngoài ra có một pin đất (GND) và pin điện áp tham chiếu (AREF) (4) Hàng header thứ hai: chủ yếu liên quan đến điện áp đất, nguồn

(5) Hàng header thứ ba: các chân để nhận vào hoặc xuất ra các tín hiệu analog Ví

dụ như đọc thông tin của các thiết bị cảm biến

(6) Vi điều khiển AVR: đây là bộ xử lý trung tâm của toàn bo mạch Với mỗi mẫu Arduino khác nhau thì con chip này khác nhau Ở con Arduino Uno này thì sử dụng ATMega328

Trang 24

Bảng 2.1: Thông số kĩ thuật của board Uno R3

Vi điều khiển ATmega328 (họ 8bit)

Điện áp hoạt động 5V – DC (chỉ được cấp qua cổng USB)

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

Điện áp vào khuyên

Điện áp vào giới hạn 6-20V – DC

Số chân Digital I/O 14 (6 chân PWM)

Số chân Analog 6 (độ phân giải 10bit)

Dòng tối đa trên mỗi

2.2.2 Arduino sim900 shield

Modules SIM900 GSM/GPRS Shield sử dụng mạng điện thoại di động GSM để nhận dữ liệu từ một địa điểm từ xa Module Sim900 đáp ứng được cả 3 dịch vụ:

 Tin nhắn (Short Message Service)

 Âm thanh

 Dịch vụ GPRS

Trang 25

Module Sim900 GSM/GPRS Shield tương thích và phù hợp với hầu hết các board Arduino như (Uno R3, Mega 2560…) GPRS Shield được cấu hình và điều khiển thông qua UART bằng cách sử dụng lệnh AT Dựa trên các mô-đun SIM900, GPRS Shield giống như một điện thoại di động Ngoài những tính năng truyền thông, GPRS Shield có 12 GPIOs, 2 PWM và ADC

Hình 2.6: Moduled sim900 shield

 Tính năng

− Dựa trên SIMCOM của module SIM900

− Quad-Band 850/900/1800/1900 MHz – sẽ làm việc trên các mạng GSM ở tất cả các nước trên thế giới

− Điều khiển thông qua lệnh AT

− Dịch vụ tin nhắn ngắn – để bạn có thể gửi một lượng nhỏ dữ liệu qua mạng (ASCII hoặc thập lục phân thô)

− Embedded TCP/UDP stack – cho phép bạn upload dữ liệu lên một máy chủ web

− Loa và jack cắm tai nghe – để bạn có thể gửi tín hiệu DTMF hoặc ghi âm như một máy trả lời

− Hiện được chủ thẻ SIM và GSM Antenna

− 12 GPIOs, 2 PWM và ADC (tất cả các logic 2.8 volt) – để tăng thêm chân

Arduino của bạn

− Tiêu thụ điện năng thấp – 1.5mA (chế độ ngủ)

− Dải nhiệt độ hoạt động -40 ° C đến 85 ° C

Trang 26

 Mô tả phần cứng

Hình 2.6: Mô tả phần cứng sim900 shield

- Power select – Công tắc bật nguồn cho module sim900 GSM/GPRS Nguồn từ board Arduino

- Power jack – Kết nối với nguồn ngoài (4,8- 5V)

- Antenna interface – Anten thu phát sóng

- Serial port select –chọn 1 trong 2 cổng phần mềm hoặc phần cứng nối tiếp kết nối với arduino sim900 shield

- Hardware Serial – D0/D1 of Arduino

- Software serial – D7/D8 of Arduino

- Status LED – Led báo hiệu nguồn

- Net light – thông báo trạng thái SIM900 kết nối

- UART of SIM900 – UART pins breakout of SIM900

- Microphone – ngõ ra âm thanh trả lời cuộc gọi

- Speaker – ngõ vào âm thanh trả lời cuộc gọi

- GPIO,PWM and ADC of SIM900 – GPIO,PWM and ADC pins breakout of SIM900

- Power key – nút nguồn

- Các chân sử dụng cho Arduino

- D0 –D1 không sử dụng nếu chọn cổng nối tiếp phần mềm để giao tiếp với GPRS Shield

- D2 – D3– D4– D5– D6 không sử dụng

- D7 –D8 sử dụng nếu chọn cổng nối tiếp phần mềm để giao tiếp với GPRS Shield

Trang 27

- D9 – Used for software control the power up or down of the SIM900

- D10 –D11 –D12 –D13 không sử dụng

- D14(A0) –D15(A1) –D16(A2) –D17(A3) –D18(A4) –D19(A5) không sử dụng

2.2.3 Arduino Enthernet shield

Arduino Ethernet Shield sử dụng nhằm giúp arduino có thể kết nối với internet

Nó được dựa trên chip Wiznet W5100, ethernet phát triển cả 2 chuẩn giao tiếp có khả năng cả 2 chuẩn TCP và UDP Arduino Ethernet Shield hỗ trợ tối đa bốn thiết bị đồng thời kết nối Sử dụng thư viện Ethernet có sẵn để kết nốivới internet thông qua một jack RJ45

Phiên bản shield này có tích hợp khe cắm thẻ micro SD, có thể được sử dụng để lưu trữ các tập tin phục vụ qua mạng Arduino Ethernet Shield tương thích với Arduino Uno và Mega (sử dụng Ethernet Thư viện) Bạn có thể truy cập vào khe cắm thẻ trên board và sử dụng thư viện SD được bao gồm tích hợp trong bộ thư viện có sẵn trong trình biên dịch arduino

Arduino giao tiếp với cả hai module W5100 và thẻ SD bằng cách sử dụng chuẩn SPI (thông qua cổng ICSP), trên các chân 11, 12, và 13 của board arduino Uno R3 và chân 50, 51 và 52 của board arduino mega 2560, chân số 10 được sử dụng để chọn W5100 và chân số 4 cho SD card Các chân không thể được sử dụng cho chức năng i/o nếu sử dụng cả 2 module cùng lúc thì chân số 10 trên board arduino Uno R3 phải được

để trống, và chân số 53 trên board arduino mega2560 nếu không thì board sẽ không thể hoạt động được

Hình 2.7: Arduino Enthernet shield

Trang 28

Thông số kỹ thuật:

- Để sử dụng phải có board mạch Arduino đi kèm

- Hoạt động tại điện áp 5V (được cấp từ mạch Arduino)

- Chip Ethernet: W5100 với buffer nội 16K

- Tốc độ kết nối: 10/100Mb

- Kết nối với mạch Arduino qua cổng SPI

- Thư viện và code mẫu có sẵn trong chương trình Arduino

Lưu ý rằng bởi vì W5100 và SD card sử dụng chung chuẩn truyền SPI, vì vậy một thiết bị duy nhất có thể được hoạt động tại một thời điểm Nếu bạn đang sử dụng cả hai thiết bị ngoại vi trong chương trình của bạn, điều này cần được xử lý bởi các thư viện tương ứng

2.3 Giới thiệu module sim900

Giống như một điện thoại di động GSM, một modem GSM yêu cầu 1 thẻ sim với một mạng wireless để hoạt động

Module Sim900 là một trong những loại modem GSM Nhưng Module Sim900 đựoc nâng cao hơn có tốc độ truyền dữ liệu nhanh hơn Nó sữ dụng công nghệ

Trang 29

GSM/GPRS hoạt động ở băng tầng GSM 850Mhz, EGSM 900Mhz, DCS 1800Mhz và PCS 1900Mhz, tính năng GPRS của Sim900 có nhiều lớp

 8 lớp điện dung

 10 lớp điện dung

Và hỗ trợ GPRS theo dạng đồ thị mã hóa CS-1, CS-2, CS-3 và CS-4

2.3.1 Đặc điểm của module sim900

1 Nguồn cung cấp khoảng 3.4 – 4.5V

5 Công suất truyền:

 Tầng 4 (2W) tại băng tần GSM850 và EGSM900

 GPRS dữ liệu tải xuống: Max 85.6 kbps

 GPRS dữ liệu úp lên: Max 42.8 kbps

 Sơ đồ mã hóa: CS-1, CS-2, CS-3 và CS-4

 Sim 900 hỗ trợ giao thức PAP, kiểu sử dụng kết nối PPP

 Sim 900 tích hợp giao thức TCP/IP

 Hỗ trợ chuyển đổi phát song kênh điều khiển (PBCCH)

Trang 30

 Toàn bộ chế độ tăng cường (ETS 06.50/ 06.06/ 06.80)

 Tương thích với nhiều tốc độ (AMR)

 Loại bỏ tiếng dội

 Cổng nối tiếp sử dụng cho tập lệnh AT hoạc chuỗi dữ liệu

 Hỗ trợ bắt tay phần cứng RTS/CTS và tắt/mở điều khiển dòng bằng phần mềm

 Hỗ trợ tốc độ truyền 1200 BPS tới 115200 BPS

Cổng gỡ rối:

 2 dây giao tiếp DBG_TXD và DBG_RXD

 Cổng gỡ rối được sử dụng để gỡ rối và cập nhật phần mềm

16 Quản lý danh sách:

 Hỗ trợ mẫu danh sách: SM, FD, LD, RC, ON, MC

17 Sim Application toolkit:

Trang 31

 Dòng sử dụng: 2.5mA max (khi truyền dữ liệu)

 Đo tốt ở độ ẩm 0-100% RH (Relative Humidity) với sai số 2-5%

 Đo tốt ở nhiệt độ -40 to 80°C sai số ±0.5°C

 Tần số lấy mẫu tối đa 0.5Hz (2s/1 lần)

 Kích thước 27mm x 59mm x 13.5mm (1.05" x 2.32" x 0.53")

Trang 32

c) Sơ đồ kết nối với vi điều khiển

Hình 2.10: Sơ đồ kết nối dây với cảm biến DHT22 với vi xử lý

Trên Hình 2.10, chân thứ 2 của cảm biến sẽ được nối vào một chân digital của aruino uno R3, thực hiện truyền nhận tín hiệu diễn ra theo chuẩn I2C ( truyền nhận tín hiệu một dây), chân số 1 được cấp nguồn 5V từ kít, chân số 3 bỏ trống, chân 4 nối với GND của board

Cấu trúc dữ liệu trên 1 - wire bus

DATA = 16 bit dữ liệu RH + 16 bit Nhiệt độ + 8 bit check-sum

Ví dụ: MCU nhận được 40 bit dữ liệu từ DHT22 như

0000 0010 1000 1100 0000 0001 0101 1111 1110 1110

16 bit RH data 16 bit T data 8 bit check sum

Ở đây chúng ta chuyển đổi 16 bit dữ liệu RH (Relative Humidity) từ hệ nhị phân

để sang hệ thập phân,

0000 0010 1000 1100 → 652

Từ đó tính được độ ẩm tương đối RH:

RH = 652/10 = 65 2% RH Chúng ta chuyển đổi 16 bit dữ liệu T (Temperature) từ hệ nhị phân để hệ thống thập phân,

0000 0001 0101 1111 → 351 Tính được giá trị nhiệt độ của cảm biến DHT22

T = 351/10 = 35.1 ℃

DATA

Trang 33

- Khi bit cao nhất của nhiệt độ là 1, có nghĩa là ta đo nhiệt độ dưới 00 C

Hình 2.11: Quá trình gửi nhận dữ liệu giữa Vi điều khiển và DHT22

Để có thể giao tiếp với DHT22 theo chuẩn 1 chân vi xử lý thực hiện theo 2 bước:

Trang 34

Bước 1: MCU gửi tín hiệu Start và chờ DHT22 gửi tín hiệu đáp ứng

Hình 2.12: Vi điều khiển gửi yêu cầu cho cảm biến

 MCU thiết lập chân DATA là Output, kéo chân DATA xuống 0 trong khoảng thời gian ít nhất 1- 10ms Khi đó DHT22 sẽ hiểu MCU muốn đo giá trị nhiệt độ và độ

ẩm

 MCU đưa chân DATA lên mức 1chờ đáp ứng của DHT22, Sau khoảng 20-40us thì DHT22 sẽ kéo chân DATA xuống thấp Nếu > 40us mà chân DATA ko được kéo xuống mức thấp nghĩa là ko giao tiếp được với DHT22

 Nếu có đáp ứng của cam biến chân DATA sẽ ở mức thấp 80us, sau đó nó được DHT22 kéo lên cao trong 80us và quá trình truyền dữ liệu sẽ diễn ra ngay sau đó Bằng việc giám sát chân DATA, MCU có thể biết được có giao tiếp được với DHT22 ko

Bước 2: MCU đọc giá trị trên DHT22

Sau khi giao tiếp được với DHT22, DHT22 sẽ gửi liên tiếp 40 bit 0 hoặc 1 về MCU, tương ứng chia thành 5 byte kết quả của nhiệt độ và độ ẩm

Trang 35

Hình 2.13: Quá trình gửi dữ liệu về của cảm biến

Khi cảm biến DHT22 gửi dữ liệu đến VĐK, việc truyền tải mỗi bit bắt đầu khi DATA đang ở mức thấp và tồn tại trong khoảng thời gian 50us, sau khoảng thời gian này dữ liệu DATA chuyển lên mức cao và thời gian tồn tại mức cao sẽ quyết định giá trị trả về của cảm biến là bít “0” hay “1”

+ Bit 0: Thời gian tồn tại mức cao của DHT22 là 26 - 28us

+ Bit 1: Thời gian tồn tại mức cao của DHT22 là 70us

Và cứ như vậy mà từng bit dữ liệu của cảm biến sẽ được gửi về MCU sau mỗi 50us delay, và thực hiện cho đủ 40 bit thì dừng hoặc tiếp tục đo giá trị nhiêt độ, độ ẩm nếu MCU gửi tín hiệu Start

Trang 36

Độ nhạy của cảm biến độ ẩm đất có thể điều 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 dò được cắm vào đất để phát hiện độ ẩm, 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

Trang 37

Hình 2.15: Mạch so sánh của cảm biến độ ẩm đất 2.4.3 Cảm biến siêu âm HC SR4

a) Giới thiệu

Hình 2.16: Cảm biến siêu âm HC SR04 HC-SR04 là module cảm biến siêu âm dùng để đo khoảng cách từ cảm biến đến vật cản Khoảng cách mà cảm biến có thể đo được là từ 2 – 400cm, độ chính xác có thể đạt được ± 3mm HC-SR04 có 2 loa siêu âm phát/thu, tương ứng với hai chân điều khiển Trigger/Echo, để phát và nhận sóng siêu âm

Trang 38

b) Đặc điểm kỹ thuật

- Điện áp hoạt động: 5V

- Dòng tiêu thu: 15mA

- Tần số siêu âm: 40Hz

- Giới hạn khoảng cách đo được: 20mm - 4000mm

- Giới hạn góc phát siêu âm: 15o

- Tín hiệu ra (Trigger): xung TTL 10us

- Tín hiệu vào (Echo): xung TTL, tùy thuộc khoảng cách

- Kích thước module (dài x rộng x cao): 45mm x 20mm x 15mm

Sơ đồ chân của HC-SR04 gồm: VCC, trig, echo, GND Trong đó:

- VCC > pin 5V Arduino

- trig > chân digital (OUTPUT), đây là chân sẽ phát tín hiệu từ cảm biến

- echo > chân digital (INPUT), đây là chân sẽ nhận lại tín hiệu được phản xạ từ vật cản

- GND -> GND Arduino

c) Nguyên tắc làm việc cơ bản

Hình 2.17: Giản đồ xung hoạt động của cảm biến siêu âm Theo Hình 2.18 để đo khoảng cách MCU sẽ thực hiện các bước

Trang 39

- Sử dụng chân IO (chân Trig) kích tín hiệu mức cao tồn tại ít nhất 10us

- Module tự động gửi liên tiếp 8 xung tần số 40 kHz và chờ tín hiệu xung phản hồi

- Nếu có tín hiệu phản hồi lại tại chân echo là mức cao, thì thời gian tồn tại mức cao của chân echo là thời gian sóng siêu âm được trả về

- Và công thức xác định khoảng cách: D = ( T * V) / 2 (2.1)

Trong đó:

D: khoảng cách phát hiện vật cần đo T: thời gian tín hiệu mức cao thu được tại chân echo

V: vận tốc âm thanh khoảng 344m/s

Hình 2.18: Tầm quét của cảm biến siêu âm

Khi sóng siêu âm phát ra và thu về, cảm biến siêu âm, một cách gián tiếp cho ta biết vị trí các chướng ngại vật theo hướng quét của cảm biến Khi đó, dường như trên quãng đường đi từ cảm biến đến chướng ngại vật, sóng siêu âm không gặp bất cứ vật cản nào, và đâu đó xung quanh vị trí mà thong số cảm biến ghi nhận được, có một chướng ngại vật Và vì thế, cảm biến siêu âm có thể được mô hình hóa thành một hình quạt, trong đó các điểm ở giữa dường như không có chướng ngại vật, còn các điểm trên biên thì dường như có chướng ngại vật nằm ở đâu đó

Trang 40

2.5 Bộ thu phát APC220-43 433 MHz RF Transceiver Module

Hình 2.19: Module RF APC220-43 Module APC220-43 là mạch tích hợp thu phát bá song công có công suất thấp với tốc độ MCU cao, khả năng IC RF tốt Sửa lỗi hiệu quả cao với công nghệ mã hóa Interleaving, nó có thể chống nhiễu và cải thiện độ nhạy cao Nó có thể có hiệu suất tốt trong môi trường nhiễu phức tạp ví dụ như trong công nghiệp Kỹ thuật này hiệu quả cao trong lĩnh vực truyền tải dữ liệu

APC220-43 là module có chi phí hợp lý và dễ ứng dụng nó không chỉ truyền nhận với bộ đệm lớn mà còn cung cấp lên đến 100 kênh truyền Các thông số đó thiết lập dễ dàng và khá lý tưởng cho việc truyền dẫn dữ liệu không dây

Thông số kỹ thuật:

• Khoảng cách truyền 1000m ở tốc độ baud (2400bps)

• Công suất đầu ra là 20 mW

• Tần số là từ 418MHz đến 455MHz

• Kích thước của Module 37.5mm x 18.3mm x 7.0mm

• Hơn 100 kênh

• Điều chế GFSK

•Giao diện UART / TTL

•Trên 256 byte dữ liệu đệm phù hợp để chuyển dữ liệu lớn

Ngày đăng: 24/02/2024, 14:03

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

TÀI LIỆU LIÊN QUAN

w