1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Lập trình các ứng dụng trên KIT ARDUINO bằng ngôn ngữ MATLA

65 25 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

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

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

Nội dung

Thông tin đề tài Tên của đề tài: LẬP TRÌNH CÁC ỨNG DỤNG TRÊN KIT ARDUINO BẰNG NGÔN NGỮ MATLAB.. Hồ Chí Minh, ngày 31 tháng 3 năm 2016 LỊCH TRÌNH THỰC HIỆN ĐỒ ÁN TỐT NGHIỆP Bản lịch trì

Trang 1

KHOA ĐIỆN - ĐIỆN TỬ

ĐỒ ÁN TỐT NGHIỆP NGÀNH CÔNG NGHỆ KỸ THUẬT ĐIỆN TỬ - TRUYỀN THÔNG

LẬP TRÌNH CÁC ỨNG DỤNG TRÊN KIT ARDUINO

S K L 0 0 4 5 3 9

Trang 2

KHOA ĐIỆN – ĐIỆN TỬ

BỘ MÔN ĐIỆN TỬ-CÔNG NGHIỆP

12141046

Tp Hồ Chí Minh – 7/2016

Trang 3

KHOA ĐIỆN – ĐIỆN TỬ

BỘ MÔN ĐIỆN TỬ-CÔNG NGHIỆP

Trang 4

1 Thông tin sinh viên

Họ và tên: Lương Đức Hậu MSSV: 12141077

Tel: 01685348286 Email: hauluong9@gmail.com

Họ và tên: Lê Hiển Đạt MSSV: 12141046

Tel: 01699700466 Email: hiendat94@gmail.com

2 Thông tin đề tài

Tên của đề tài: LẬP TRÌNH CÁC ỨNG DỤNG TRÊN KIT ARDUINO BẰNG NGÔN NGỮ MATLAB

Mục đích của đề tài: Sử dụng được kit Ardunio Uno R3 và lập trình các ứng dụng bằng ngôn ngữ Matlab

Đồ án tốt nghiệp được thực hiện tại: Bộ môn Điện Tử Công Nghiệp, Khoa Điện - Điện Tử, Trường Đại Học Sư Phạm Kỹ Thuật Thành Phố Hồ Chí Minh

Thời gian thực hiện: Từ ngày 10/3/2016 đến 2/7/2016

3 Các nhiệm vụ cụ thể của đề tài

- Tìm hiểu Kit Arduino

- Tìm hiểu Matlab và cài đặt Arduino trên Matlab

- Giao tiếp với các chân I/O

- Giao tiếp với các chân PWM

- Giao tiếp I2C

- Giao tiếp SPI

- Điều khiển động cơ servo motor

- Đo lường vẽ đồ thị từ cảm biến

- Viết luận văn

4 Lời cam đoan của sinh viên

Chúng tôi – Lương Đức Hậu và Lê Hiển Đạt cam đoan ĐATN là công trình nghiên cứu của bản thân chúng tôi dưới sự hướng dẫn của thạc sỹ Nguyễn Duy Thảo

Các kết quả công bố trong ĐATN là trung thực và không sao chép từ bất kỳ công

trình nào khác

Tp.HCM, ngày 31 tháng 3 năm 2016

SV thực hiện đồ án

Lương Đức Hậu Lê Hiển Đạt

Xác nhận của Bộ Môn Tp.HCM, ngày 31 tháng 3 năm 2016

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

(Ký ghi rõ họ tên và học hàm học vị)

Trang 5

Khoa Điện - Điện Tử Độc lập - Tự do - Hạnh phúc

Bộ Môn Điện Tử Công Nghiệp

Tp Hồ Chí Minh, ngày 31 tháng 3 năm 2016

LỊCH TRÌNH THỰC HIỆN ĐỒ ÁN TỐT NGHIỆP

(Bản lịch trình này được đóng vào đồ án)

Họ tên sinh viên 1: Lương Đức Hậu

Tuần 2 Tìm hiểu hoạt động Arduino và Matlab

