Tải bản đầy đủ (.pdf) (83 trang)

Đ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

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (3.25 MB, 83 trang )

ĐẠI HỌC CƠNG NGHIỆP TP.HCM
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
SINH VIÊN: TRỊNH HỮU TRƯỜNG 15041151
ĐẶNG HOÀI ANH 15048501
LỚP:

DHDKT11B

GVHD:

HÀ CHÍ KIÊN

TP. HCM,Thứ 5,ngày13,tháng 6 năm 2019


LỜI MỞ ĐẦU
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 chun 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 ngồ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

i


PHIẾU GIAO ĐỀ TÀI
1.

Họ và tên sinh viên/nhóm sinh viên được giao đề tài:
(1): Đặng Hoài Anh
MSSV: 15048501
(2): Nguyễn Ngọc Cường MSSV: 15038831
(3): Trịnh Hữu Trường
MSSV: 15041151

2.

Tê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”


3.

Nội dung:

- Sử dụng smartphone hoặc laptop điều khiển,giám sát các thiết bị điện trong gia đình thơng
qua webserver,VB6 bằng mạng Lan internet.
4.

Kết quả:

Thông qua mạng internet bằng Webserver và VB6, ta đạt được những kết quả sau:
o Đóng / cắt các thiết bị đèn chiếu sáng, quạt từ Webserver và VB6
o Sử dụng cảm biến để tự động hóa các thiết bị trong gia đình
o Kiểm sốt q trình hoạt động của cảm biến
o Tìm hiểu được các đặc tính của các cảm biến
o Giám sát nhiệt độ và độ ẩm của môi trường trong nhà
o Điều khiển và giám sát từ khoảng cách xa
o Giám sát sự nguy hiểm từ rị rỉ khí Gas và thơng báo nếu có sự cố
o Nghiên cứu tạo ra webserver
o Điều khiển các thiết bị thông qua Webserver+VB6
o Đồng bộ webserver và VB6
o Truyền dữ liệu từ Arduino lên Webserver và VB6
Giảng viên hướng dẫn

Tp.HCM, ngày… tháng …năm…..
Sinh viên

ii



NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
Tp.HCM, Ngày … tháng … năm 2018 Giảng
viên hướng dẫn

iii


Mục Lục
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.1Giớ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
iv


2.5.1 Giới thiệu ViSual Basic.......................................................................................... 21
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
v


DANH MỤC HÌNH ẢNH
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
vi


Hình 3.3: Cảm biến DHT ................................................................................................... 33
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 hồn chỉnh ........................................................................................... 71

vii


Hình 3.11: Màng hình LCD 20x4....................................................................................... 25
Hình 3.12: Module I2C ....................................................................................................... 25
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 hồn chỉnh ............................................................................................ 58
Hình 5.1: Mơ hình hồ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
viii


Hình 5.5: Vị trí cảm biến mưa ............................................................................................ 60
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

ix


Trịnh Hữu Trường_Đặng Hồi Anh

Khóa luận tốt nghiệp


1


Trịnh Hữu Trường_Đặng Hồi Anh

Khóa luận tốt nghiệp

2


Trịnh Hữu Trường_Đặng Hồi Anh

Khóa luận tốt nghiệp

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.
-

Arduino là một nền tảng mã nguồn mở được sử dụng để xây dựng các ứng dụng

đ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+).
-

Arduino ngày nay rất phổ biến cho những người mới bắt đầu tìm hiểu về điện từ,

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ụ chun 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.
-

Arduino thực sự đã gây sóng gió trên thị trường người dùng DIY (những người

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.
-

Khái quát về hình thành của Arduino. Arduino ra đời tại thị trấn Ivrea thuộc

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

3


Trịnh Hữu Trường_Đặng Hồi Anh

Khóa luận tốt nghiệp

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

4


Trịnh Hữu Trường_Đặng Hồi Anh

Khóa luận tốt nghiệp

Đ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
Công nghệ 4.0 là xu hướng công nghệ phát triển nhất hiện nay. Nó ứng dụng các kỹ

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ế đó.

5


Trịnh Hữu Trường_Đặng Hồi Anh

Khóa luận tốt nghiệp

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à

board mạch NODE MCU để quản lý ở nơi mà con người phải bỏ sức ra để thực hiện một công
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 q 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à. Ngồi ra cịn
trang bị thêm cảm biến báo khí gas để tăng tính an tồ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
smartphone, Vb6. Các phương pháp nghiên cứu
Nhóm khi thực hiện đề tài đã sử dụng các phương pháp nghiên cứu đề tài


Phương pháp phân tích và tổng hợp lý thuyết



Phương pháp tham khảo tài liệu



Phương pháp thực nghiệm, thực tế.
Cụ thể:




Tìm hiểu phần cứng và tập lệnh Arduino

6


Trịnh Hữu Trường_Đặng Hồi Anh

Khóa luận tốt nghiệp



Viết chương trình điều khiển bằng phần mềm Arduino IDE



Tìm hiểu và sử dụng Websever



Tìm hiểu và sử dụng phần mềm Vb6



Mơ phỏng thiết bị trên linh kiện điện tử.

7



Trịnh Hữu Trường_Đặng Hồi Anh

Khóa luận tốt nghiệp



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
-

Arduino là một board mạch vi xử lý, nhằm xây dựng các ứng dụng tương tác với

nhau hoặc với môi trường được thuận lợi hơn.Phần cứng bao gồm một board mạch nguồn
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,
14 chân I/O kỹ thuật số tương thích với nhiều board mở rộng khác nhau. Được giới thiệu
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 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.
-

Những ví dụ phổ biến cho những người yêu thích mới bắt đầu bao gồm các

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à
cho phép người dùng viết chương trình cho Arduino bằng ngơn ngữ C hoặc C++. Giá

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

8


Trịnh Hữu Trường_Đặng Hồi Anh

Khóa luận tốt nghiệp

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ở).
-

Người ta tính khoảng giữa năm 2011 có trên 300.000 mạch Arduino chính thức

đượ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

9


Trịnh Hữu Trường_Đặng Hồi Anh

Khóa luận tốt nghiệp

-

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.

Hình 2.3: Board Arduino Nano

-

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

tuy nhiên nó được tích hợp với Module Ethernet trong đó, có thêm tích hợp thẻ SD.

10


Trịnh Hữu Trường_Đặng Hồi Anh

Khóa luận tốt nghiệp

Hình 2.5: Board Arduino Ethernet

Ngồi ra, cịn có các loại Arduino khác như: Arduino Leonardo, Arduino

Due,…

2.2

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

2.2.1 Giới thiệu về IDE
Arduino IDE (Arduino Integrated Development Environment) là một trình soạn

-


thảo văn bản, giúp bạn viết code để nạp vào bo mạch arduino.
Arduino IDE là phần mềm giúp ta lập trình cho các dịng sản phẩm của 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ử.
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, có thể giúp các
thao tác input/output được dễ dàng hơn. Người dùng chỉ cần định nghĩa 2 hàm để tạo ra
một chương trình vịng thực thi là có thể chạy được.


setup() : hàm này chạy mỗi khi khởi động một chương trình, dùng để thiết
lập các cài đặt.


-

loop() : hàm này được gọi lặp lại cho đến khi tắt nguồn board mạch.
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ủ.

11



Trịnh Hữu Trường_Đặng Hồi Anh

Khóa luận tốt nghiệp

-

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.2.2 Giao diện làm việc

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

Vùng lệnh


-

Bao gồm các nút lệnh menu (File, Edit, Sketch, Tool, Help). Phía dưới là các

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:

-

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


12


Trịnh Hữu Trường_Đặng Hồi Anh

Khóa luận tốt nghiệp

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



Là nơi sẽ viết các đoạn mã tại đây. Tên chương trình được hiển thị ngay dưới

-

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.


Vùng thơng báo

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

Những thông báo từ IDE sẽ được hiển thị tại đây. Góc dưới cùng bên phải hiển

-

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ự {} ).
-

Void setup()


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
hình chân truyền / nhận, khởi tạo giao thức truyền, hay khai báo sử dụng bộ thư
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().
13


Trịnh Hữu Trường_Đặng Hồi Anh

Khóa luận tốt nghiệp

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

-


Void loop()


Là hàm được khởi động ngay sau void setup(), cũng chính là phần chính và
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()

14


Trịnh Hữu Trường_Đặng Hồi Anh

Khóa luận tốt nghiệp

Lệnh Serial.begin()



Đây là câu lệnh khởi tạo giao tiếp COM-UART trên Arduino, giúp Arduino có
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).




Lệnh Serial.begin(); thường được đặt trong hàm void setup() vì chỉ cần khởi tạo
chạy 1 lần duy nhất trong tồn chương trình.



Cấu trúc lệnh: Serial.begin(tốc độ truyền nhận);



Tốc độ truyền nhận có các tốc độ như sau: 300, 600, 1200, 2400, 4800, 9600,
14400, 19200, 28800, 38400, 57600, 115200 nhưng thông thường nhất ta hay
sử dụng tốc độ 9600.

-

Lệnh Serial.print()


Đây là câu lệnh nếu bạn muốn truyền một chuỗi ký tự hoặc biến số từ Arduino
về máy tính.



Cấu trúc lệnh: Serial.print (“chuỗi ký tự để trong

ngoặc

kép“);


hoặc Serial.print(biến số);


Nếu muốn xuống dịng các bạn có thể sử dụng Serial.println(“chuỗi ký tự để
trong ngoặc kép“); hoặc thêm \n cuối mỗi chuỗi ký tự như hình dưới đây.



Để xem ký tự truyền từ Arduino về máy tính bạn cần kết nối board mạch với
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.
Lệnh delay()



Đây là lệnh giữ trạng thái hiện tại của Arduino trong một khoảng thời gian
định sẵn.



Cấu trúc lệnh: delay(khoảng thời gian đơn vị mili giây ms);

15


×