Bài giảng Hệ nhúng: Chương 5 - Đỗ Công Thuần
lượt xem 3
download
Bài giảng "Hệ nhúng: Chương 5 - Arduino" trình bày các nội dung chính sau đây: Giới thiệu Arduino; Ưu điểm Arduino; Mục đích của Shields; Lập trình với Arduino; Công cụ lập trình;... Mời các bạn cùng tham khảo!
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Bài giảng Hệ nhúng: Chương 5 - Đỗ Công Thuần
- Hệ nhúng (Embedded Systems) IT4210 Đỗ Công Thuần Khoa Kỹ thuật máy tính, Trường CNTT&TT Đại học Bách khoa Hà Nội Email: thuandc@soict.hust.edu.vn
- Giới thiệu môn học • Tên học phần: Hệ nhúng • Mã học phần: IT4210 (3-0-1-6) • Thời lượng: ‒ 16.5 buổi lý thuyết (3 tiết/buổi) ‒ 3 buổi thực hành (5 tiết/buổi) • Yêu cầu kiến thức nền tảng: ‒ Kiến trúc máy tính ‒ Vi xử lý ‒ Lập trình C 2
- Mục tiêu môn học • Nắm được kiến trúc tổng quan, đặc điểm và hoạt động của một hệ nhúng • Biết thiết kế hệ nhúng cơ bản (nguyên lý thiết kế mạch, …) • Nắm được kiến trúc vi điều khiển (Intel, ARM) • Lập trình vi điều khiển từ cơ bản đến nâng cao với các dòng vi điều khiển phổ biến • Lập trình với hệ điều hành nhúng 3
- Đánh giá học phần 1. Đánh giá quá trình: 40% ‒ Bài tập về nhà ‒ Chuyên cần ‒ Các bài thực hành, nhóm 4 SV/nhóm 2. Đánh giá cuối kỳ: 60% ‒ Làm project cuối kỳ, nhóm 4 SV/nhóm ‒ Yêu cầu sinh viên tự chọn nhóm và đăng kí đề tài. Chú ý: danh sách đề tài sẽ được cập nhật sau! 4
- Tài liệu tham khảo • Textbook/Lecture notes: ‒ Peter Marwedel, Embedded System Design: Embedded Systems Foundations of Cyber-Physical Systems, and the Internet of Things, Spinger, 4th edition, 2021. ‒ Edward A. Lee and Sanjit A. Seshia, Introduction to Embedded Systems: A Cyber-Physical Systems Approach, MIT Press, 2nd edition, 2017. ‒ Tammy Noergaard, Embedded Systems Architecture: A Comprehensive Guide for Engineers and Programmers, Elsevier, 2nd edition, 2013. ‒ Han-Way Huang, Leo Chartrand, Microcontroller: An Introduction to Software & Hardware Interfacing, Cengage Learning, 2004. ‒ Lectures in Embedded Systems from Univ. of Cincinnati (EECE 6017C), Univ. of California, Berkeley (EECS 149), Univ. of Pennsylvania (ESE 350), Univ. of Kansas (EECS388). ‒ … • Manuals/Handbooks/Internet ‒ Atmel, Microchip, Texas Instruments, Keil… ‒ Keil ASM51 ‒ Arduino IDE ‒ … 5
- Nội dung học phần • Chương 1: Giới thiệu về Hệ nhúng • Chương 2: Thiết kế phần cứng Hệ nhúng • Chương 3: Lập trình với 8051 • Chương 4: Ghép nối ngoại vi với 8051 • Chương 5: Arduino • Chương 6: Ghép nối nối tiếp • Chương 7: Ghép nối với thế giới thực • Chương 8: Kiến trúc ARM • Chương 9: RTOS và FreeRTOS 6
- Nội dung học phần • Chương 1: Giới thiệu về Hệ nhúng • Chương 2: Thiết kế phần cứng Hệ nhúng • Chương 3: Lập trình với 8051 • Chương 4: Ghép nối ngoại vi với 8051 • Chương 5: Arduino • Chương 6: Ghép nối nối tiếp • Chương 7: Ghép nối với thế giới thực • Chương 8: Kiến trúc ARM • Chương 9: RTOS và FreeRTOS 7
- Chương 5 Arduino Created in Ivrea, Italy in 2005 by the Arduino Team
- Giới thiệu Arduino • Bắt đầu là một dự án nhằm giúp mọi người (từ nghiệp dư đến chuyên nghiệp) tiếp cận smart devices dễ hơn. • Điều khiển thiết bị điện tử thông qua việc đọc đầu vào và biến đổi thành đầu ra → Làm việc như một công cụ (tool). • Hiện tại là board lập trình nổi tiếng nhất trong giới “DIY”! → “Arduino microcontroller” For more information: http://spectrum.ieee.org/geek- life/hands-on/the-making-of-arduino 9
- Ưu điểm Arduino? • Chuẩn hóa cả phần cứng và phần mềm, rất nhiều người dùng. • Cân bằng giữa tính năng và dễ sử dụng, giúp đơn giản hóa công việc. ‒ Ngôn ngữ C++ đơn giản hóa. • Tương đối rẻ! • Nhược điểm? Tập trung vào sự sáng tạo! 10
- Môi trường lập trình/làm việc Chỉ cần kết nối với PC qua dây cáp USB để lập trình cho Arduino board. 11
- Môi trường lập trình/làm việc 12
- Arduino boards • There are many Arduino boards! ‒ Uno ‒ Leonardo ‒ Mega ‒ Due ‒ Micro ‒ LilyPad ‒ Esplora https://www.arduino.cc/en/main/boards 13
- USB (to Computer) Uno PWR IN RESET SCL\SDA (I2C Bus) POWER 5V / 3.3V / GND Digital I\O PWM(3, 5, 6, 9, 10, 11) Analog INPUTS 14
- Uno Specifications PWM (Pulse-Width Modulation)? 15
- Uno Specifications • Power Supply/Connections ‒ DC power socket: cấp 7-12V DC (hoặc qua cáp USB). ‒ IOREF (Pin 2): điện áp hoạt động của Arduino (@5V với Uno và Leonardo). Mục đích để phát hiện điện áp hoạt động khi “đính kèm” các 3V Arduino. ‒ Reset (Pin 3): mức thấp, xóa flash memory • Analog Inputs (Pin 9-14) ‒ Để đo điện áp kết nối tới các chân. ‒ Cũng có thể được sử dụng như digital input và output. Mặc định là analog input. 16
- Uno Specifications • Digital Inputs (Pin 15-28) ‒ Có thể được sử dụng như input và output (0V/5V). ‒ Giới hạn dòng ~40mA ‒ 40mA @ 5V, đủ để cấp nguồn cho LED nhưng không đủ để điều khiển động cơ điện (electric motor) • AREF (Pin 30): Analog Reference ‒ Để cấu hình điện áp tham chiếu (reference voltage) cho các analog input. 17
- Leonardo • Upgrade from the Uno • ATmega32u4 • Built-in USB interface • Slightly more memory • More analog inputs • Less expensive than the Uno • Not as popular as the Uno. Why? 18
- Mega • Largest Arduino board • ATmega2560 (Atmel® AVR® 8-Bit Microcontroller) • USB (normal size) for data, power and programming • Power input connector • Input 6-20V (7-12V recommended) • Female headers at the top side • 54 digital I/O ports (of which 15 PWM) • 16 analog input ports • 4 serial ports 19
- Due • 32-bit ARM Cortex-M3 RISC, 84-MHz ARM chip, more powerful • Operates at 3.3V rather than the 5Vs of most previous Arduinos → Incompatibility problem! • Same footprint as Mega’s Main advantages: ✓ Lots of memory for programming and data ✓ Hardware music output capabilities (hardware DACs) ✓ Four serial ports ✓ Two USB ports ✓ USB host and OTG interfaces ✓ USB keyboard and mouse emulation 20
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Bài giảng Bảo trì hệ thống: Chương 5 - TS. Trần Quang Diệu
8 p | 198 | 14
-
Bài giảng Nguyên lý hệ điều hành (handout): Chương 5 - Phạm Đăng Hải
15 p | 60 | 9
-
Bài giảng Hệ điều hành Windows 7: Chương 5 - Trường ĐH An Giang
14 p | 45 | 8
-
Bài giảng Lập trình hệ nhúng: Chương 5 - Phạm Ngọc Hưng
12 p | 87 | 6
-
Bài giảng Phân tích và thiết kế hệ thống thông tin: Chương giới thiệu - Trần thị Huế
9 p | 73 | 6
-
Bài giảng Hệ thống thông tin công nghiệp - Chương 4.5: Mã hóa bit
9 p | 40 | 5
-
Bài giảng Bảo trì hệ thống: Chương 5 - ThS. Nguyễn Lê Minh
15 p | 40 | 5
-
Bài giảng Hệ thống điều khiển phân tán - Chương 5: Kiến trúc PC-based Control
20 p | 49 | 5
-
Bài giảng Hệ điều hành nâng cao: Bài 5 - Trần Hạnh Nhi
7 p | 164 | 5
-
Bài giảng Phân tích thiết kế hệ thống thông tin - Chương 5: Mô hình hóa chức năng sử dụng use case
17 p | 63 | 4
-
Bài giảng Nguyên lý Hệ điều hành - Chương 5: Cấu hình và quản lý hệ thống
4 p | 46 | 4
-
Bài giảng Hệ điều hành UNIX-Linux: Chương 5 - Nguyễn Trí Thành
18 p | 85 | 4
-
Bài giảng An toàn và bảo mật hệ thống thông tin: Chương 5
115 p | 10 | 3
-
Bài giảng Lập trình hệ nhúng: Chương 5 - Phạm Văn Thuận
6 p | 73 | 2
-
Bài giảng Hệ thống máy tính - Chương 0: Giới thiệu
7 p | 107 | 2
-
Bài giảng Hệ thống thông tin công nghiệp - Chương Tổng kết - Ôn tập
8 p | 20 | 2
-
Bài giảng CAD/CAM - Chương 5: Cấu trúc dữ liệu và tiêu chuẩn đồ họa
17 p | 8 | 1
-
Bài giảng Trí tuệ nhân tạo (Artificial Intelligence): Chương 5 – GV. Nguyễn Văn Hòa
34 p | 3 | 1
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn