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

ĐIỀU KHIỂN THIẾT bị QUA MODULE WIFI ESP8266

55 3K 34

Đ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 55
Dung lượng 13,09 MB

Nội dung

Mục tiêu nghiên cứuThiết kế mạch điều khiển thiết bị từ xa bằng điện thoại di động về nhiệt độ, độ ẩm thông qua Module Wifi Essp8266.. Sử dụng ngôn ngữ lập trình BASIC, Stampgiống như mộ

Trang 1

KHOA VẬT LÍ -

NGUYỄN THỊ KIM ANH

ĐIỀU KHIỂN THIẾT BỊ QUA MODULE WIFI

ESP8266

KHÓA LUẬN TỐT NGHIỆP

Huế, khóa học 2014 - 2018

Trang 2

KHOA VẬT LÍ -

NGUYỄN THỊ KIM ANH

ĐIỀU KHIỂN THIẾT BỊ QUA MODULE WIFI ESP8266

KHÓA LUẬN TỐT NGHIỆP

GIẢNG VIÊN HƯỚNG DẪN

Th.S HOÀNG ĐÌNH LONG

Huế, khóa học 2014 - 2018

Trang 3

Lời Cảm Ơn

Trong thời gian làm khóa luận tốt nghiệp, em đã nhận được nhiều sự giúp đỡ, đóng góp ý kiến và chỉ bảo tận tình của thầy cô, gia đình, bạn bè.

Em xin gửi lời cảm ơn chân thành đến Th.S thầy Hoàng Đình Long, giảng viên tổ Vật lí kĩ thuật – trường Đại học sư phạm Huế người đã tận tình hướng dẫn, chỉ bảo em trong suốt quá trình làm khóa luận.

Em cũng chân thành cảm ơn các thầy cô giáo trong trường Đại học sư phạm Huế nói chung, các thầy cô trong khoa vật lí nói riêng đã dạy dỗ em Đồng thời, các thầy cô đã truyền cho em kiến thức về các môn đại cương cũng như các môn chuyên ngành, giúp em

có được cơ sở lí thuyết vững vàng và tạo điều kiện giúp đỡ em trong suốt quá trình học tập

Cuối cùng, em xin chân thành cảm ơn đến gia đình

và bạn bè đã luôn tạo điều kiện, quan tâm, giúp đỡ và động viên em trong suốt quá trình học tập và hoàn thành khóa luận tốt nghiệp.

Mặc dù đã có nhiều cố gắng trong quá trình làm khóa luận tốt nghiệp, nhưng không thể tránh khỏi những thiếu sót Em mong quý thầy cô cùng các bạn đọc nhận xét, góp ý thêm để bài khóa luận của em được hoàn thiện hơn.

Em xin chân thành cảm ơn!

Huế, ngày 5 tháng 5 năm 2018

Trang 4

Sinh viên thực hiện

Nguyễn Thị Kim Anh

Trang 5

MỤC LỤC

PHẦN I MỞ ĐẦU 1

1 Lý do chọn đề tài 1

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

3 Nhiệm vụ nghiên cứu 2

4 Phương pháp nghiên cứu 2

5 Đối tượng nghiên cứu 2

6 Phạm vi nghiên cứu 2

7 Cấu trúc khóa luận 2

PHẦN II NỘI DUNG 3

CHƯƠNG 1 TỔNG QUAN 3

1.1 Giới thiệu vi điều khiển Arduino Uno 3

1.1.1 Lịch sử hình thành Arduino 3

1.1.2 Tổng quan về Arduino 4

1.1.2.1 Định nghĩa về vi điều khiển Arduino 4

1.1.2.2 Một số board Arduino 5

1.1.3 Giới thiệu về Board Arduino Uno 5

1.1.3.1 Cấu tạo chung 5

1.1.3.2 Các thông số kĩ thuật của Arduino Uno 7

1.1.3.3 Vi điều khiển 7

1.1.3.4 Bộ nhớ 8

1.1.3.5 Đặc điểm và chức năng các chân của Arduino Uno 9

1.1.3.6 Ứng dụng của Arduino 11

1.2 Giới thiệu Module Wifi ESP8266 13

1.2.1 Giới thiệu về Module Wifi ESP8266 V1 13

1.2.2 Thông số kỹ thuật 13

1.2.3 Chân kết nối của Module Wifi Esp8266 V1 14

1.2.4 Giao tiếp của module wifi ESP8266 với Arduino Uno 15

1.3 Giới thiệu về Apps Virtuino trên Android 15

1.4 Cảm biến nhiệt độ và độ ẩm DHT11 17

1.4.1 Giới thiệu chung 17

Trang 6

1.4.2 Thông số kĩ thuật 17