Tuần 3 Cài đặt Matlab và cài Arduino trên

Matlab(đọc thêm phần help về Arduino trên Matlab)

Tuần 4 Lập trình Arduino với các chân I/O qua ví dụ,

lập trình với các chân PWM trên Arduino Tuần 5 Lập trình giao tiếp với chuẩn I2C

Tuần 6 Lập trình giao tiếp với chuẩn SPI

Tuần 7 Lập trình điều khiển động cơ Servo motor

Tuần 8 Đo lường và vẽ đồ thị từ cảm biến

Tuần 9 Viết luận văn

Tuần 10 Chỉnh sửa, in đồ án

GV HƯỚNG DẪN (Ký và ghi rõ họ và tên)

Trang 6

Đề tài này là do tôi tự thực hiện dựa vào một số tài liệu trước đó và không sao chép từ tài liệu hay công trình đã có trước đó

Người thực hiện đề tài Lương Đức Hậu

Lê Hiển Đạt

Trang 7

đỡ đóng góp ý kiến và chỉ bảo nhiệt tình của thầy cô, gia đình và bạn bè

Chúng em xin gửi lời cảm ơn chân thành đến Th.s Nguyễn Duy Thảo- trường

ĐH Sư Phạm Kỹ Thuật TPHCM đã tận tình hướng dẫn chỉ bảo trong suốt thời gian làm luận án tốt nghiệp

Xin chân thành cảm ơn thầy cô giáo trong trường ĐH Sư Phạm Kỹ Thuật TPHCM nói chung, các thầy cô trong Bộ môn Điện Tử Công Nghiệp nói riêng đã dạy

dỗ cho chúng em kiến thức các môn đại cương cũng như các môn chuyên ngành, giúp chúng em có được cơ sở lý thuyết vững vàng và tạo điều kiện giúp đỡ chúng em trong suốt quá trình học tập

Cuối cùng, chúng em xin chân thành cảm ơn gia đình và bạn bè, đã luôn tạo điều kiện, quan tâm, giúp đỡ, động viên em trong suốt quá trinh học tập và hoàn thành luận án tốt nghiệp

Xin chân thành cảm ơn!

Người thực hiện đề tài

Lương Đức Hậu

Lê Hiển Đạt

Trang 8

Trang bìa i

Phiếu giao nhiệm vụ đồ án ii

Lịch trình đồ án iii

Phiếu đánh giá của GVHD iv

Nhiệm vụ đồ án tốt nghiệp v

Cam đoan vi

Lời cảm ơn vii

Mục lục viii

Liệt kê hình vẽ x

Liệt kê bảng vẽ……… xi

Tóm tắt xiii

CHƯƠNG 1 TỔNG QUAN 1

1.1 Đặt vấn đề 1

1.2 Mục tiêu 1

1.3 Nội dung nghiên cứu 1

1.4 Giới hạn 1

1.5 Bố cục 2

CHƯƠNG 2 CƠ SỞ LÝ THUYẾT 3

2.1 Giới thiệu phần cứng 3

2.1.1 Kit Ardunio 3

2.1.2 Module PCF8591 5

2.1.3 Động cơ servo 6

2.2 Lập trình Arduino bằng Matlab 6

2.2.1 Tổng quan về Matlab 6

2.2.2 Hướng dẫn cài đặt Arduino trên nền Matlab 7

2.2.3 Kết nối Arduino với Matlab 9

2.3 Mô phỏng Ardunio bằng Protues 10

2.3.1 Giới thiệu 10

2.3.2 File.Hex 10

2.3.1 Giới thiệu Protues 10

2.3.4 Thư viện cho Protues 11

Trang 9

3.1 Giới thiệu 14

3.2 Tính toán và thiết kế hệ thống 14

3.2.1 Thiết kế sơ đồ khối hệ thống 14

3.2.2 Tính toán và thiết kế mạch 16

3.2.2 Sơ đồ nguyên lý toàn mạch 19

