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

Điều khiển và giám sát thiết bị điện bằng phần mềm visual basic và webserver thông qua arduino và node mcu v3

83 125 2

Đ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 83
Dung lượng 3,25 MB

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

Nội dung

Để giám sát được ngôi nhà cũng như sử dụng các chức năng, tiện ích của ngôi nhà 24/24 hay điều khiển từ xa, chúng ta cần phải có một phương tiện giám sát hiệu quả hơn, thông minh hơn.Do

Trang 1

KHOA CÔNG NGHỆ ĐIỆN

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

ĐỀ TÀI: ĐIỀU KHIỂN VÀ GIÁM SÁT THIẾT BỊ ĐIỆN BẰNG PHẦN MỀM VISUAL BASIC VÀ

WEBSERVER THÔNG QUA ARDUINO VÀ NODE MCU V3

Trang 2

Ngày nay cùng với sự phát triển và lên ngôi của nền công nghiệp 4.0 qua đó các ngành khoa học kĩ thuật, công nghệ kĩ thuật điện, điện tử cũng đóng một vai trò hết sức quan trọng trong mọi lĩnh vực khoa học kỹ thuật, quản lí, công nghiệp, cung cấp thông tin,… Dó

đó là sinh viên chuyên ngành Điều Khiển Tự Động, chúng ta phải biết nắm bắt và vận dụng công nghệ 4.0 một cách hiệu quả nhằm góp phần vào sự phát triển của nền khoa học kỹ thuật thế giới nói chung và trong sự phát triển kỹ thuật điện, điện tử nói riêng Bên cạnh còn

là sự thúc đẩy sự phát triển của nền kinh tế nước nhà

Như chúng ta đã biết nhu cầu về cuộc sống ngày càng được nâng cao nên nhu cầu về

sự tiện nghi trong ngôi nhà ở cũng không nằm ngoài xu thế đó Nắm bắt được nhu cầu đó cùng với sự phát triển của công nghệ kĩ thuật điện, điện tử đã cho ra đời nhiều giải pháp mang tính đột phá, có tính sáng tạo cao nhằm đáp ứng được thị yếu của người dân Các thiết

bị trong nhà ở được điều khiển một cách tự động cũng như giám sát từ xa sẽ đem lại cuộc sống thoải mái cho mọi thành viên trong gia đình

Để giám sát được ngôi nhà cũng như sử dụng các chức năng, tiện ích của ngôi nhà 24/24 hay điều khiển từ xa, chúng ta cần phải có một phương tiện giám sát hiệu quả hơn, thông minh

hơn.Do đó nhóm chúng em chọn đề tài “ Điều khiển và giám sát thiết bị điện bằng phần

mềm Visual Basic & Webserver thông qua ARDUNIO VÀ NODE MCU V3” làm đề tài

tốt nghiệp của mình

TP.HCM, Ngày … tháng … năm 2019

Nhóm sinh viên

Trang 3

1 Họ và tên sinh viên/nhóm sinh viên được giao đề tài:

4 Kết quả:

Thông qua mạng internet bằng Webserver và VB6, ta đạt được những kết quả sau:

Sinh viên

Trang 4

viên hướng dẫn

Trang 5

CHƯƠNG 1 : TỔNG QUAN VỀ ĐỀ TÀI 6

1.1 Vai trò và ứng dụng của Arduino hiện nay 3

1.1.1 Tổng quan về Arduino 3

1.1.2 Ứng dụng Arduino trong thực tế 4

1.2 Lý do chọn đề tài 5

1.3 Mục đích của đề tài 6

1.4 Mục tiêu và phạm vi nghiên cứu 6

CHƯƠNG 2:GIỚI THIỆU TỔNG QUAN HỆ THỐNG 8

2.1 Giới thiệu về board Arduino 8

2 1.1 Cấu tạo phần cứng 8

2.1.2 Các loại board mạch Arduino 9

2.2 Giới thiệu Phần mềm Arduino IDE 11

2.2.1 Giới thiệu về IDE 11

2.2.2 Giao diện làm việc 12

2.2.3 Cá c hàm và lệnh cơ bản 13

2.3 Tổng quan về Esp8266 Nodemcu Lua V3 CH340 16

2.3.1.Giới thiệu 16

2.3.2 Th ông số kĩ thuật nodemcu Lua V3 CH340 17

2.13 Hình ảnh Kit Wifi ESP8266 NodeMCU 17

2.4.Tổng quan về webserver 17

2.4.1G iới thiệu về webserver 17

2.14 Hình ảnh minh họa Webserve 18

2.4.2 Cách tạo webserver trên ardunio 19

2.15Hình ảnh khi mở chương trình Ardunio IDE 19

2.16 Hình ảnh khi mở chương trình Ardunio IDE 20

2.17 Hình ảnh Boards Manager 20

2.18 Hình ảnh Boards Manager 21

