BỘ GIÁO DỤC VÀ ĐÀO TẠOTRƯỜNG ĐẠI HỌC NHA TRANG KHOA CÔNG NGHỆ THÔNG TIN BÁO CÁO THỰC TẬP CƠ SỞ Đề tài 2: TÌM HIỂU CÁCH SỬ DỤNG VÀ CÀI ĐẶT CODES CƠ BẢN VÀO MẠCH LẬP TRÌNH ARDUINO Giảng vi
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC NHA TRANG
KHOA CÔNG NGHỆ THÔNG TIN
BÁO CÁO THỰC TẬP CƠ SỞ
Đề tài 2: TÌM HIỂU CÁCH SỬ DỤNG VÀ CÀI ĐẶT CODES
CƠ BẢN VÀO MẠCH LẬP TRÌNH ARDUINO
Giảng viên hướng dẫn : Nguyễn Khắc Cường
Sinh viên thực hiện : Nguyễn Vũ Duy Hưng
Mã sinh viên : 62130699
Nha Trang – 2023
Trang 2TRƯỜNG ĐẠI HỌC NHA TRANG
Khoa: Công nghệ Thông tin
PHIẾU THEO DÕI TIẾN ĐỘ VÀ ĐÁNH GIÁ
ĐỒ ÁN/KHÓA LUẬN/CHUYÊN ĐỀ TỐT NGHIỆP
(Dùng cho CBHD và nộp cùng báo cáo ĐA/KL/CĐTN của sinh viên)
Tên chủ đề: TÌM HIỂU CÁCH SỬ DỤNG VÀ CÀI ĐẶT CODE CƠ BẢN VÀO MẠCH
LẬP TRÌNH ARDUINO
Giảng viên hướng dẫn: Nguy.n Kh/c Cư2ng
Sinh viên được hướng dẫn: Nguy.n Vũ Duy Hưng
Khóa: Ngành: Công nghệ Thông tin
Kiểm tra giữa tiến độ của Trưởng Bộ môn
Ngày kiểm tra:
……… ……… Đánh giá công việc hoàn thành:……%: Ký tên
Được tiếp tục: € Không tiếp tục: € ……….
8
9
10
…
Nhận xét chung (sau khi sinh viên hoàn thành ĐA/KL/CĐTN):
Điểm hình thức: ……/10 Điểm nội dung: /10 Điểm tổng kết: ….
…/10
+ Đối với ĐA/KLTN:
Kết luận sinh viên: Được bảo vệ:
Không được bảo vệ:
Khánh Hòa, ngày tháng năm 2023
Cán bộ hướng dẫn
(Ký và ghi rõ họ tên)
TRƯỜNG ĐẠI HỌC NHA TRANG
Trang 3Khoa/Viện: Công nghệ Thông tin
PHIẾU THEO DÕI TIẾN ĐỘ VÀ ĐÁNH GIÁ ĐỒ ÁN / KHÓA LUẬN TỐT NGHIỆP
(Dùng cho CBHD và nộp cùng báo cáo ĐA/KLTN của sinh viên)
Tên chủ đề: TÌM HIỂU CÁCH SỬ DỤNG VÀ CÀI ĐẶT CODE CƠ BẢN VÀO MẠCH
LẬP TRÌNH ARDUINO
Chuyên ngành: Công nghệ Thông tin
Sinh viên thực hiện: Nguy.n Vũ Duy Hưng
Người hướng dẫn (học hàm, học vị, họ và tên): Nguy.n Kh/c Cư2ng
Cơ quan công tác: Khoa Công nghệ Thông tin – Trư2ng Đại học Nha Trang
Phần đánh giá và cho điểm của người hướng dẫn (tính theo thang điểm 10)
Tiêu chí
đánh giá
Trọng số (%)
Mô tả mức chất lượng
Điểm
cầu Không đạt
9 - 10 7 - 8 5 - 6 < 5
Xây dựng đề
cương nghiên cứu 10
Tinh thần và thái
độ làm việc 10
Kiến thức và kỹ
năng làm việc 10
Nội dung và kết
quả đạt được 40
Kỹ năng viết và
trình bày báo cáo 30
ĐIỂM TỔNG
Ghi chú: Điểm tổng làm tròn đến 1 số lẻ.
Nhận xét chung (sau khi sinh viên hoàn thành ĐA/KLTN):
……….
……….
………
………….……… Đồng ý cho sinh viên: Được bảo vệ: € Không được bảo vệ: €
Khánh Hòa, ngày…….tháng … năm 2023
Cán bộ hướng dẫn
(Ký và ghi rõ họ tên)
Trang 4TRƯỜNG ĐẠI HỌC NHA TRANG
Khoa/Viện: Công nghệ Thông tin
PHIẾU CHẤM ĐIỂM ĐỒ ÁN / KHÓA LUẬN TỐT NGHIỆP
(Dành cho cán bộ chấm phản biện)
Tên chủ đề: TÌM HIỂU CÁCH SỬ DỤNG VÀ CÀI ĐẶT CODE CƠ BẢN VÀO MẠCH
LẬP TRÌNH ARDUINO
Chuyên ngành: Công nghệ Thông tin
Họ và tên sinh viên: Nguy.n Vũ Duy Hưng Mã sinh viên: 62130699
Người phản biện (học hàm, học vị, họ và tên):
Cơ quan công tác: Khoa Công nghệ Thông tin – Trư2ng Đại học Nha Trang
I Phần đánh giá và cho điểm của người phản biện (tính theo thang điểm 10)
Tiêu chí
đánh giá
Trọn
g số (%)
Mô tả mức chất lượng
Điể m Giỏi Khá Đạt yêu cầu Không đạt
Đồng ý cho sinh viên: Được bảo vệ: € Không được bảo vệ: €
Khánh Hòa, ngày…….tháng …… năm 2023
Cán bộ chấm phản biện
(Ký và ghi rõ họ tên)
Trang 5II Phần nhận xét cụ thể (dựa theo phiếu chấm điểm và khung tiêu chí đánh giá theo Rubric)
II.1 Hình thức thuyết minh (tỉ trọng 30%)
* Trình bày (Rõ ràng, mạch lạc? Biểu bảng, hình vẽ trình bày rõ ràng, đúng quy cách?…)
II.2 Nội dung thuyết minh (tỉ trọng 30%)
* Mục tiêu nghiên cứu (Trình bày rõ ràng? Ý nghĩa khoa học và thực tiễn? Tính khả thi? )
* Phương pháp nghiên cứu (Hiện đại? Phù hợp với mục tiêu và nội dung nghiên cứu? Mô
tả? Đánh giá và so sánh với các phương pháp khác?…)
………
………
II.3 Kết quả nghiên cứu (tỉ trọng 20%)
* Kết quả đạt được (Độ tin cậy? Tính sáng tạo? Giá trị khoa học và thực tiễn? )
Trang 6LỜI CAM ĐOAN
Tôi xin được cam đoan: Những phần sử dụng tài liệu tham khảo trong đồ
án đã được trích dẫn đầy đủ
Nếu phát hiện có sự sao chép kết quả nghiên cứu của đề tài khác, tôi xinchịu hoàn toàn trách nhiệm và chịu kỷ luật của Khoa và Nhà trư2ng đề ra
Khánh Hòa, ngày … tháng … năm 2023
Sinh viên thực hiện
Trang 7LỜI CẢM ƠN
Để hoàn thành bài thực tập cơ sở lần này, trước hết em xin gửi đến quý thầy,
cô giảng viên của Trư2ng Đại học Nha Trang l2i cảm ơn chân thành
Em xin gửi đến thầy Nguy.n Kh/c Cư2ng, ngư2i đã tận tình hướng dẫn, giúp
đỡ em hoàn thành đề bài thực tập cơ sở này l2i cảm ơn sâu s/c nhất Và cũngxin gửi l2i cảm ơn này đến những thầy cô trong khoa Công nghệ Thông tin,những ngư2i đã giảng dạy em trong khoản th2i gian qua, chính nh2 công ơn tolớn ấy đã giúp đỡ và tiếp sức cho em rất nhiều trong quá trình học tập cũngmình
Mình cũng xin gửi l2i cảm ơn tới các bạn sinh viên Trư2ng Đại học NhaTrang đã nhiệt tình tham gia khảo sát thông tin về nhà trọ và tình hình thuê trọ,
hỗ trợ đóng góp trong quá trình làm đề tài
Trong quá trình nghiên cứu thực hiện chủ đề báo cáo, cũng như là trong quátrình làm bài báo cáo, khó tránh khỏi sai sót, rất mong các thầy, cô bỏ qua.Đồng th2i do kiến thức cũng như kinh nghiệm thực ti.n của bản thân còn hạnchế nên đề tài, bài báo cáo lần này khó thể không tránh khỏi những thiếu sót, emrất mong nhận được ý kiến đóng góp từ quý thầy, cô để em học hỏi thêm đượcnhiều kinh nghiệm, cũng như kỹ năng cần thiết
Em xin chân thành cảm ơn!
Trang 8MỤC LỤC Chương 1: TỔNG QUAN VỀ ARDUINO
1 Arduino là gì?
1.1 Các khái niệm cơ bản về Arduino
1.2 Cấu tạo Arduino
1.3 Chi tiết phần cứng của Arduino
4.1 Cấu trúc chương trình Arduino
4.2 Phần mềm & ngôn ngữ được sử dụng
Chương 3: THIẾT KẾ VÀ LẬP TRÌNH NHÚNG THỰC HIỆN MỘT SỐ CÔNG VIỆC VI ĐIỀU KHIỂN ĐƠN GIẢN DÙNG MẠCH ARDUINO.
Trang 94.1 Code Chương trình4.2 Giải thích
Trang 10Hình 2.5 Khởi động Arduino IDE
Hình 2.6 Chọn Board Arduino Uno
Trang 11Chương 1: TỔNG QUAN VỀ ARDUINO
1 Arduino là gì?
1.1 Các khái niệm cơ bản về Arduino
- Arduino là nền tảng tạo mẫu điện tử mã nguồn mở, được sử dụng
nhằm xây dựng các ứng dụng điện tử tương tác với nhau hoặc môitrư2ng được thuận tiện, d dàng
- Nền tảng mẫy này giống như một máy tính thu nhỏ, giúp ngư2i dùng
lập trình và thực hiện các dự án điện tử mà không cần phải đến cáccông cụ chuyên dụng để phục vụ việc nạp code
- Phần mềm này tương tác với thế giới bên ngoài thông qua các biến
điện tử, đèn và động cơ
- Arduino là một bo mạch vi điều khiển do một nhóm giáo sư và sinh
viên nước Ý thiết kế và đưa ra đầu tiên vào năm 2005 Mạch Arduinođược sử dụng để cảm nhận và điều khiển nhiều đối tượng khác nhau.Ngoài ra mạch còn có khả năng liên kết với nhiều module khác nhaunhư module đọc thẻ từ, ethernet shield, sim900A, … để tăng khảnăng ứng dụng của mạch
Trang 12hoặc nguồn điện bên ngoài, cho phép cung cấp năng lượng cho cácphần cứng, cảm biếc khác.
- Là phần mềm nguồn mở tương tự như C++ Môi trư2ng phát triển
tích hợp Arduino (IDE – Integrated Development Enviroment ) chophép bạn soạn thảo, biên dịch code, nạp chương trình cho board
Tất cả những điều này nhằm hỗ trợ cho các nghệ sĩ, nhà sản xuất
tự do phát triển ý tưởng của họ thành các đối tượng thực sự mộtcách d dàng
1.3 Chi tiết phần cứng của Arduino
- Cổng USB (1): là chân c/m để tải mã lập trình từ PC lên chip điều
khiển Đồng th2i đây cũng là cổng giao tiếp serial giúp truyền dữ liệu
từ chip điều khiển vào máy tính
- Jack nguồn (2): để chạy Arduino, bạn hoàn toàn có thể nạp nguồn từ
cổng USB ở trên Tuy nhiên không phải lúc nào cũng kết nối với máytính được Có những dự án cần thực hiện ngoài tr2i sẽ cần một nguồnđiện khác với điện áp từ 9V – 12V
- Hàng Header (3): những chân đánh số từ 0 – 12 là hàng digital pin.
Đây là nơi truyền nhận các tín hiệu số Bên cạch đó sẽ là một pin đất(GND) và pin điện áp tham chiếu (AREF)
- Hàng Header thứ 2 (4): chủ yếu liên quan tới điện áp đất, nguồn.
- Hàng Header thứ 3 (5): đây là các chân để nhập – xuất các tín hiệu
analog (độc thông tin của các thiết bị cảm biến )
- Chip điều khiển AVR (6): bộ phận xử lý trung tâm của toàn bo
mạch Với mỗi mẫu Arduino khác nhau, con chip này sẽ khác nhau
Ví dụ trên Arduino Uno thì sẽ sử dụng ATMega328
Hình 1.2 - Chi tiết bộ phận Arduino
1.4 Các loại Arduino.
- Arduino Uno
Trang 13Đây chính là loại board đơn giản nhất nên rất phù hợp với nhữngngư2i mới b/t đầu tìm hiểu về lĩnh vực này Dữ liệu số bao gồm 14chân, đầu vào gồm 6 chân 5V, khả năng phân giải là 1024 mức, tốc
độ 16MHz, điện áp từ 7V đến 12V Kích thước của Board này là5,5x7cm
bộ giám sát nối tiếp Tính năng hấp dẫn của Arduino Nano chọn côngsuất lớn nhất với hiệu điện thế của nó
- Arduino Pro
Đây là một thiết kế mới mẻ khi chân số không có sẵn, tùy vào sốchân bạn sử dụng để g/n trực tiếp và giúp tiết kiệm được khoảngkhông lớn, ta thư2ng thấy hai loại có nguồn 3.3V và 5V
- Arduino LilyPad
Board mạch Lily Pad Arduino là một công nghệ dệt điện tử có thểđeo được được mở rộng bởi Leah Sang Buechley, và được thiết kếmột cách cẩn thận bởi dòng Lea Leah và SparkFun Mỗi board đượcthiết kế một cách tưởng tượng với các miếng kết nối khổng lồ & mộtmặt sau mịn màng để cho chúng được khâu vào quần áo bằng chỉ Arduino này cũng bao gồm I / O, nguồn và cả board cảm biến đượcchế tạo đặc biệt cho hàng dệt may điện tử
- Arduino RedBoard
Board mạch RedBoard Arduino có thể được lập trình bằng cáp USBMini-B bằng Arduino IDE Nó sẽ hoạt động trên Windows 8 màkhông phải sửa đổi cài đặt bảo mật của bạn Nó không đổi do chipUSB hoặc FTDI chúng tôi sử dụng và nó hoàn toàn phẳng ở mặt sau.Tạo nó rất đơn giản để sử dụng trong thiết kế dự án Chỉ cần c/mboard, chọn tùy chọn menu để chọn Arduino UNO và bạn đã sẵn
Trang 14sàng để tải lên chương trình Bạn có thể điều khiển RedBoard quacáp USB bằng gi/c c/m thùng.
2 Arduino Uno R3?
2.1 Tổng quan về Arduino Uno R3.
- Đây là kit của Arduino Uno thế hệ thứ 3, có khả năng lập trình cho
các ứng dụng điều khiển phức tạp Được trang bị cấu hình mạnh chocác loại bộ nhớ như ROM, RAM và Flash, các ngõ vào/ ra digitalI/O Trong đó nhiều ngõ có khả năng xuất tín hiệu PWM, các ngõđọc tín hiệu analog và chuẩn giao tiếp đa dạng như: UART, SPI, TWI(I2C)
- Arduino Uno R3 được sử dụng vi điều khiển ATmega328, tương
thích với hầu hết các loại Arduino Shield trên thị trư2ng, có thể g/nthêm các module mở rộng để thực hiện thêm các chức năng như điềukhiển motor, kết nối wifi hay các chức năng khác
Hình 1.3 - Mạch Arduino Uno R3
2.2 Thông số
Vi điều khiển ATMega328 họ 8 bit
Điện áp hoạt động 5V DC (chỉ được cấp qua cổng USB)Tần số hoạt động 16 MHz
Dòng tiêu thụ Khoảng 30mA
Đ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 I/O 14 (6 chân hardware PWM)
Số chân Analog 6 (độ phân giải 10bit)
Dòng tối đa trên mỗi 30 mA
Trang 15- Arduino UNO có thể được cấp nguồn 5V thông qua cổng USB hoặc
cấp nguồn ngoài với điện áp khuyên dùng là 7-12V DC và giới hạn
là 6-20V Thư2ng thì cấp nguồn bằng pin vuông 9V là hợp lí nhấtnếu bạn không có sẵn nguồn từ cổng USB Nếu cấp nguồn vượt quángưỡng giới hạn trên, bạn sẽ làm hỏng Arduino UNO
2.2.2 Các chân năng lượng
- GND (Ground): cực âm của nguồn điện cấp cho Arduino UNO Khi
bạn dùng các thiết bị sử dụng những nguồn điện riêng biệt thì nhữngchân này phải được nối với nhau
- 5V: cấp điện áp 5V đầu ra Dòng tối đa cho phép ở chân này là
500mA
- 3.3V: cấp điện áp 3.3V đầu ra Dòng tối đa cho phép ở chân này là
50mA
- Vin (Voltage Input): để cấp nguồn ngoài cho Arduino UNO, bạn nối
cực dương của nguồn với chân này và cực âm của nguồn với chânGND
- IOREF: điện áp hoạt động của vi điều khiển trên Arduino UNO có
thể được đo ở chân này Và dĩ nhiên nó luôn là 5V Mặc dù vậy bạnkhô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
- RESET: việc nhấn nút Reset trên board để reset vi điều khiển tương
đương với việc chân RESET được nối với GND qua 1 điện trở10KΩ
2.2.3 Bộ nhớ
Vi điều khiển Atmega328 tiêu chuẩn cung cấp cho ngư2i dùng:
- 32KB bộ nhớ Flash: những đoạn lệnh bạn lập trình sẽ được lưu trữ
trong bộ nhớ Flash của vi điều khiển Thư2ng thì sẽ có khoảng vài
KB trong số này sẽ được dùng cho bootloader nhưng đừng lo, bạnhiếm khi nào cần quá 20KB bộ nhớ này đâu
Trang 16- 2KB cho SRAM (Static Random Access Memory): giá trị các biến
bạn khai báo khi lập trình sẽ lưu ở đây Bạn khai báo càng nhiều biếnthì càng cần nhiều bộ nhớ RAM Tuy vậy, thực sự thì cũng hiếm khinào bộ nhớ RAM lại trở thành thứ mà bạn phải bận tâm Khi mấtđiện, dữ liệu trên SRAM sẽ bị mất
- 1KB cho EEPROM: EEPROM đây giống như một chiếc ổ cứng
mini nơi bạn có thể đọc và ghi dữ liệu của mình vào đây mà khôngphải lo bị mất khi cúp điện giống như dữ liệu trên SRAM
2.2.4 Các cổng Vào/Ra
Một số chân Digital có các chức năng đặc biệt như sau:
- 2 chân Serial: 0 (RX) và 1 (TX): dùng để gửi (transmit – TX) và
nhận (receive – RX) dữ liệu TTL Serial Arduino Uno có thể giaotiếp với thiết bị khác thông qua 2 chân này Kết nối bluetooth thư2ngthấy nói nôm na chính là kết nối Serial không dây Nếu không cầngiao tiếp Serial, bạn không nên sử dụng 2 chân này nếu không cầnthiết
- Chân PWM (~): 3, 5, 6, 9, 10, và 11: cho phép bạn xuất ra xung
PWM với độ phân giải 8bit (giá trị từ 0 → 2 -1 tương ứng với 0V →85V) bằng hàm analogWrite() Nói một cách đơn giản, bạn có thể điềuchỉnh được điện áp ra ở chân này từ mức 0V đến 5V thay vì chỉ cốđịnh ở mức 0V và 5V như những chân khác
- Chân giao tiếp SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK).
Ngoài các chức năng thông thư2ng, 4 chân này còn dùng để truyềnphát dữ liệu bằng giao thức SPI với các thiết bị khác
- LED 13: trên Arduino UNO có 1 đèn led màu cam (kí hiệu chữ L).
Khi bấm nút Reset, bạn sẽ thấy đèn này nhấp nháy để báo hiệu Nóđược nối với chân số 13 Khi chân này được ngư2i dùng sử dụng,LED sẽ sáng
Arduino UNO có 6 chân analog (A0 → A5) cung cấp độ phân giảitín hiệu 10bit (0 → 2 -1) để đọc giá trị điện áp trong khoảng 0V →105V Với chân AREF trên board, bạn có thể để đưa vào điện áptham chiếu khi sử dụng các chân analog Tức là nếu bạn cấp điện
áp 2.5V vào chân này thì bạn có thể dùng các chân analog để đođiện áp trong khoảng từ 0V → 2.5V với độ phân giải vẫn là 10bit
Trang 17Chương 2: TRÌNH BÀY CÁCH KẾT NỐI, CƠ CHẾ HOẠT ĐỘNG,
CÁCH LẬP TRÌNH MẠCH ARDUINO
1 Cách kết nối
- Bước 1: Kết nối Arduino Uno R3 vào máy tính thông qua cổng USB
Hình 2.1 - Kết nối Arduino Uno R3
- Bước 2: Tìm cổng kết nối của Arduino Uno R3 với máy tính
Khi Arduino Uno R3 kết nối với máy tính, nó sẽ sử dụng một cổngCOM (Communication port - cổng dữ liệu ảo) để máy tính và bomạch có thể truyền tải dữ liệu qua lại thông qua cổng này Windows
có thể quản lí đến 256 cổng COM Để tìm được cổng COM đangđược sử dụng để máy tính và mạch Arduino UNO R3 giao tiếp vớinhau, bạn phải mở chức năng Device Manager của Windows.+ Bạn mở cửa sổ Run và gõ lệnh “mmc devmgmt.msc”
Hình 2.2 - Mở cửa sổ Run
+ Sau đó bấm Enter, cửa sổ Device Manager sẽ hiện lên
Trang 18Hình 2.3 - Cửa sổ Device Manager
+ Mở mục Ports (COM & LPT), bạn sẽ thấy cổng COM ArduinoUno R3 đang kết nối
Hình 2.4 - Cổng kết nối (Port)
+ Cổng kết nối ở đây là COM3
+ Thông thư2ng, trong những lần kết nối tiếp theo, Windows sẽ sửdụng lại cổng COM3 để kết nối nên bạn không cần thực hiện thêmthao tác tìm cổng COM này nữa
- Bước 3: Khởi động Arduino IDE
Hình 2.5 - Khởi động Arduino IDE
- Bước 4: Cấu hình phiên bản làm việc cho Arduino IDE
+ Vào menu Tools -> Board -> chọn Arduino Uno