CHƯƠNG 4 THI CÔNG HỆ THỐNG 20

4.1 Giới thiệu 20

4.2 Thi công hệ thống 20

4.2.1 Lắp ráp và test chương trình trên từng ứng dụng 20

4.3 Lập trình hệ thống 20

4.3.1 Viết chương trình cho từng ứng dụng 20

4.4 Mô phỏng kit Arduino Uno trên Protues 39

CHƯƠNG 5 KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ 50

5.1 Kết quả 50

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

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

6.1 Kết luận 51

6.2 Hướng phát triển 51

TÀI LIỆU THAM KHẢO 52

Trang 10

Hình Trang

Hình 2.1: Sơ đồ chân Arduino Uno 4

Hình 2.2: Module PCF8591 5

Hình 2.3: Động cơ servo 6

Hình 2.4: Get Hardware Support Package 7

Hình 2.5: Giao diện Support Package Installer 8

Hình 2.6: Giao diện cài Package cho Arduino 8

Hình 2.7 Giao diện MathWorks Account Log In 9

Hình 2.8: Giao diện kết nối Arduino và Matlab 9

Hình 2.9: Arduino IDE 11

Hình 2.10: File menu 12

Hình 2.11: Sketch menu 12

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

Hình 3.2: Ảnh thực tế 15

Hình 3.3: Sơ đồ kết nối Arduino với led đơn 16

Hình 3.4: Sơ đồ kết nối led và nút nhấn 16

Hình 3.5: Kết nối led RGB với Arduino 17

Hình 3.6: Sơ đồ kết nối biến trở 17

Hình 3.7: Module PCF8591 kết nối với Arduino 18

Hình 3.8:Sơ đồ kết nối servo motor với phần cứng 18

Hình 3.9: Sơ đồ nguyên lý toàn mạch 19

Hình 4.1: Cửa số viết code trên Matlab 20

Hình 4.2: Kết quả led đơn 22

Hình 4.3: Led RGB Anode chung 24

Hình 4.4: Tín hiệu ngõ ra của led RGB 25

Hình 4.5: Màu đỏ 26

Hình 4.6: Màu xanh lá 26

Hình 4.7: Màu xanh dương 26

Hình 4.8: Kết quả đèn sáng mờ 28

Hình 4.9: Kết quả đèn sáng mạnh 28

Trang 11

Hình 4.12: Địa chỉ I2C 31

Hình 4.13: Giá trị của thermistor, photo, potentiometer 33

Hình 4.14: Kết nối SPI Loopback 33

Hình 4.15: Giá trị ngõ vào ra của SPI 35

Hình 4.16: Giá trị thay đổi của động cơ trên Matlab…… ……… 36

Hình 4.17: Đồ thị từ cảm biến 39

Hình 4.18: Ardunio với led đơn mô phỏng 39

Hình 4.19 Arduino Preferences 40

Hình 4.20 Preference Notepad 41

Hình 4.21 Điều khiển bằng nút nhấn 43

Hình 4.22 Điều khiển nhiều bằng led mô phỏng 44

Hình 4.23 Điều khiển động cơ PWM 46

Hình 4.24 Đo nhiệt độ hiển thị LCD 16x2 47

Hình 4.25 Điều khiển động cơ bằng mô phỏng 48

Trang 12

Bảng Trang

Bảng 2.1: Thông số kỹ thuật của Arduino Uno……….14

Trang 13

Đề tài “LẬP TRÌNH CÁC ÚNG DỤNG TRÊN KIT ARDUINO BẰNG NGÔN NGỮ MATLAB” chủ yếu tập trung nghiên cứu kit Arduino Uno R3 và các ứng dụng Lập trình bằng ngôn ngữ Matlab cho kit Arduino Uno R3 Ngoài ra đề tài còn khai thác

sự mô phỏng kit Arduino trên phần mềm Protues giống như bộ thí nghiệm ảo cho các môn Điện tử cơ bản, kỹ thuật số