2.5 Tổng quan về VB6 21

Trang 6

2.19 Hình ảnh VB6 21

2.5.2 Các thành phần chính ViSual Basic 22

2.5.3 Cơ sở lập trình 25

CHƯƠNG 3: THIẾT KẾ MÔ PHỎNG HỆ THỐNG SMART HOME 30

3.1 Sơ đồ khối tổng quát của hệ thống 30

3.2 Các khối cảm biến 30

3.2.1 Cảm biến chuyển động PIR 30

3.2.2 Cảm biến nhiệt độ - độ ẩm DHT11 31

3.2.3 Cảm biến ánh sáng CDS 32

3.2.4 Cảm biến phát hiện khí Gas 33

3.2.5 Quạt tản nhiệt 34

CHƯƠNG 4: LẬP TRÌNH CHO HỆ THỐNG 35

4.1 Lưu đồ giải thuật tổng quát 35

4.2 Lưu đồ giải thuật chi tiết 36

4.2 Lưu đồ giải thuật chi tiết 37

4 3 Code lập trình 38

4.3.1 Code lập trình cho Arduino Uno 38

4.3.2 Code lập trình cho ESP8266 44

4.3.3 Code lập trình cho Visual Basic 60

4 Điều khiển thiết bị từ xa bằng natport mordem wifi 65

4.3 Danh sách sơ đồ chân đấu nối của thiết bị với Arduino 68

CHƯƠNG 5 69

KẾT QUẢ THỰC TẾ - HƯỚNG PHÁT TRIỂN ĐỀ TÀI 69

5.1 Kết quả nghiên cứu 69

5.1.1 Mô hình thực tế 69

5.2 Nhận xét và đánh giá 71

5.2.1 Nh ận xét 71

5.3 Hướng phát triển đồ án 72

TÀI LIỆU THAM KHẢO 73

Trang 7

Hình 1.1: Máy in 3D 4

Hình 1.2: Thiết bị máy bay không người lái 4

Hình 1.3: Ardiuno điều khiển nhà bẳng smart phone 5

Hình 2.1 : Board Arduino UNO 9

Hình 2.2: Board Arduino Micro 9

Hình 2.3: Board Arduino Nano 10

Hình 2.4: Board Arduino Mega 11

Hình 2.5: Board Arduino Ethernet 11

Hình 2.6: Giao diện làm việc IDE 12

Hình 2.7: Nút lệnh trên IDE 12

Hình 2.8: Thông báo lỗi trên IDE 13

Hình 2.9: Ví dụ về lệnh void setup() 14

Hình 2.10: Ví dụ về lệnh void loop() 14

Hình 2.11: Hình ảnh minh họa về Esp8266 16

Hình 2.12: Hình ảnh Kit Node Mcu 16

Hình 2.13: Sơ đồ chân Node Mcu 16

Hình 2.14: Hình ảnh minh họa Webserver 18

Hình 2.15: Hình ảnh mở chương trình Ardunio 19

Hình 2.16: Cài thư viện Esp 8266 19

Hình 2.17: Hình ảnh boards Manager 20

Hình 2.19: Hình ảnh VB6 21

Hình 2.20: Hình ảnh IDE của VB6 22

Hình 2.21: Hình ảnh Menu Bar 23

Hình 2.22: Hình ảnh Toolbars 24

Hình 2.23: Hình ảnh Toobox 25

Hình 2.24: Hình ảnh Form 25

Hình 2.25: Hình ảnh View form button 26

Hình 3.1: Sơ đồ khối tổng quát của hệ thống 31

Hình 3.2: Cảm biến chuyển động PIR 32

Trang 8

Hình 3.4: Cảm biến ánh sáng CDS 34

Hình 3.5: Cảm biến khí GAS 35

Hình 3.6: Quạt 36

Hình 3.7: Buzzer 37

Hình 4.1: Lưu đồ giải thuật tổng quát 37

Hình 4.2: Lưu đồ giải thuật chi tiết điều khiển 38

Hình 4.3: Lưu đồ giải thuật chi tiết giám sát 39

Hình 4.4: Ảnh code Ardunio 40

Hình 4.5: Ảnh code Esp 46

Hình 4.6: Ảnh code VB6 62

Hình 5.1: Mô hình hoàn chỉnh 71

Trang 9

Hình 3.13: Động cơ Servo và DC 26

Hình 3.14: Mô hình mặt bằng nhà 26

Hình 3.15: Vị trí các thiết bị điều khiển trong nhà 27

Hình 3.16: Bố trí cảm biến trên bản vẽ 28

Hình 3.17: Kí hiệu của thiết bị và cảm biến trên bảng vẽ 29

Hình 4.1: Lưu đồ giải thuật tổng quát 30

Hình 4.2: Sơ đồ điều khiển bằng internet 31

Hình 4.3: Lưu đồ giải thuật điều khiển thiết bị bằng cảm biến 31