1.4.3 Giao tiếp giữa DHT11 với Arduino Uno 18

CHƯƠNG 2 MÔ PHỎNG VÀ LẬP TRÌNH CHO ARDUINO 19

2.1 Phần mềm mô phỏng Proteus 19

2.1.1 Tổng quan về phần mềm 19

2.1.2 Cách sử dụng phần mềm Proteus 19

2.1.3 Thư viện Arduino trong Proteus 22

2.2 Giới thiệu về môi trường tích hợp Arduino IDE 22

2.3 Lập trình điều khiển với Arduino 25

2.3.1 Cấu trúc của một chương trình 25

2.3.2 Ngôn ngữ lập trình cho Arduino 26

2.3.2.1 Giới thiệu ngôn ngữ C 26

2.3.2.2 Các lệnh cơ bản trong C 26

CHƯƠNG 3 THIẾT KẾ, LẬP TRÌNH VÀ LẮP ĐẶT MẠCH ĐIỀU KHIỂN TỪ XA VỀ NHIỆT ĐỘ, ĐỘ ẨM TRÊN ĐIỆN THOẠI DI ĐỘNG THÔNG QUA MODULE WIFI ESP8266 35

3.1 Phân tích mạch điều khiển 35

3.1.1 Sơ đồ khối tổng quát 35

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

3.1.3 Lưu đồ thuật toán 36

3.1.4 Nạp code và chạy chương trình 37

3.2 Thiết kế mạch và thi công mạch điều khiển 40

3.2.1 Xác định mạch điều khiển 40

3.2.2 Giải pháp công nghệ 41

3.2.3 Giải pháp thiết kế 41

3.2.4 Yêu cầu của mạch điều khiển 41

3.2.5 Thi công mạch điều khiển 41

3.2.5.1 Kết nối phần cứng và nạp chương trình mạch điều khiển 41

3.2.5.2 Hoạt động của mạch điều khiển 44

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 46

TÀI LIỆU THAM KHẢO 47

Trang 7

DANH MỤC BẢNG

Bảng 1.1 Các thông số kĩ thuật của board ArduinoUno 7

Bảng 1.2 Sơ đồ nối dây 15

Bảng 1.3 Sơ đồ nối chân 18

Bảng 2.1 Thanh công cụ chuẩn 20

Bảng 2.2 Thanh linh kiện 21

Bảng 2.3 các chức năng trong vùng Toolbar 23

Bảng 2.4 Các toán tử so sánh 29

Bảng 2.5 Các toán tử logic 29

Trang 8

DANH MỤC HÌNH

Hình 1.1 Mẫu thử nghiệm ban đầu 3

Hình 1.2 Một số board Arduino thông dụng 5

Hình 1.3 Board Arduino Uno 6

Hình 1.4 Vi điều khiển ATMega328P của Arduino Uno 8

Hình 1.5 Sơ đồ chân của vi điều khiển ATMega328P 8

Hình 1.6 Các chân Digital của Arduino Uno 9

Hình 1.7 Các chân Analog của Arduino Uno 10

Hình 1.8 Các chân năng lượng của Arduino Uno 10

Hình 1.9 Robot dò line điều khiển qua điện thoại 12

Hình 1.10 Sử dụng bo mạch Arduino điều khiển bật đèn tiết kiệm năng lượng và hiển thị thông tin tốc độ gió, điện năng trong ắc quy 13

Hình 1.11 Module Wifi ESP8266 V1 13

Hình 1.12 Sơ đồ chân của Module Wifi Esp8266 V1 14

Hình 1.13 Sơ đồ nối chân của Arduino Uno với Module Wifi ESP8266 V1 15

Hình 1.14 Địa chỉ ID trên Thingspeak 16

Hình 1.15 Cài đặt IoT Server trên điện thoại 16

Hình 1.16 Thiết lập nhiệt độ và độ ẩm trên điện thoại 17

Hình 1.17 Cảm biến nhiệt độ và độ ẩm DHT11 17

Hình 1.18 Sơ đồ nối chân giữa Arduino Uno với cảm biến DHT11 18

Hình 2.1 Khung làm việc chung của phần mềm Proteus 20

Hình 2.2 Giao diện của Arduino IDE 22

Hình 2.3 Vùng Toolbar của Arduino IDE 23

Hình 2.4 Minh họa vùng viết chương trình 24

Hình 2.5 Minh họa các bước thực hiện một chương trình 25

Hình 2.6 Minh họa vùng thông báo 25

Hình 3.1 Sơ đồ khối tổng quát 35

Hình 3.3 Kết nối phần cứng của mạch điều khiển 42

Hình 3.4 Đèn trên Arduino mà module wifi Esp8266 sáng khi cấp nguồn 42