Trang 14

Chương 1: TỔNG QUAN

1.1 ĐẶT VẤN ĐỀ

Ngày nay, việc áp dụng các board có sẵn để làm các dự án trong đời sống không còn

xa lạ Board Arduino là một trong số đó, các ứng dụng từ nó được xây dựng và phát triển rất nhiều, mã nguồn mở,mức độ tiếp cận kit Arduino khá dễ dàng Nhưng đa số các ứng dụng từ kit Arduino được lập trình từ Arduino IDE, để đem lại sự mới mẻ và mang đến một công cụ lập trình mới, mạnh mẽ hơn, đó là ngôn ngữ Matlab.Vì vậy, nhóm thực

hiện chọn đề tài: “LẬP TRÌNH CÁC ỨNG DỤNG TRÊN KIT ARDUINO BẰNG

NGÔN NGỮ MATLAB”

1.2 MỤC TIÊU

Đề tài chủ yếu tập trung nghiên cứu kit Arduino Uno R3, thực hiện ứng dụng của nó, lập trình các ứng dụng bằng ngôn ngữ Matlab Thực hiện mô phỏng Arduino trên phần mềm Proteus

1.3 NỘI DUNG NGHIÊN CỨU

Những phần chính của đề tài: “LẬP TRÌNH CÁC ỨNG DỤNG TRÊN KIT

ARDUINO BẰNG NGÔN NGỮ MATLAB”

 Tìm hiểu và cài đặt Arduino

 Cài đặt Arduino trên nền Matlab

Trang 15

1.5 BỐ CỤC

Chương 1: Tổng quan (Trình bày cách chọn đề tài, mục tiêu đề tài sẽ đạt được, giới

hạn nội dung nghiên cứu Thể hiện bố cục đồ án thông các chương mục.)

Chương 2: Cơ sở lý thuyết (Giới thiệu Arduino, lập trình Arduino bằng ngôn ngữ

Matlab Trình bày cách mô phỏng Arduino trên phần mềm Proteus.)

Chương 3: Thiết kế và tính tóan (Chương này gồm giao tiếp với các chân I/O, giao

tiếp với PWM và Analog, giao tiếp với chuẩn I2C, giao tiếp với chuẩn SPI, điều khiển động cơ Servo, đo lường và vẽ đồ thị từ cảm biến trong thời gian thực Thực hiện mô phỏng Arduino trên Proteus)

Chương 4: Kết quả, Nhận xét và Đánh giá

Chương 5: Kết luận và Hướng phát triển

Trang 16

Chương 2 CƠ SỞ LÝ THUYẾT

bộ điều chỉnh tuyến tính 5V và một thạch anh dao động 16 MHz, các board Arduino hiện tại được lập trình thông qua cổng USB

2.1.1.2 Board Arduino Uno

Board Arduino Uno đưa ra 14 chân I/O kỹ thuật số, 6 chân có thể tạo xung PWM và

6 chân input analog, có thể sử dụng như là 6 chân I/O số.Chúng có 2 mức điện áp là 0V

và 5V với dòng vào/ra tối đa trên mỗi chân là 30 mA

Trang 17

Vi điều khiển Atmega328P họ 8 bit

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

Điện áp đầu vào khuyên dùng 7-12V

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

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

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

DC current per I/O pin 20mA

DC current for 3.3V pin 50mA

Flash Memory 32KB( ATmega328P) với 0.5KB sử dụng bootloader

Bảng 2.1 Thông số kỹ thuật Arduino Uno

 USB(1): Cổng USB dùng để kết nối với máy tính và thông qua đó để upload chương trình cho Arduino từ máy tính, ngoài ra nó cũng cấp nguồn cho Arduino

 Nguồn(2 và 4): Sử dụng jack cấm nguồn 2.1mm( cực dương ở giữa)hoặc có thể dùng chân Vin và GND để cấp nguồn cho Arduino Board mạch hoạt động ở điện áp ngoài khoảng 5-20V, nhưng nếu cấp nguồn lớn hơn 5V thì ngõ ra chân 5V sẽ lớn hơn, không nên cấp nguồn lớn hơn 12V vì board sẽ nóng và dễ bị hỏng Chân 5V và chân 3.3v là