Hình 4.4: Tải phần mềm Blynk trên CH play 48

Hình 4.6: Tạo project trên Blynk 49

Hình 4.5: Tải phần mềm Blynk trên CH play 49

Hình 4.7: Thông báo nhận mã từ mail 50

Hình 4.8: Giao diện project mẫu 50

Hình 4.9: Giao diện sử dụng và nạp energy 51

Hình 4.10: Tải IFTTT qua CH play 52

Hình 4.11: Tạo tài khoản trên IFTTT 52

Hình 4.12: Tạo my applets 53

Hình 4.13: Giao diện làm việc trên IFTTT 53

Hình 4.14: Kết nối với Google Assistant 54

Hình 4.15: Ví dụ lập trình điều khiển Relay 54

Hình 4.16: Lập trình cho phần mềm để kết nối với Google Assistant 55

Hình 4.17: Lập trình Webhooks 55

Hình 4.18: Giao diện sau khi lập trình 56

Hình 5.1: Mô hình hoàn chỉnh 58

Hình 5.1: Mô hình hoàn chỉnh 59

Hình 5.2: Vị trí cảm biến nhiệt độ - độ ẩm 59

Hình 5.3: Vị trí cảm biến quang trở 59

Hình 5.4: Vị trí cảm biến chuyển động 60

Trang 10

Hình 5.6: Vị trí module RFID và động cơ 61

Hình 5.7: Vị trí cảm biến hồng ngoại 61

Hình 5.8: Vị trí cảm biến khí gas và còi báo 62

Hình 5.9: Vị trí rèm cửa 62

Hình 5.11: Board mạch xử lý trung tâm 63

Hình 5.10: Vị trí các thiết bị đóng cắt và dimmer 63

Trang 13

CHƯƠNG 1 : TỔNG QUAN VỀ ĐỀ TÀI

1.1 Vai trò và ứng dụng của Arduino hiện nay

1.1.1 Tổng quan về Arduino

điện, điện tử Arduino gồm có board mạch có thể lập trình được (vi điều khiển) và phần mềm hỗ trợ IDE (Integrated Development Environment) dùng để soạn thảo, biên dịch code và nạp chương trình cho board (code được viết với ngôn ngữ C+)

lập trình vì nó đơn giản, hiệu quả và dễ tiếp cận Không giống như các loại vi điều khiển khác, Arduino không cần phải có các công cụ chuyên biệt để phục vụ việc nạp code, ví

dụ để nạp code cho PIC cần phải có Pic Kit hay nạp chương trình cho hệ KNX cần có USB interface Đối với Arduino rất đơn giản, ta có thể kết nối với máy tính bằng cáp USB

tự chế ra sản phẩm của mình) trong thế giới trong vài năm gần đây qua đó thúc đẩy nền công nghiệp 4.0 phát triển mạnh mẽ và công nghệ IOT (Internet of Things) ra đời

nước Ý và được đặt tên thoe một vị vua vào thế kỉ thứ 9 là King Arduin Arduino chính thức được đưa ra giới thiệu vào năm 2005 như 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 Instistute Ivrea (IDII) Mặc dù hầu như không được tiếp thị gì cả, tin tức về Arduino vẫn lan truyề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ười dùng đầu tiên

Trang 14

Khóa luận tốt nghiệp Trịnh Hữu Trường_Đặng Hoài Anh

1.1.2 Ứng dụng Arduino trong thực tế

Máy in 3d

Một cuộc cách mạng khác cũng đang âm thầm định hình nhờ vào Arduino, đó là sự phát triển máy in 3D nguồn mở Reprap Máy in 3D là công cụ giúp tạo ra các vật thể thực trực tiếp từ các file CAD 3D Công nghệ này hứa hẹn nhiều ứng dụng rất thú vị trong đó có cách mạng hóa việc sản xuất cá nhân

Hình 1.1: Máy in 3D

Thiết bị bay không người lái UAV

UAV là một ứng dụng đặc biệt thích hợp với Arduino do chúng có khả năng xử lý nhiều loại cảm biến như Gyro, accelerometer, GPS…; điều khiển động cơ servo và cả khả năng truyền tín hiệu từ xa

Hình 1.2: Thiết bị máy bay không người lái

Trang 15

Điều khiển nhà thông minh (smart home)

Kết hợp với các module chức năng Bluetooth hoặc wifi… , với các ứng dụng cài trên máy tính bảng, smart phone hay trình duyệt web người dùng có thể thiết kế hệ thống điều khiển giám sát thông minh các thiết bị điện trong ngôi nhà của mình khi ở trong nhà hoặc từ bất cứ nơi nào ( được kết nối internet)

Hình 1.3: Ardiuno điều khiển nhà bẳng smart phone và tablet

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

thuật cơ khí hiện đại, kỹ thuật điều khiển và kỹ thuật máy tính vào việc vận hành, điều khiển các quy trình sản xuất, và ngay cả các hoạt đông sinh hoạt hằng ngày tại nhà