Hình 3.5 Kiểm tra lỗi của chương trình phát tín hiệu 43

Hình 3.6 Nạp chương trình xuống cho mạch điều khiển 43

Hình 3.7 Quá trình nạp thành công 44

Hình 3.8 Kết quả đo nhiệt độ, độ ẩm hiển thị trên máy tính 44

Hình 3.9 Kết quả đo nhiệt độ và độ ẩm được đưa lên thingSpeak 45

Hình 3.10 Kết quả nhiệt độ và độ ẩm hiển thị trên Smartphone 45

Trang 10

PHẦN I MỞ ĐẦU

1 Lý do chọn đề tài

Hiện nay cùng với sự phát triển của xã hội, cuộc sống ngày càng được nângcao thì việc áp dụng công nghệ khoa học kỹ thuật vào đời sống công việc càng cầnthiết hơn Cùng với sự phát triển của các ngành khoa học kỹ thuật, công nghệ kỹthuật điện tử mà trong đó đặc biệt là kỹ thuật điều khiển tự động đóng vai trò quantrọng trong mọi lĩnh vực đời sống như khoa học kỹ thuật, quản lý, công nghiêp,nông nghiệp, đời sống, quản lý thông tin

Trong thời kỳ phát triển hiện nay, điện thoại di động là một thiết bị không thểthiếu trong cuộc sống Ngoài chức năng nghe và nhận cuộc gọi, nhắn tin, xem phim,chơi game, chụp ảnh… điện thoại còn có khả năng giám sát và điều khiển thiết bị từkhoảng cách xa thông qua kết nối Internet/Wifi [13]

Từ nhu cầu thực tế cần có một thiết bị điều khiển, giám sát nhiệt độ độ ẩmtrong gia đình, phòng máy chủ, trung tâm dữ liệu, kho dữ liệu, tủ lạnh vắc xin, tủlạnh thực phẩm, trong nhà kính… bằng điện thoại di động, thông qua Module WifiEsp8266 Từ đó, có tính linh động cao, cập nhật các dữ liệu 24/24h nhằm tăng hiệuquả quản lý [13]

Bên cạnh đó cùng với sự xuất hiện của Arduino vào năm 2005 tại Italia đã gópphần không nhỏ cho nền kinh tế tự động hóa Sự xuất hiện của Arduino đã hỗ trợcho con người rất nhiều trong việc lập trình và thiết kế, nhất là đối với những ngườimớ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âusắc về vật lý và điện tử Phần cứng của thiết bị đã được tích hợp nhiều chức năng cơbản và mã nguồn mở Ngôn ngữ lập trình lại vô cùng dễ sử dụng và được chia sẻmiễn phí nên Arduino đang ngày càng phổ biến và được phát triển mạnh mẽ trêntoàn thế giới [1]

Xuất phát từ những lý do trên em chọn đề tài: “ĐIỀU KHIỂN THIẾT BỊ QUAMODULE WIFI ESP8266” làm đề tài khóa luận tốt nghiệp Trong quá trình thựchiện đề tài không tránh khỏi những thiếu sót, em rất mong nhận được sự góp ý củacác thầy cô và các bạn để đề tài được hoàn thiện hơn

Trang 11

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

Thiết kế mạch điều khiển thiết bị từ xa bằng điện thoại di động về nhiệt độ, độ

ẩm thông qua Module Wifi Essp8266

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

- Nghiên cứu về vi điều khiển Arduino, cảm biến nhiệt độ và độ ẩm DHT11,phần mềm mô phỏng proteus, ngôn ngữ C và môi trường phát triển tích hợpArduino IDE

- Nghiên cứu Module Wifi Esp8266, phần mềm Virtuino trên điện thoại

4 Phương pháp nghiên cứu

Trong đề tài này em đã sử dụng các phương pháp nghiên cứu:

- Phương pháp nghiên cứu lí thuyết: tìm hiểu khái niệm, cấu tạo, các thông số

kĩ thuật, sơ đồ nối chân giữa Arduino Uno với DHT11 và Esp8266 Tìm hiểu cách

sử dụng Apps Virtuino, proteus, ngôn ngữ C và Arduino IDE

- Phương pháp nghiên cứu thực nghiệm: thiết kế mạch điều khiển từ xa vềnhiệt độ và độ ẩm trên điện thoại di động thông qua Module Wifi Esp8266

5 Đối tượng nghiên cứu

Vi điều khiển Arduino Uno, Module Wifi Esp8266 và cảm biến nhiệt độ và độ

ẩm DHT11

6 Phạm vi nghiên cứu

Điều khiển thiết bị nhiệt độ, độ ẩm từ xa bằng điện thoại di dộng thông quaModule Wifi Esp8266

7 Cấu trúc khóa luận

Ngoài phần mở đầu, kết luận, hướng phát triển và tài liệu tham khảo Khóaluận còn có phần nội dung được chia làm 3 chương

Chương 1 Tổng quan

Chương 2 Mô phỏng và lập trình cho Arduino

Chương 3 Thiết kế, lập trình và lắp đặt mạch điều khiển từ xa về nhiệt độ, độ

ẩm trên điện thoại di động thông qua Module Wifi Esp8266

Trang 12

PHẦN II NỘI DUNG CHƯƠNG 1 TỔNG QUAN

1.1 Giới thiệu vi điều khiển Arduino Uno

1.1.1 Lịch sử hình thành Arduino

Arduino có một lịch sử ra đời rất thú vị Mới đầu Arduino được tạo ra để giảiquyết bài toán: làm thế nào để sinh viên có thể tạo ra được một thiết bị điện tử mộtcách nhanh chóng Vào năm 2002, Massimo Banzi, một giáo sư phần mềm đã đượcđưa về IDII (Interaction Design Institute Ivrea – Viện thiết kế tương tác Ivrea) đểthúc đẩy một lĩnh vực còn non trẻ gọi là “máy tính vật lí” với một ngân sách hạnhẹp, thời gian hạn chế và rất ít các công cụ [1]

Vào thời điểm đó, sinh viên sử dụng Stamp BASIC, một vi điều khiển đượctạo ra bởi công ti California Parallax Sử dụng ngôn ngữ lập trình BASIC, Stampgiống như một bo mạch nhỏ gọn gàng, gồm các yếu tố cần thiết như nguồn cungcấp năng lượng, một vi điều khiển, bộ nhớ và cổng vào – ra để nối với các phầncứng khác

Banzi phát hiện ra hai vấn đề ở Stamp BASIC [1]:

 Không có đủ khả năng xử lý cho một số dự án của sinh viên

 Có giá khoảng 100 USD khá cao so với sinh viên

Mẫu thử nghiệm ban đầu được thực hiện vào năm 2005, là một thiết kế đơngiản và chưa được gọi Arduino Massimo Banzi sử dụng cái tên Arduino vào mộtnăm sau đó

Hình 1.1 Mẫu thử nghiệm ban đầu [1]

Trang 13

1.1.2 Tổng quan về Arduino

1.1.2.1 Định nghĩa về vi điều khiển Arduino

Arduino 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 [2]

Đặc điểm nổi bật của Arduino là môi trường phát triển ứng dụng rất dễ dàng

sử dụng, với một ngôn ngữ lập trình có thể học một cách nhanh chóng Một điềulàm cho Arduino phổ biến nhanh chóng 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

Arduino là một nền tảng thiết bị điện tử mã nguồn mở được sử dụng để xâydựng các ứng dụng điện tử Arduino gồm có board mạch có thể lập trình được(thường gọi là vi điều khiển) và các phần mềm hỗ trợ phát triển tích hợp IDE(Integrated Development Environment) dùng để soạn thảo, biên dịch code và nạpchương trình cho board [2]

Một hệ thống Arduino có thể có rất nhiều sự tương tác với các thiết bị khác, đó

là các hệ thống cảm biến đa dạng về chủng loại (đo đạc nhiệt độ, độ ẩm, vận tốc,màu sắc vật thể, ), các thiết bị hiển thị (màn hình LCD, đèn LED, ), các modulechức năng hỗ trợ kết nối có dây với các thiết bị khác hoặc các kết nối không dâythông dụng (3G, Wifi, Bluetooth, ) và cả định vị GPS, nhắn tin SMS

Như vậy, tuy chỉ là một board mạch nhỏ nhưng Arduino có thể dùng vào rấtnhiều ứng dụng khác nhau, chỉ cần một phần mềm Arduino IDE, một kết nối USB

và một board mạch Arduino, ta có thể phát triển các ứng dụng trên board

Về mặt chức năng, các board mạch Arduino được chia làm hai loại: loại boardmạch chính có chip ATMega và loại mở rộng thêm các chức năng cho board mạchchính (thường được gọi là Shield) [2]

Arduino từ khi ra đời là một thứ cực kì phức tạp gồm rất nhiều linh kiện, bóngđèn LED, cổng kết nối,… nay đã trở thành một mạch nhỏ gọn trong lòng bàn tay vớicác kết nối phổ biến và sự tiện lợi trong việc điều khiển thiết bị Hiện nay, Arduinođược rất nhiều hãng điện tử trên thế giới nghiên cứu và chế tạo Arduino cũng có rấtnhiều loại và có nhiều kích thước khác nhau

Trang 14

1.1.2.2 Một số board Arduino

Hình 1.2 Một số board Arduino thông dụng [1]

Các board Arduino và Arduino – compatible sử dụng các shield – các boardmạch in mở rộng được dùng bằng cách cắm vào các chân header của Arduino Cácshield có thể là module điều khiển động cơ, GPS, Ethernet, LCD hoặc có thể làbreadboard

1.1.3 Giới thiệu về Board Arduino Uno

Arduino có rất nhiều phiên bản với các chức năng và mục đích khác nhau.Trong đó, Arduino Uno là một trong những phiên bản được ứng dụng rộng rãi nhấtbởi chi phí và tính linh động của nó Hiện dòng này đã được phát triển tới thế hệ thứ

3 (R3) [3]

1.1.3.1 Cấu tạo chung

Có rất nhiều thành phần cấu tạo nên một board Arduino Uno, nhưng để dễdàng hiểu rõ và sử dụng Arduino Uno đúng cách, đầu tiên ta quan tâm đến cácthành phần được đánh số trên hình 1.3

Trang 15

Hình 1.3 Board Arduino Uno [3]

1 Cổng USB là cổng giao tiếp để nạp chương trình điều khiển từ máy vi tính

lên vi điều khiển Đồng thời nó cũng là giao tiếp nối tiếp để truyền dữ liệu giữa viđiều khiển với máy tính [3]

2 Jack nguồn để cung cấp nguồn từ 9V đến 12V lấy năng lượng trực tiếp từ

pin hoặc Ắc – quy trong trường hợp không thể lấy nguồn từ cổng USB như đã nói ởtrên [3]

3 Hàng chân thứ nhất được đánh số từ 0 đến 13 là các chân Digital, nhận

vào hoặc xuất ra các tín hiệu số Ngoài ra có một chân đất (GND) và chân điện áptham chiếu (AREF) [3]

4 Hàng chân thứ hai là các chân năng lượng, chủ yếu liên quan đến điện áp

đất, nguồn [3]

5 Hàng chân thứ ba là các chân Analog được kí hiệu từ A0 đến A5 để nhận

vào hoặc xuất ra các tín hiệu tương tự (ví dụ như đọc thông tin của các thiết bị cảmbiến) [3]

6 Vi điều khiển là bộ xử lí trung tâm của toàn board mạch Với mỗi mẫu

Arduino khác nhau thì con vi điều khiển này khác nhau Ở board Arduino Uno này

sử dụng ATMega328P [3]

Trang 16

Ngoài ra trên board còn có một nút Reset để đặt lại chương trình đang chạy Đôikhi chương trình đang chạy gặp lỗi, người dùng có thể Reset lại chương trình [3].

1.1.3.2 Các thông số kĩ thuật của Arduino Uno

Bảng 1.1 Các thông số kĩ thuật của board ArduinoUno [3]

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

Điện áp hoạt động 5V-DC (chỉ được cấp qua cổng USB)Điện áp vào khuyên dùng 7-12V DC

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

Số chân Digital vào/ra 14 (có 6 chân điều chế độ xung PWM)

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

Dòng ra tối đa trên mỗi chân vào/ra 30mA

Dòng ra tối đa (5V) 500mA

Dòng ra tối đa (3.3V) 50mA

Flash Memory 32 KB (ATMega328P) với 0.5KB được

từ cảm biến, xử lí dữ liệu và xuất ra, xử lí tín hiệu cho đèn điều khiển từ xa,

Arduino Uno có thể sử dụng 3 vi điều khiển họ 8 bit AVR là ATMega8,ATMega168, ATMega328 Với vi điều khiển ATMega328 sử dụng thạch anh có chu

kì dao động 16MHz [3]

Hình 1.4 Vi điều khiển ATMega328P của Arduino Uno [3]

Sơ đồ chân của vi điều khiển ATMega328P

Trang 17

Hình 1.5 Sơ đồ chân của vi điều khiển ATMega328P [3]

1.1.3.4 Bộ nhớ

Vi điều khiển ATMega328P tiêu chuẩn có ba loại bộ nhớ với dung lượngtương ứng là 32KB cho bộ nhớ Flash, 2KB cho SRAM và 1KB cho EEPROM

* Flash Memory là bộ nhớ có thể ghi được, dữ liệu không bị mất ngay cả khi

ngắt điện Về vai trò, ta có thể hình dung bộ nhớ này như ổ cứng để chứa dữ liệutrên board Chương trình viết cho Arduino sẽ được lưu ở đây Kích thước của vùngnhớ này thông thường dựa vào vi điều khiển được sử dụng Loại bộ nhớ này có thểchịu được khoảng 10.000 lần ghi/xóa [3]

* SRAM (Static Random Access Memory) tương tự như RAM của máy tính,

bộ nhớ này sẽ bị mất dữ liệu khi ngắt điện nhưng bù lại tốc độ đọc ghi/xóa rấtnhanh Kích thưởng nhỏ hơn Flash Memory nhiều lần [3]

* EEPROM (Electrically Eraseble Programmable Read Only Memory) là một

dạng bộ nhớ như Flash Memory nhưng có chu kì ghi/xóa cao hơn (khoảng 100.000lần) và có kích thước rất nhỏ Để đọc/ghi dữ liệu, ta có thể dùng thư viện EEPROMcủa Arduino [3]

Trang 18

1.1.3.5 Đặc điểm và chức năng các chân của Arduino Uno

1.1.3.5.1 Các cổng vào và ra

Arduino Uno có tổng cộng 14 chân (pin) Digital dùng để đọc hoặc xuất tínhiệu số được đánh số từ 0 đến 13 như trên hình 1.6 Chúng chỉ có hai mức điện áp

là 0V và 5V với dòng điện vào/ra tối đa trên mỗi chân là 40mA [3]

Hình 1.6 Các chân Digital của Arduino Uno [3]

Các chức năng đặc biệt của một số chân Digital [3]:

+ 2 chân nối tiếp 0 (RX) và 1 (TX) dùng để gửi (transmit – TX) và để nhận(receive – RX) dữ liệu Arduino Uno có thể giao tiếp với các thiết bị khác thông quahai chân này Kết nối Bluetooth thường thấy chính là kết nối nối tiếp không dây.Nếu không sử dụng giao thức này, không nên sử dụng hai chân RX và TX nếukhông cần thiết

+ 6 chân PWM (Pulse Width Modulation) hay chân có khả năng điều chế độrộng xung, gồm có 3, 5, 6, 9, 10 và 11 được đánh dấu ~ trước mã số chân, cho phépxuất ra xung PWM với độ phân giải 8 bit bằng hàm analogWrite ( ) Một cách đơngiản, ta có thể điều chỉnh chế độ điện áp đầu ra ở các chân này từ mức 0V đến 5Vthay vì cố định ở mức 0V và 5V như các chân khác

+ Chân giao tiếp SPI là 10 (SS), 11 (MOSI), 12 (MOSI), 13 (SCK) Ngoài cácchưc năng thông thường, 4 chân này còn được dùng để truyền phát dữ liệu bằnggiao thức SPI với các thiết bị khác

+ LED 13 có màu da cam được kí hiệu bằng chữ L trên Arduino Uno Khibấm nút Reset, đèn này sẽ nhấp nháy để báo hiệu Nó được nối với chân số 13 Khichân này được sử dụng thì đèn LED sẽ sáng

Arduino Uno còn có thêm 6 chân Analog nhận kí hiệu tương tự được kí hiệu

từ A0 đến A5 như trên hình 1.7 Các chân này cung cấp độ phân giải 10 bit để đọc

Trang 19

giá trị điện áp trong khoảng 0V đến 5V Với chân AREF trên board, có thể đưa vàođiện áp tham chiếu khi sử dụng các chân Analog Tức là nếu ta cấp điện áp 2.5Vvào các chân này thì có thể dùng các chân Analog để đo điện áp trong khoảng từ 0Vđến 5V với độ phân giải là 10 bit.

Hình 1.7 Các chân Analog của Arduino Uno [3]

1.1.3.5.2 Các chân cấp nguồn

Các chân này dùng để cấp nguồn cho các thiết bị bên ngoài như Relay, cảmbiến, động cơ, gồm có các chân GND (chân nối đất, chân âm), chân 5V, chân 3.3Vnhư được thể hiện trên hình 1.8 Nhờ những chân này mà người dùng không cầnthiết bị biến đổi điện khi cấp nguồn cho thiết bị Ngoài ra còn có các chân Vin, chânReset và chân IOREF nhưng các chân này ít khi được sử dụng

Hình 1.8 Các chân năng lượng của Arduino Uno [3]

Arduino sử dụng cáp USB để giao tiếp với máy tính Thông qua cáp USBchúng ta có thể Upload chương trình cho Arduino hoạt động, ngoài ra USB còn lànguồn cho Arduino

Khi không sử dụng USB làm nguồn thì chúng ta có thể sử dụng nguồn ngoàithông qua jack cắm 2.1 mm (cực dương ở giữa) hoặc có thể sử dụng 2 chân Vin vàGND để cấp nguồn cho Arduino

Bo mạch hoạt động với nguồn ngoài ở điện áp từ 5V đến 20V Ta có thể cấpmột áp lớn hơn, tuy nhiên chân 5V sẽ có mức điện áp lớn hơn 5V và nếu sử dụng

Trang 20

nguồn lớn hơn 12V thì dễ gây ra hiện tượng nóng và làm hỏng bo mạch Vì vậy, nêndùng nguồn ổn định từ 5V đến 12V.

Chân 5V và chân 3.3V (output voltage): các chân này dùng để lấy nguồn ra từnguồn mà chúng ta đã cấp cho Arduino Đặc biệt không được cấp vào các chân này

+ IOREF là chân có thể dùng để đo điện áp hoạt động của vi điều khiển trênArduino Uno (luôn là 5V) Mặc dù vậy, không được lấy nguồn 5V từ chân này để

sử dụng bởi chức năng của nó không phải là cấp nguồn [3]

+ RESET: việc nhấn nút RESET trên board để reset vi điều khiển tương đươngvới việc chân RESET được nối với GND qua một điện trở 10k [3]

1.1.3.6 Ứng dụng của Arduino

Arduino ra đời nhằm phục vụ mục đích cho điều khiển điện tử nói chung.Trong đó mảng điều khiển cơ điện tử cũng khá thông dụng với Arduino

* Ứng dụng nền tảng của Arduino trong đồ án tốt nghiệp của sinh viên trường

Đại học Bà Rịa Vũng Tàu – Viện CNTT – điện – điện tử Đề tài: “Robot dò line điều khiển qua điện thoại” [4].

Robot dò line với những kết cấu cơ khí đơn giản nhưng lại có thể kết hợpđược với khá nhiều thành phần điện tử (encoder, sensor xác định đường line, sensor

đo khoảng cách )

Nguyên lí tổng quát của toàn mạch bao gồm các bộ phận kết nối với nhau gồmcó: Module L298N, Module bluetooth HC05, Arduino Nano, màn hình LCD 16x2,cảm biến sensor của mạch Mạch cảm biến dò line gồm có 6 led để soi đường và 6cảm biến quang dùng để cảm biến và phát tính hiệu đến Arduino Nano điều khiểnRobot Đây là một phần quan trọng của Robot, nhờ có nó mà Robot có thẻ dichuyển theo đường line và có thể hoạt động một cách ổn định nhất Những Robotnày rất phù hợp với sinh viên học tập và nghiên cứu về ngành tự động hóa cũng yêuthích kĩ thuật điện tử một cách cụ thể

Trang 21

Hình 1.9 Robot dò line điều khiển qua điện thoại [4]

* Đồ án “Sử dụng bo mạch Arduino điều khiển bật đèn tiết kiệm năng lượng

và hiển thị thông tin tốc độ gió, điện năng trong ắc quy” của sinh viên khoa Công nghệ Cơ khí – Đại học Điện lực [5].

Sử dụng bo mạch Arduino Mega 2560 để điều khiển toàn bộ phần điện tử Tínhiệu từ cảm biến ánh sáng được truyền vào bo mạch Arduino Thông qua thuật toán

xử lí chống nhiễu, hệ thống biết được thời điểm nào là phù hợp để quyết định bậtđèn và tắt đèn, giúp tiết kiệm năng lượng một cách thông minh Ngoài ra, bo mạchArduino còn nhận các điện áp từ ắc quy, các tín hiệu về vận tốc gió từ encoder gắntrên trục turbine và xuất tín hiệu ra bảng led 7 thanh để hiển thị tức thời vận tốc giócũng như điện năng dự trữ còn trong ắc quy

Trang 22

Hình 1.10 Sử dụng bo mạch Arduino điều khiển bật đèn tiết kiệm năng lượng

và hiển thị thông tin tốc độ gió, điện năng trong ắc quy [5]

Việc sử dụng bo mạch sẵn Arduino trong đồ án này đảm bảo phần vi điềukhiển hoạt động ổn định, không bị ảnh hưởng bởi sự chấn động rung lắc cơ học dogió gây nên

1.2 Giới thiệu Module Wifi ESP8266

1.2.1 Giới thiệu về Module Wifi ESP8266 V1

Mạch thu phát wifi ESP8266 V1 sử dụng IC wifi SoC ESP8266 của hãngEspressif, được sử dụng để kết nối với vi điều khiển thực hiện chức năng truyền dữliệu qua Wifi, mạch có thiết kế nhỏ gọn, sử dụng giao tiếp UART với bộ thư viện vàcode mẫu rất nhiều từ cộng đồng Module Wifi Esp8266 V1 được sử dụng trong cácứng dụng IoT và điều khiển thiết bị qua wifi, [6]

Hình 1.11 Module Wifi ESP8266 V1 [6]