2 chân lấy nguồn từ Arduino ra ngoài, không được cấp nguồn vào nó, sẽ làm hỏng

Hình 2.1 Sơ đồ chân Arduino Uno

Trang 18

 Chip Atmega328P(6): Có 32KB bộ nhớ flash trong đó có 0.5KB dùng cho bootloader, 2KB SRAM, 1KB EEPROM

 Output và input(3 và 5): Arduino có 14 chân Digital với các chức năng Input và Output, trên 14 chân này còn có 1 số tính năng sau:

Serial: Chân 0(RX), chân 1(TX) Hai chân này dùng để truyền(TX) và nhận (RX) dữ

liệu nối tiếp TTL, có thể giao tiếp với cổng COM với các thiết bị cùng chuẩn

PWM: Các chân 3,5,6,9,10,11 là các chân có dấu “~” là các chân PWM dùng để điều

khiển tốc độ động cơ, độ sáng bóng đèn

SPI: 10(SS), 11(MOSI), 12(MISO), 13(SCK) các chân này hỗ trợ chuẩn giao tiếp

SPI

I2C: A4 (SDA) và A5 (SCL) cho phép Arduino giao tiếp với các thiết bị có chuẩn

giao tiếp I2C

2.1.2 Module PCF8591

PCF8591 là một IC tích hợp 2 chức năng là bộ chuyển đổi tín hiệu tương tự sang tín hiệu số và ngược lại, một nguồn cung cấp riêng biệt, công suất thấp, độ phân giải 8bit, giao tiếp theo chuẩn I2C.Thông số kỹ thuật:

 Nguồn cấp:2,5V-6V

 Dòng tiêu thụ thấp

 Chuyển đổi qua chuẩn I2C bus serial in/out

 Tích hợp cảm biến quang, xuất giá trị analog của cường độ ánh sáng môi trường xung quanh

 Tích hợp cảm biến nhiệt độ, xuất giá trị analog của nhiệt độ môi trường xung quanh

 Tích hợp bộ đọc cảm biến analog với dải hoạt động 0-5V

Hình 2.2.Module PCF8591

Trang 19

 SCL: ngõ vào xung clock kết nối với cổng I/O của vi điều khiển

 SDA: ngõ vào số kết nối với cổng I/O của vi điều khiển

 GND:nối với đất nguồn 0V

 VCC: nối với nguồn 3.3V-5V

2.1.3 Động cơ Servo

Servo là động cơ không giống như động cơ thông thường cứ cắm điện vào là quay liên tục, servo chỉ quay khi được điều khiển bằng xung PPM với góc quay nằm trong khoảng bất kỳ từ 00 – 1800 Mỗi loại servo có kích thước,khối lượng và cấu tạo khác nhau.Có loại thì nặng chỉ 9g( chủ yếu là trên máy bay mô hình), có loại thì nặng vài chục Newton/m

Hình 2.3 Động cơ servo 2.2 Lập trình Arduino bằng matlab

2.2.1 Tổng quan về Matlab

Matlab (Matrix Laboratory ) là một môi trường tính toán số và lập trình, được thiết

kế bởi công ty MathWorks.Matlab cho phép người dùng tính toán ma trận, vẽ đồ thị làm

số hay biểu đồ thông tin, thực hiện thuật toán, tạo các giao diên người dùng và liên kết với những chương trình máy tính viết trên nhiều ngôn ngữ lập trình khác Matlab giúp đơn giản hóa việc giải quyết các bài toán tính toán kỹ thuật so với các ngôn ngữ lập trình truyền thống như C,C++, và Fortran

Trang 20

Matlab được sử dụng trong nhiều lĩnh vực, bao gồm xử lý tín hiệu và ảnh, truyền thông, thiết kế điều khiển tự động, đo lường kiểm tra, phân tích mô hình tài chính, hay tính toán sinh học.Matlab cung cấp giải pháp chuyên dụng gọi là Toolbox Toolbox là một tập hợp toàn diện các hàm của Matlab (M-file)

Hệ thống Matlab gồm 5 phần chính:

 Ngôn ngữ Matlab: cho phép lập trình từ các ứng dụng nhỏ đến phức tạp

 Môi trường làm việc: bao gồm các phương tiện cho việc quản lý các biến trong không gian làm việc Workspace cũng như xuất nhập dữ liệu Nó cũng bao gồm các công cụ phát triển, quản lý, gỡ rối và định hình M-file

 Xử lý đồ họa: bao gồm các lệnh cao cấp cho trực quan hóa dữ liệu hai chiều và

mô phỏng các hệ thống động phi tuyết, mô phỏng mạch

2.2.2 Hướng dẫn cài đặt Arduino trên nền Matlab

Matlab có hỗ trợ các Package từ phần cứng Ardunio và giao tiếp với nhau thông qua cổng USB.Các gói Package được tạo ra dựa trên hoạt động của các chương trình trên board, nó có hỗ trợ trên môi trường như Windows, Mac OS, Linux Trong phần này nhóm chỉ tập trung vào giao tiếp giữa Ardunio và Matlab.Để cài đặt gói Package làm như sau:

Trang 21

Từ giao diện Matlab, click vào Add-Ons chọn Get Hardware Support Package

Hình 2.4 Get Hardware Support Package

Sau đó hộp thoại mới sẽ hiện ra, chọn Install from Internet

Hình 2.5.Giao diện Support Package Installer

Sau đó chọn vào Arduino và tick vào cài đặt các Package

Hình 2.6 Giao diện cài Package cho Arduino

Trang 22

Sau khi cài đặt xong thì tạo tài khoản MathWorks để đăng nhập

Hình 2.7 Giao diện MathWorks Account Log In

Sau khi đăng nhập vào và nhấn Next đến khi tải và cài đặt xong nhấn Finish

2.2.3 Kết nối Arduino với Matlab

Trên Command Window gõ lệnh:

Trang 23

2.3 Mô phỏng Arduino bằng Protues

2.3.1 Giới thiệu:

Trước đây để thực hiện những ứng dụng trên Arduino thì chúng ta phải dùng Arduino kết nối với máy tính, kết nối phần cứng , viết chương trình trên IDE sao đó nhúng xuống phần cứng xem kết quả Nhưng từ khi proteus cho phép mô phỏng Arduino, thì việc tiếp cận học lập trình nó cũng dễ dàng hơn, thực hiện nhanh trên mô phỏng để thấy được quá trình chạy của nó Vấn đề chúng ta cần tìm hiểu là cách tạo ra file HEX trên phần mền Arduino IDE, thư viện linh kiện Arduino, sau đó là nạp chương trình vào proteus và xem kết quả đạt được

2.3.2 File Hex là gì?

Hex ở đây được viết tắt bởi từ hexadecimal có nghĩa là hệ cơ số 16 hay hệ thập lục phân Khi viết code và nạp chương trình cho vi điều khiển (cụ thể với board Arduino UNO là ATMEGA 328) thì không đơn thuần là nạp những "câu lệnh" bạn viết ra đưa vào vi điều khiển, mà phải thông qua trình biên dịch (Aruduino IDE, Code Vision, Keil C đều là trình biên dịch) "dịch" lại những gì mình viết và tạo ra một chuỗi kí tự gồm những chữ (từ A đến F) và số (từ 0 đến 9) thuộc hệ thập lục phân Những chữ số này nạp vào vi điều khiển thì vi điều khiển mới "hiểu" được Những chữ số này được đóng gói và lưu lại thành một file có đuôi mở rộng là ".hex" Sao khi có file HEX thì ta nạp vào mô phỏng là xong

2.3.3 Giới thiệu về proteus

Proteus là phần mềm cho phép mô phỏng hoạt động của mạch điện tử bao gồm phần thiết kế mạch và viết chương trình điều khiển cho các họ vi điều khiển như MCS-51, PIC, AVR Proteus là phần mềm mô phỏng mạch điện tử của Lancenter Electronics, mô phỏng cho hầu hết các linh kiện điện tử thông dụng, đặc biệt hỗ trợ cho cả các MCU như PIC, 8051, AVR, Motorola

Phần mềm bao gồm 2 chương trình:

 ISIS cho phép mô phỏng mạch

 ARES dùng để vẽ mạch in

Trang 24

Proteus là công cụ mô phỏng cho các loại vi điều khiển, nó hỗ trợ các dòng vi điều khiển PIC, 8051, PIC, dsPIC, AVR, HC11, MSP430, ARM7/LPC2000, các giao tiếp I2C, SPI, CAN, USB, Ethenet, ngoài ra còn mô phỏng các mạch số, mạch tương tự một cách hiệu quả Nếu bạn đang muốn học lập trình trên Arduino hoặc vi điều khiển mà không có điều kiện hoặc kinh nghiệm để làm các mạch phát triển hoặc bạn muốn kiểm tra chương trình trước khi nạp vào mạch phát triển thì Proteus là lựa chọn không thể bỏ qua Ngoài chức năng mô phỏng thì phần mềm Proteus còn được sử dụng để thiết kế mạch, làm board, mô phỏng 3D

2.3.4 Thư viện cho Protues

Đầu tiên, download thư viện mô phỏng Arduino trên trang github.com/blogembarbarcadobr sau đó giải nén Sau đó để thêm thư viện vào Protues

ta mở Protues và click vào System settings Sau đó click vào dấu + trong mục thư viện

tìm tệp thư viện vừa mới giải nén.Lúc này bạn tìm linh kiện sẽ thấy Arduino trên Proteus Arduino IDE: là nơi để soạn thảo code, kiểm tra lỗi và upload code cho Arduino

Hình 2.9 Arduino IDE

Arduino Toolbar: có một số button và chức năng của chúng như sau :

Verify : kiểm tra code có lỗi hay không

Upload: nạp code đang soạn thảo vào Arduino

New, Open, Save : Tạo mới, mở và Save sketch

Trang 25

Serial Monitor : Đây là màn hình hiển thị dữ liệu từ Arduino gửi lên máy tính

Arduino IDE Menu:

Trong Sketch menu :

 Verify/ Compile : chức năng kiểm tra lỗi code

 Show Sketch Folder : hiển thị nơi code được lưu

 Add File : thêm vào một Tap code mới

 Import Library : thêm thư viện cho IDE

Tool memu:

Trong Tool menu ta quan tâm các mục Board và Serial Port

Trang 26

Mục Board : các bạn cần phải lựa chọn board mạch cho phù hợp với loại board mà bạn sử dụng nếu là Arduino Uno Nếu các bạn sử dụng loại board khác thì phải chọn đúng loại board mà mình đang có nếu sai thì code Upload vào chip sẽ bị lỗi

Serial Port: đây là nơi lựa chọn cổng Com của Arduino Khi chúng ta cài đặt driver thì máy tính sẽ hiện thông báo tên cổng Com của Arduino là bao nhiêu, ta chỉ việc vào Serial Port chọn đúng cổng Com để nạp code, nếu chọn sai thì không thể nạp code cho Arduino được

Trang 27

Chương 3 TÍNH TOÁN VÀ THIẾT KẾ

3.1 GIỚI THIỆU

Đề tài chỉ đề cập đến việc lập trình các ứng dụng trên Kit Arduino Uno bằng ngôn ngữ Matlab và mô phỏng Kit Arduino Uno trên Protues Công việc chính là cài đặt các gói Package của phần cứng Arduino Uno trên Matlab, và mô phỏng Arduino trên Protues

3.2 TÍNH TOÁN VÀ THIẾT KẾ HỆ THỐNG

3.2.1 Thiết kế sơ đồ khối hệ thống

- Giao tiếp với các chân I/O

- Giao tiếp với các chân PWM

- Giao tiếp I2C

- Giao tiếp SPI

- Điều khiển động cơ servo motor

- Đo lường vẽ đồ thị từ cảm biến

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

MÁY TÍNH

KIT ARDUINO

NÚT NHẤN-LED

LED RGB LED ĐƠN

MODULE PCF8951

SEVOR MOTOR

VẼ ĐỒ THỊ

Trang 28

Kit Arduino Uno: Có nhiệm vụ kết nối giữa máy tính và các ứng dụng, là bộ xử lý chính của đề tài, nhận các chương trình từ máy tính để điều khiển các ứng dụng được kết nối trực tiếp với Kit

Khối ứng dụng: Được xây dựng trên nền tảng đã được hỗ trợ trong gói Package được cài đặt trên Matlab, được kết nối trực tiếp với Kit Arduino Uno nhận lệnh điều khiển

từ Kit Arduino Uno

Khối Led đơn và nút nhấn: Thực hiện chương trình trên chân I/O dùng tín hiệu số Khối Led RGB: Thực hiện chương trình sử dụng các chân PWM của phần cứng

Vẽ đồ thị từ cảm biến: Cũng tích hợp trong module PCF8951

Trang 29

3.2.2 Sơ đồ nguyên lý của toàn mạch

Hình 3.3 Sơ đồ nguyên lý toàn mạch

Trang 30

Chương 4 THI CÔNG HỆ THỐNG

4.1 GIỚI THIỆU

Phần này có thể gồm có 2 phần là kết quả thi công phần cứng và những kết quả hình ảnh trên màn hình hay mô phỏng tín hiệu lắp ráp và test mạch, hình vẽ được chụp từ thực tế, do ta đã chọn phần cứng có sẵn nên không cần thiết kế mạch PCB và thi công,

chỉ thực hiện việc cắm trên board mạch để chạy ứng dụng

4.2 THI CÔNG HỆ THỐNG

4.2.1 Lắp ráp và test chương trình trên từng ứng dụng

a Nguồn cấp:

Ứng dụng nguồn nhỏ nên sử dụng nguồn từ máy tính

b Tiến hành thực hiện lần lượt các các ứng dụng:

Viết chương trình đơn giản để điều khiển ứng dụng và giới thiệu các câu lệnh thường dùng trên Matlab để điều khiển Arduino Uno

4.3 LẬP TRÌNH HỆ THỐNG

4.3.1 Viết chương trình cho ứng dụng

 Giao tiếp với các chân I/O

 Led nhấp nháy

Sơ đồ kết nối trên board

Hình 4.1 Sơ đồ kết nối Arduino với led đơn

Trang 31

Tạo chương trình trên Matlab:

Đầu tiên ta cần tạo 1 thư mục để lưu lại phần chương trình sẽ viết, để dễ dàng quản

lý nó Tiếp theo để bắt đầu việc lập trình thì làm như sau: click vào New script để tạo

file.m và viết chương trình

Hình 4.2 Cửa sổ viết code trên Matlab

Các hàm hổ trợ:

board = arduino(); : Dòng lệnh này là một thuộc tính dùng để đọc hiển thị các loại

phần cứng Arduino, xác định rõ ràng loại board khi bạn tạo đối tượng với nó

disp('turn on LED'); : Lệnh disp dùng để xuất chuỗi ký tự hoặc số

writeDigitalPin(); : Xuất giá trị logic quy định với chân trên board

pause(); : Là hàm trì hoãn thời gian là giây

Trang 32

disp('close Arduino board');

clear board;

Sao đó ta lưu chương trình lại với tên Lednhapnhay.m

Trên Command window gõ lệnh:

Ngày đăng: 27/11/2021, 23:33

TỪ KHÓA LIÊN QUAN

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

w