Ngày nay, khi nhu cầu và thị hiếu con người ngày càng cao, yêu cầu về số lượng và chất lượng của các sản phẩm xã hộ cũng không ngừng tăng, điều đó đòi hỏi các dây chuyền sản xuất trong công nghiệp ngày càng hiện đại, có mức độ tự động hóa ngày càng cao với việc sử dụng các kỹ thuật điều khiển hiện đại có trợ giúp từ công nghệ, máy tính Hệ thống điều khiển

và tự động hóa có mặt trong mọi dây chuyền sản xuất của các ngành kinh tế khác nhau như : công nghiệp, nông nghiệp, giao thông vận tải,…

Vì vậy một hệ thống điều khiển thông minh và hoàn toàn tự động là xu thế tất yếu Ứng dụng hệ thống thông minh và điều khiển các thiết bị nhà ở và sân vườn vẫn còn khá mới mẻ

ở Việt Nam Nhóm đã quyết định chọn đề tài Nhà Thông minh để làm đề tài nghiên cứu của mình để bắt nhịp với xu thế đó

Trang 16

Khóa luận tốt nghiệp Trịnh Hữu Trường_Đặng Hoài Anh

1.3 Mục đích của đề tài

Nhóm xây dựng đề tài đã chọn theo hướng xây dựng hệ thống sử dụng Arduino và

việc lặp đi lặp lại hằng ngày Nhằm hạn chế và tiết kiệm sức của người bỏ ra, chúng ta sẽ không phải bận tâm quá nhiều đến việc quản lí ngôi nhà bằng việc tích hợp những công nghệ

kĩ thuật quản lí từ xa sẽ mang đến cho chúng ta cuộc sống thoải mái, an toàn và tiện nghi hơn

1.4 Mục tiêu và phạm vi nghiên cứu

Nhóm đã đặt ra mục tiêu nghiên cứu cụ thể như sau: tìm hiểu về nguyên tắt hoạt động của công nghệ số trên module Arduino và ESP8266 Biết cách ứng dụng và lập trình trên Arduino IDE Tìm hiểu hoạt động của các cảm biến quang, nhiệt độ & độ ẩm, chuyển động, hồng ngoại vv và để ứng dụng chúng vào hoạt động thường ngày của ngôi nhà Ngoài ra còn trang bị thêm cảm biến báo khí gas để tăng tính an toàn cho những trường hợp rủi ro trong gia đình

Do giới hạn về thời gian nghiên cứu cũng như kiến thức chuyên ngành nên nhóm thực hiện chỉ tập trung nghiên cứu các vấn đề chính là tích hợp các hệ thống thống thông minh và giúp người dùng thuật tiện điều khiển và giám sát tất cả mọi thứ trong nhà qua phần mềm trên

Nhóm khi thực hiện đề tài đã sử dụng các phương pháp nghiên cứu đề tài

Trang 17

Khóa luận tốt nghiệp Trịnh Hữu Trường_Đặng Hoài Anh

Trang 18

Khóa luận tốt nghiệp Trịnh Hữu Trường_Đặng Hoài Anh

CHƯƠNG 2:GIỚI THIỆU TỔNG QUAN HỆ THỐNG

2.1 Giới thiệu về board Arduino

2.1.1 Cấu tạo phần cứng

mở được thiết kế trên nền tảng vi xử lý AVG Atmel 8- bit hoặc AMR Atmel 32- bit Những model hiện đại được trang bị gồm 1 cổng giao tiếp USB, 6 chân đầu vào analog,

vào năm 2005, những nhà thiết kế của Arduino cố gắng mang đến một phương thức dễ dàng, không tốn kém cho những người yêu thích, sinh viên và giới chuyên nghiệp để tạo

ra các thiết bị có khả năng tương tác với môi trường thông qua các cảm biến và các cơ cấu chấp hành

robot đơn giản, điều khiển nhiệt độ và phát hiện chuyển động Đi cùng với nó là một môi trường phát triển tích hợp (IDE) chạy trên các máy tính cá nhân thông thường và

của các board mạch Arduino dao động xung quanh €20 hoặc $27 (tức 574.468 VNĐ) nếu được “ làm giả” thì giá có thể giảm xuống thấp hơn $9 Các board mạch Arduino có thể được đặt hàng ở dạng lắp đặt sẵn hoặc dưới dạng các kit tự làm lấy Thông tin

Trang 19

thiết kế phần cứng được cung cấp công khai để những ai muốn tự làm một

mạch Arduino bằng tay có thể tự mình thực hiện được (mã nguồn mở)

được sản xuất thương mại và vào năm 2013 có khoảng 700.000 mạch chính thức đã được đưa tới tay người dùng

2.1.2 Các loại board mạch Arduino