1.2.2 Thông số kỹ thuật [6]

 Điện áp sử dụng: 3.3VDC

 Điện áp giao tiếp: 3.3VDC

 Dòng tiêu thụ: Max 320mA (nên sử dụng module cấp nguồn riêng cho mạch)

 Hỗ trợ chuẩn 802.11 b/g/n

 Wifi 2.4 GHz, hỗ trợ các chuẩn bảo mật như: OPEN, WEP, WPA_PSK,WPA2_PSK, WPA_WPA2_PSK

 Hỗ trợ cả hai giao tiếp TCP và UDP

 Chuẩn giao tiếp UART với Firmware hỗ trợ bộ tập lệnh AT Command, tốc

độ Baudrate mặc định 9600 hoặc 115200

 Kích thước: 24.8 x 14.3 mm

Trang 23

1.2.3 Chân kết nối của Module Wifi Esp8266 V1

Hình 1.12 Sơ đồ chân của Module Wifi Esp8266 V1 [6]

 Chức năng các chân của Module Wifi Esp8266 V1 [6]

1 VCC: 3.3V, dòng có thể lên 300mA vì thế cần mạch nguồn riêng ams11175V -> 3.3V

2 GND: 0V

3 Tx: chân Tx của giao thức UART, kết nối đến chân Rx của vi điều khiển

4 Rx: chân Rx của giao thức UART, kết nối đến chân Tx của vi điều khiển

5 RST: chân reset, kéo xuống mass để reset

6 CH_PD: chân này nếu được kéo lên mức cao module sẽ bắt đầu thu phátwifi, kéo xuống mức thấp module dừng phát wifi Vì ESP8266 khởi động hút dònglớn nên chúng ta giữ chân này ở mức 0V khi khởi động hệ thống của mình, sau 2shãy kéo chân CH_PD lên 3.3V, để đảm bảo module hoạt động ổn định

7 GPIO0: kéo xuống thấp cho chế độ upgrade firmware

8 GPIO2: không sử dụng

1.2.4 Giao tiếp của module wifi ESP8266 với Arduino Uno

Sơ đồ nối dây giữa Arduino với Module Wifi Esp8266 V1 như sau

Bảng 1.2 Sơ đồ nối dây [8]

Arduino Uno ESP8266

3.3V Vcc và CH_PD

Trang 24

Hình 1.13 Sơ đồ nối chân của Arduino Uno với Module Wifi ESP8266 V1 1.3 Giới thiệu về Apps Virtuino trên Android

- Download phần mềm Virtuino trên trang CH Play

- Tiếp theo, bạn cần đăng kí Channel ID trên Thingspeak để lấy địa chỉ ID

Hình 1.14 Địa chỉ ID trên Thingspeak

- Mở phần mềm Virtuino trên điện thoại và tiến hành cài đặt IoT Server theocác bước nhập địa chỉ Channels ID, Read Key và Write Key như hình sau:

Trang 25

Hình 1.15 Cài đặt IoT Server trên điện thoại

Tiếp theo, tiến hành lấy ra các thiết bị cần thiết để tiến hành đo nhiệt độ và độ

ẩm như hình 1.16:

Trang 26

Hình 1.16 Thiết lập nhiệt độ và độ ẩm trên điện thoại 1.4 Cảm biến nhiệt độ và độ ẩm DHT11

1.4.1 Giới thiệu chung

Hình 1.17 Cảm biến nhiệt độ và độ ẩm DHT11 [7]

Cảm biến nhiệt độ và độ ẩm DHT11 là cảm biến rất thông dụng hiện nay vìchi phí rẻ và rất dễ lấy dữ liệu thông qua giao tiếp 1 wire (giao tiếp digital 1 dâytruyền dữ liệu duy nhất) Bộ tiền xử lí tín hiệu tích hợp trong cảm biến giúp bạn cóđược dữ liệu chính xác mà không phải qua bất kì tính toán nào [7]

Tuy nhiên, sư dụng cảm biến trong môi trường độ ẩm thuần là hơi nước, cácmôi trường đặc biệt ủ kín như ủ tỏi đen, ủ yếm khí sẽ sinh ra nấm và vi khuẩnbám lên bề mặt cảm biến làm hư hỏng cảm biến

1.4.2 Thông số kĩ thuật [7]

 Nguồn: 3V đến 5V DC

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

 Đo tốt ở độ ẩm 2080 %RH với sai số 5%

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

 Kích thước 15mm x 12mm x 5.5mm

 3 chân, khoảng cách chân 0.1”

1.4.3 Giao tiếp giữa DHT11 với Arduino Uno

Bảng 1.3 Sơ đồ nối chân [7]

STT Arduino Uno DHT11

Trang 27

Hình 1.18 Sơ đồ nối chân giữa Arduino Uno với cảm biến DHT11

Ngày đăng: 16/10/2018, 07:58

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w