- Arduino Uno: Nó có 14 chân dữ liệu số, có thể cấu hình làm chân lấy tín hiệu vào hoặc xuất tín hiệu ra là tùy bạn 6 chân tương tự đầu vào 5V, độ phân giải 1024 mức Tốc độ 16MHZ, điện áp vào từ 7~12V, chân số có thể cấp điện áp 5V và 1A, nếu bạn điều khiển chân số ra tiêu tốn quá 1A thì Board sẽ bị hỏng Kích thước board 5,5 x 7 cm

Hình 2.1 : Board Arduino UNO

- Arduino Micro: có thiết kế nhỏ, dành cho các không gian lắp đặt nhỏ, nhẹ, kích thước khoảng 5 x 2cm Board này giống với Arduino Uno Có 20 chân số, trong đó có 7 chân có thể phát xung PWM 12 chân tương tự

Hình 2.2: Board Arduino Micro

Trang 20

- Arduino Nano: có kích thước nhỏ nhất, gồm 14 chân số (6 chân PWM) và 8 chân tương tự Kích thưởng khoảng 2 x 4cm Nhỏ gọn, dễ lắp đặt ở bất cứ đâu

- Arduino Mega: có thiết kế hoạt động tương tự Arduino UNO, tuy nhiên có số lượng chân vào ra lớn với 54 chân số (14 chân PWM), 16 chân tương tự và 4 cổng truyền nối tiếp (RS232) dễ dàng giao tiếp với các board, thiết bị khác Kích thước 5 x 10cm

Hình 2.4: Board Arduino Mega

- Arduino Ethernet: Như tên của nó, nó là 1 Arduino giống chức năng với UNO

Hình 2.3: Board Arduino Nano

Trang 21

Hình 2.5: Board Arduino Ethernet

Due,…

2.2 Giới thiệu Phần mềm Arduino IDE

2.2.1 Giới thiệu về IDE

thảo văn bản, giúp bạn viết code để nạp vào bo mạch arduino

như Arduino Uno, Arduino Mega , nano , Lập trình trên Arduino IDE là cách tiếp cận đơn giản cho những người đam mê điện,điện tử và muốn tạo ra những sản phẩm nhúng

ấn tượng mà không cần quá nhiều kiến thức chuyên sâu về điện, điện tử

một thư viện phần mềm được gọi là "Wiring" từ dự án lắp ráp ban đầu, có thể giúp các

một chương trình vòng thực thi là có thể chạy được

lập các cài đặt

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

Trang 22

- 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

phần mềm cho các Arduino

2.2.2 Giao diện làm việc

Hình 2.6: Giao diện làm việc IDE

icon cho phép sử dụng nhanh các chức năng thường dùng của IDE được miêu tả như sau:

Trang 23

Vùng viết chương trình

dãy các icon, ở đây nó tên là “Blink” Để ý rằng phía sau chương trình có một dấu “§”, điều đó có nghĩa là đoạn chương trình chưa được lưu lại

Hình 2.8: Thông báo lỗi trên IDE

thị loại board Arduino và cổng COM được sử dụng Lưu ý: nếu chọn sai loại board hoặc cổng COM thì sẽ không thể upload được code

Lưu ý: Khi lập trình, các bạn cần chọn port (cổng kết nối khi gắn board vào) và

board (tên board mà bạn sử dụng) Giả sử, bạn đang dùng mạch Arduino Uno, và khi gắn board này vào máy tính bằng cáp USB nó được nhận là COM4 thì bạn chỉnh như thế này là

có thể lập trình đươc nhé

2.2.3 Các hàm và lệnh cơ bản

Cấu trúc cơ bản của một chương trình trong Aruino bao gồm 2 phần chính là void setup() và void loop() được gọi là hai hàm ( hàm là một cấu trúc gồm nhiều câu lệnh phía trong nó bắt đầu và kết thúc bằng kí tự {} )

• Là hàm được chạy đầu tiên mỗi khi chương trình khởi động, nhưng chỉ chạy 1 lần duy nhất vào đầu chương trình, được sử dụng để khai báo các biến số, cấu

viện, nếu bạn muốn một lệnh thực thi nào đó chỉ chạy duy nhất 1 lần ở đầu trương trình thì cũng có thể cho vào hàm void setup()

Trang 24

- Void loop()

Hình 2.9: Ví dụ về lệnh void setup()

nội dung của của chương trình, các câu lệnh nằm trong void loop() sẽ được chạy tuần tự từ trên xuống dưới sau đó lặp lại từ đầu liên tục cho tới khi khởi động lại hoặc nhấn nút reset

Hình 2.10: Ví dụ về lệnh void loop()

Trang 25

- Lệnh Serial.begin()

thể giao tiếp với máy tính hoặc với các phần cứng khác qua hai chân TX / RX (Transmiter/Receiver), kết nối giao tiếp UART giữa Arduino với máy tính là mặc định thông qua cổng chuyển USB-UART có sẵn trên mạch (không cần kết nối chân trên board, chỉ cần cắm dây USB từ Aruduino vào máy tính

và cài Driver)

chạy 1 lần duy nhất trong toàn chương trình

14400, 19200, 28800, 38400, 57600, 115200 nhưng thông thường nhất ta hay

phần mềm, nạp chương trình, sau đó nhấn Ctrl + Shift + M hoặc ký tự kính lúp góc phải phần mềm, chọn đúng tốc độ baud trong cửa sổ mới mở lên trùng với tốc độ baud trong Serial.begin() là đã có thể thấy các ký tự từ Arduino truyền lên máy tính

Trang 26

2.3 Tổng quan về Esp8266 Nodemcu Lua V3 CH340

khiển được sản xuất bởi nhà sản xuất Espressif Systems tại Thượng Hải, Trung Quốc Con chip này lần đầu tiên thu hút sự chú ý của các nhà sản xuất phương Tây vào tháng

8 năm 2014 với mô-đun ESP-01 Mô-đun nhỏ này cho phép các bộ vi điều khiển kết nối với mạng Wi-Fi và thực hiện các kết nối TCP / IP đơn giản

NodeMCU là một firmware Lua interpreter trên nền ESP8266

Kit RF thu phát Wifi ESP8266 NodeMCU Lua V3 CH340 là phiên bản NodeMCU sử dụng IC nạp giá rẻ CH340 từ Lolin với bộ xử lý trung tâm là module Wifi SoC ESP8266,

Arduino để lập trình và nạp code, điều này khiến việc sử dụng và lập trình các ứng dụng trên ESP8266 trở nên rất đơn giản

2.12 Hình ảnh Kit Wifi ESP8266 NodeMCU

Trang 27

2.3.2 Thông số kĩ thuật nodemcu Lua V3 CH340

2.13 Hình ảnh Kit Wifi ESP8266 NodeMCU

• Phiên bản

firmware: NodeMCU Lua

2.4.Tổng quan về webserver

2.4.1 Giới thiệu về webserver

Máy chủ web (tiếng Anh: Web server) là từ được dùng để chỉ phần mềm máy

cung cấp các dịch vụ World Wide Web Một máy chủ web xử lí các yêu cầu (request)

từ các client (trong mô hình server - client) thông qua giao thức HTTP và một số giao thức liên quan khác

Giao tiếp giữa của máy tính người dùng và máy chủ thực hiện thông qua giao thức HTTP Nội dung phân phối chính từ máy chủ web là các nội dung định dạng HTML,

bao gồm hình ảnh, style sheets, các đoạn mã script hỗ trợ các nội dung văn bản thô Tác nhân người dùng, thường là trình duyệt web hoặc trình thu thập dữ liệu web,

Trang 28

khởi tạo giao tiếp bằng cách yêu cầu một tài nguyên cụ thể bằng HTTP và máy chủ phản hồi với nội dung của tài nguyên đó hoặc thông báo lỗi nếu không thể thực hiện Tài nguyên thường là một tệp thực sự trên bộ nhớ thứ cấp của máy chủ, nhưng điều này không nhất thiết phải là trường hợp và phụ thuộc vào cách máy chủ web được triển khai Mặc dù chức năng chính là phân phát nội dung, việc triển khai đầy đủ HTTP cũng bao gồm các cách nhận nội dung từ khách hàng Tính năng này được sử dụng để gửi biểu mẫu web, bao gồm tải lên tệp

Trang 29

2.4.2 Cách tạo webserver trên ardunio

tự Đặc biệt, ESP8266 có thể được lập trình bằng Arduino IDE

và mở chương trình

Để tiến hành cài đặt thư viện và chức năng nạp code cho IDE ta làm như sau:

link sau vào

http://arduino.esp8266.com/stable/package_esp8266com_index.json

Trang 30

2.16 Hình ảnh khi mở chương trình Ardunio IDE

Trang 31

Đợi một lát để chương trình tìm kiếm Ta kéo xuống và click vào ESP8266 by ESP8266

Community, click vào Install Chờ phần mềm tự động download và cài đặt

Phần "Visual"đề cập đến phương phàp được sử dụng để tạo giao diện đồ họa người

dùng (Graphical User Interface hay viết tắc là GUI) Có sẵn những bộ phận hình ảnh, gọi

là controls, bạn tha hồ sắp đặt vị trí và quyết định các đặc tính của chúng trên một khung

2.19 Hình ảnh VB6

Trang 32

Phần "Basic"đề cập đến ngôn ngữ BASIC (Beginners All-Purpose Symbolic

Instruction Code), một ngôn ngữ lập trình đơn giản, dễ học, được chế ra cho các khoa học gia (những người không có thì giờđể học lập trình điện toán) dùng Visual Basic đã được ra từ MSBasic, do Bill Gates viết từ thời dùng cho máy tính 8 bits 8080 hay Z80 Hiện nay nó chứa đến hàng trăm câu lệnh (commands), hàm (functions) và từ khóa (keywords) Rất nhiều commands, functions liên hệ trực tiếp đến MSWindows GUI Những người mới bắt đầu có thểviết chương trình bằng cách học chỉ một vài commands,

nghiệp hoàn thành bất kỳđiều gì nhờ sử dụng ngôn ngữ lập trình MSWindows nào khác Visual Basic còn có hai dạng khác: Visual Basic for Application (VBA) và VBScript VBA là ngôn ngữ nằm phía sau các chương trình Word, Excel, MSAccess, MSProject, v.v còn gọi là Macros Dùng VBA trong MSOffice, ta có thể làm tăng chức năng bằng cách tựđộng hóa các chương trình VBScript được dùng cho Internet và chính Operating System

2.5.2 C ác thành phần chính ViSual Basic

Khi khởi động VB6 bạn sẽ thấy mở ra nhiều cửa sổ (windows), scrollbars, v.v và nằm chồng lên là New Project dialog Ởđây VB6 cho bạn chọn một trong nhiều loại công trình

Trang 33

• Menu Bar

Chứa đầy đủ các commands mà bạn sử dụng để làm việc với VB6, kể cả các menu

để truy cập các chức năng đặc biệt dành cho việc lập trình chẳng hạn như Project, Format, hoặc Debug Trong Menu Add-Ins có Add-Ins Manager cho phép bạn gắn thêm những menu con nhiệm ý để chạy các chương trình lợi ích cho việc lập trình

2.21 Hình ảnh Mennu Bar

• Toolbars (Debug, Edit, form Editor, Standard)

Các toolbars có hình các icons cho phép bạn click để thực hiện công việc tương đương với dùng một menu command, nhưng nhanh và tiện hơn Bạn dùng menu command View | Toolbars (click lên 3 menu command View cho popupmenu hiện ra rồi click command con Toolbars) để làm cho các toolbars hiện ra hay biến mất đi Bạn

có thể thay đổi vị trí một toolbar bằng cách nắm vào hai gạch vertical nằm bên trái toolbar rồi dời toolbar đi chỗ khác (nắm ởđây nghĩa là để pointer của mouse lên chỗ chấm đỏ trong hình phía dưới rồi bấm xuống và giữ nút bên trái của mouse, trong khi kéo pointer đi nơi khác)

2.22Hình ảnh Toolbars

• Toolbox

Đây là hộp đồ nghề với các công cụ, gọi là controls, mà bạn có thểđặt lên các form trong lúc thiết kế(design) Nếu Toolbox biến mất, bạn có thể display nó trở lại bằng cách dùng menu command View | Toolbox Bạn có thể khiến toolbox display nhiều controls hơn bằng cách chọn Components từcontext menu (chọn Toolbox rồi bấm nút phải của mouse để display context menu) hay dùng menu command Project | Components Ngoài việc trình bày Toolbox mặc định, bạn có thể tạo cách trình bày khác bằng cách chọn Add Tab từ context menu và bổ sung các control cho tab từ kết quả

Trang 34

2.22 Hình ảnh Toolbox

• Form Designer

(graphics), các hình ảnh và một form để tạo sự ma sát mà bạn muốn Mỗi form trong trình ứng dụng của bạn có designer form riêng của nó Khi bạn maximise một form designer, nó chiếm cả khu làm việc Muốn làm cho nó trởlại cở bình thường và đồng thời để thấy các form designers khác, click nút Restore Window ở góc bên phải, phía trên

2.23Hình ảnh Form Designer

• View Code button

Click lên nút nầy để xem code của một form mà bạn đã chọn Window của code giống như dưới đây:

2.24Hình ảnh View Code button

Trang 35

• View form button

Click lên nút nầy để xem form của một form mà bạn đã chọn

Trong hình dưới đây, Properties Window và Form Layout đã được kéo ra ngoài cho floating

2.25Hình ảnh View form button

2.5.3 C ơ sở lập trình

tham trị)

Dim TênBiến as Kiểu Biến

Trang 36

Tên biến phải:

** Hàm và toán tử cơ bản

* Abs(x): Tính giá trị tuyệt đối của x

* Atn(x): Tinh Arctang của x

* Cos(x): Tính Cosin của x

* Date: cho biết ngày tháng năm hiện tại

* DoEvent():Nhường cho Event khác được thực thi

* Exp(x):Hàm e mũ x

* Hex(numer): Đổi sang số Hexa(16)

* Len: Tính chiều dài chuỗi

* Fix(Number):Làm tròn hướng về 0

* Mid:Trích các phần tử của 1 chuỗi từ vị trí chỉ định

* Right(string,length):Trích các phần tử của 1 chuỗi từ bên phải

* Rnd[(Number)]: cho số ngẫu nhiên:0-1

* Sqr(Number): Tính căn bậc 2

* Str(Numer): Đổi số ra chuỗi

* +,-,*,/: Toán tử toán học

* And,Or,Xor,Not:Toán tử Logic điều kiện

* \: chia lấy phần nguyên

* Mod: chia lấy phần dư

* >,>=,<=: Toán tử so sánh

* End:Kết thúc chương trình

** Form và các Controls thông thường

Sắp đặt controls lên Form

Standard EXE, môi trường triển khai lập trình (IDE) cho bạn sẵn một Form tên là Form1 Muốn đặt một Control lên Form, click hình cái Control trong Toolbox rồi Drag (bấm nút trái của con chuột rồi kéo cho thành hình chữ nhật trước khi buông nút trái ra) con chuột trên Form vẽ thành cở của Control Một cách khác để đặt một control lên Form là doubleclick cái Control trong Toolbox, một hình control sẽ hiện ra trên Form

Kế đó bạn dời control đi đến chỗ mình muốn và resize nó Nếu bất cứ lúc nào bạn

không thấy Túi đồ nghề (Toolbox) nằm bên trái, bạn có thể dùng mệnh lệnh Menu

View|Toolbox để bắt nó hiện ra Có một cách khác là click lên toolbox icon trên

Trang 37

toolbar chính của VB6

2.26Hình ảnh Toolbox

Resize và di chuyển control

Khi bạn select một control (click lên nó), chung quanh control sẽ hiện ra resize handle,

8 nút đen dọc theo chu vi của control

• Alignment Grid

Để giúp bạn sắp đặt ngay ngắn các controls trên một form, VB6 cho bạn Alignment Grid Nó là những dấu đen của các hàng dọc và xuôi trên form Bạn có thể làm cho các

dấu đen của grid trên form biến mất bằng cách dùng menu command Tools | Options

để display Option Dialog, kế đó chọn Tag General và clear checkbox "Show Grid"

• TextBox

TextBox là control đuợc dùng nhiều nhất để display text và nhận keystroke của Userđể

sửa đổi text có sẵn hay cho vào text mới Property chính và default của Textbox là text,

tức là thường thường Text2.text có thể được viết tắt là Text2 Ta có thể disable (khiến

nó bất lực, không phản ứng gì hết và không cho sửa đổi) một text box bằng cách set Property Enable ra False (chữ sẽ bị mờ đi), hay Lock (không cho sửa đổi) một text box bằng cách set Property Locked ra True (chữ không bị mờ) Text có thể được Align (Alignment Property) để display bên trái, chính giữa hay bên phải của hộp nó

Trang 38

2.28Hình ảnh Textbox

• CommandButton

click lên button Event ta dùng thường nhất cho CommanButton là Click Ta dùng

Property Caption của CommandButton để enter cái gì ta muốn display trên button Nếu muốn cho phép User dùng ALT+E (đè nút Atl trong lúc bấm nút E) để generate

event click thì nhét dấu "&" trước chữ E trong Caption của button Caption sẽ display

chữ E với một gạch dưới

chọn một icon cho property Picture và set Property Style ra Graphical, thay vì

Standard

2.29 Hình ảnh CommandButtom

• Label

Mục đích chính của Label là để display, không cho User Edit như Textbox Do đó ta có thể dùng

Property Font, ForeColor và Backcolor để làm cho nó đẹp

2.30Hình ảnh Label

Trang 39

• CheckBox

Property Value của CheckBox có thể là Checked (làm cho hộp vuông có dấu, bằng 1), Unchecked (làm cho hộp vuông trống không, bằng 0) hay Grayed (làm cho hộp vuông

có dấu màu nhạt, bằng 2) Một khi biết rằng CheckBox có Value bằng 1, ta có

thể đọc Caption của CheckBox để dùng nếu cần

• OptionButton

hình vuông với một gạch ở giữa như CheckBox OptionButton luôn luôn được qui tụ thành một nhóm, chứa trong một container Container là một Control có khả năng chứa các controls khác Frame, PictureBox, hay chính Form đều là Container Sau khi đặt một Container lên Form, nếu muốn để một OptionButton lên Container, trước hết ta phải Select container, rồi kế đó chọn OptionButton

OptionButton rồi Paste nó vô container kia

Trang 40

CHƯƠNG 3: THIẾT KẾ MÔ PHỎNG HỆ THỐNG

SMART HOME

3.1 Sơ đồ khối tổng quát của hệ thống

Hình 3.1: Sơ đồ khối tổng quát của hệ thống

Vì các khối điều khiển, khối giao tiếp và khối xử lý trung tâm đã được giới thiệu ở trên các phần trước, nên ở chương này chúng ta sẽ tập trung vào làm

rõ các khối cảm biến và khối chấp hành

3.2 Các khối cảm biến

Hình 3.2: Cảm biến chuyển động PIR

Ngày đăng: 27/05/2021, 22:42

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