PowerPoint Presentation TRƯỜNG ĐẠI HỌC THỦY LỢI KHOA CƠ KHÍ Mục tiêu môn học Bộ môn Kỹ thuật Cơ điện tử o Trang bị cho sinh viên các kiến thức cơ bản về vi xử lý, vi điều khiển bao gồm định nghĩa, cấu[.]
TRƯỜNG ĐẠI HỌC THỦY LỢI KHOA CƠ KHÍ Mục tiêu môn học o Trang bị cho sinh viên kiến thức vi xử lý, vi điều khiển bao gồm: định nghĩa, cấu trúc, thành phần quan trọng, cách xử lý biểu diễn thông tin hệ vi xử lý – vi điều khiển o Trang bị kiến thức board mạch phát triển Arduino bao gồm: cấu hình phần cứng, cách lập trình nhập xuất tín hiệu số, tương tự, xử lý ngắt, truyền thông UART, I2C, SPI, ứng dụng phổ biến điều khiển động Servo, động DC, … o Sau học xong kiến thức lý thuyết, sinh viên có khả lập trình xử lý toán sử dụng vi điều khiển, tạo tiền đề cho việc tiếp cận tốn phức tạp Bộ mơn Kỹ thuật Cơ điện tử Nội dung môn học Chương 1: Tổng quan vi xử lý – vi điều khiển & Arduino Chương 2: Arduino Uno Arduino IDE Chương 3: Nhập xuất tín hiệu xử lý ngắt cho Arduino Chương 4: Lập trình ứng dụng cho Arduino Bộ mơn Kỹ thuật Cơ điện tử Giáo trình, tài liệu tham khảo Giáo trình: o Ngơ, Diên Tập : Kỹ thuật vi điều khiển với AVR //Ngô Diên Tập - Hà Nội ::Khoa học kỹ thuật,,2003 (#000013206) o Ngô, Diên Tập : Vi xử lý đo lường điều khiển/Ngô Diên Tập - Hà Nội:Khoa học kỹ thuật,2004 (#000008908) Tài liệu tham khảo: Arduino dành cho người bắt đầu [Available online] Link: Arduino dành cho người bắt đầu Cộng đồng Arduino Việt Nam: http://arduino.vn/ Trang chủ Arduino: https://www.arduino.cc/ Bộ môn Kỹ thuật Cơ điện tử Chương 1: Tổng quan vi xử lý – vi điều khiển & Arduino 1.1 Giới thiệu vi xử lý - vi điều khiển 1.2 Cấu trúc chung vi xử lý - vi điều khiển 1.3 Giới thiệu Arduino vi điều khiển ATmega328P 1.4 Định dạng liệu biểu diễn thông tin hệ vi xử lý – vi điều khiển Bộ môn Kỹ thuật Cơ điện tử 1.1 Giới thiệu chung vi xử lý – vi điều khiển 1.1.1 Vi xử lý o Vi xử lý (micro – processor / 𝝁𝑷 / 𝒖𝑷), gọi vi xử lý, linh kiện điện tử chế tạo từ transistor thu nhỏ tích hợp lên vi mạch tích hợp Bộ vi xử lý Intel 80486DX2 Intel Core i9 – 11900K Intel 4004, vi xử lý bit thương mại năm 1971 Bộ môn Kỹ thuật Cơ điện tử 16M Cache, 3.50 GHz up to 5.30 GHz, 8C16T, Socket 1200, Cores Threads 16 Ngày mắt: 17 / 03 / 2021 1.1 Giới thiệu chung vi xử lý – vi điều khiển 1.1 Giới thiệu chung vi xử lý – vi điều khiển o Chức vi xử lý: xử lý liệu, chẳng hạn cộng, trừ, nhân, chia, so sánh o Vi xử lý có khối chức cần thiết để lấy liệu, xử lý liệu xuất liệu sau xử lý o Vi xử lý khơng có khả giao tiếp trực tiếp với thiết bị ngoại vi, có khả nhận xử lý liệu Bộ môn Kỹ thuật Cơ điện tử 1.1 Giới thiệu chung vi xử lý – vi điều khiển 1.1 Giới thiệu chung vi xử lý – vi điều khiển o Vi xử lý xuất nhiều lĩnh vực, đặc biệt phần cứng máy tính: CPU (Central Processing Unit) bo mạch máy tính, điện thoại thơng minh Card đồ họa GPU (Graphics Processing Unit), … o Vi xử lý kết hợp với thiết bị khác sử hệ thống lớn, phức tạp đòi hỏi phải xử lý lượng lớn phép tính phức tạp, có tốc độ nhanh: hệ thống sản xuất tự động công nghiệp, tổng đài điện thoại, robot có khả hoạt động phức tạp v.v Bộ môn Kỹ thuật Cơ điện tử 1.1 Giới thiệu chung vi xử lý – vi điều khiển 1.1 Giới thiệu chung vi xử lý – vi điều khiển o Các hãng công nghệ: Intel, AMD, Apple, TSMC, Samsung … gấp rút chạy đua để thu nhỏ dần kích thước của bóng bán dẫn; tiêu biểu tiến trình 22𝑛𝑚 → 14𝑛𝑚 → 10𝑛𝑚 → 7𝑛𝑚 → 5𝑛𝑚 CPU tay chứa nhiều vi mạch tích hợp cỡ lớn, vi mạch tích hợp chứa đến hàng triệu transistor o Hãng Apple công bố chip A12 Bionic 7nm chứa đến 6.9 tỷ bóng bán dẫn Bộ môn Kỹ thuật Cơ điện tử 1.1 Giới thiệu chung vi xử lý – vi điều khiển Các CPU desktop Intel Core i5 – 3570 3.4 GHz Upto 3.8 GHz LGA 1155 Socket Cores Threads Thời điểm mắt: 2012 Bộ môn Kỹ thuật Cơ điện tử AMD Athlon II X4 638 AMD Ryzen 5900X 2.7 GHz Quad-Core CPU Socket FM1 905-pin 3.7 GHz Upto 4.8GHz 70MB 12 Cores, 24 Threads Thời điểm mắt: 2012 Ngày mắt: 05 / 11 / 2020 1.1 Giới thiệu chung vi xử lý – vi điều khiển 4.3 Truyền liệu chuẩn UART, I2C SPI Bài tập nhà: Vẽ nhiều đồ thị Serial Plotter Bộ môn Kỹ thuật Cơ điện tử 4.3 Truyền thông liệu chuẩn UART, I2C SPI 4.3 Truyền liệu chuẩn UART, I2C SPI Bài tập 5: Bật tắt đèn theo lệnh gửi từ Serial Monitor Yêu cầu điều khiển: Gửi lệnh đến Arduino bật tắt đèn theo cấu trúc: kí tự -> thứ tự đèn muốn tác động kí tự -> tác động lên đèn: -> bật đèn, -> tắt đèn Nếu kí tự chữ ‘a’ tất đèn có chung tác động từ lệnh gửi từ Serial Monitor Gửi lại lên hình trạng thái đèn vừa tác động Bộ môn Kỹ thuật Cơ điện tử 4.3 Truyền thông liệu chuẩn UART, I2C SPI 4.3 Truyền liệu chuẩn UART, I2C SPI 4.3.4 Chuẩn giao tiếp I2C VCC Rp Rp SDA SCL GND Master Bộ môn Kỹ thuật Cơ điện tử Slave Slave … Slave N 4.3 Truyền thông liệu chuẩn UART, I2C SPI 4.3 Truyền liệu chuẩn UART, I2C SPI 4.3.4 Chuẩn giao tiếp I2C o I2C (Inter – Integrated Circuit): chuẩn giao tiếp truyền thông liệu nối tiếp đồng bộ, phát triển hãng điện tử Philips Semiconductors cho phép giao tiếp thiết bị chủ với nhiều thiết bị tớ o Sử dụng rộng rãi cho giao tiếp vi điều khiển mảng cảm biến, thiết bị hiển thị, thiết bị IoT, EEPROMs, v.v … Bộ môn Kỹ thuật Cơ điện tử 4.3 Truyền thông liệu chuẩn UART, I2C SPI 4.3.4 Chuẩn giao tiếp I2C o Board Arduino Uno/Nano/Mini có cổng truyền thơng I2C o Trên Arduino Uno/Nano/Mini, chân sử dụng cho việc truyền thông I2C chân A4 (SDA) chân A5 (SCL) Bộ môn Kỹ thuật Cơ điện tử 4.3 Truyền thông liệu chuẩn UART, I2C SPI 4.3.4 Chuẩn giao tiếp I2C Hiển thị nhiệt độ, độ ẩm lên LCD sử dụng I2C Bộ môn Kỹ thuật Cơ điện tử 4.3 Truyền thông liệu chuẩn UART, I2C SPI 4.3.4 Chuẩn giao tiếp I2C Hiển thị thời gian thực lên LCD sử dụng I2C Bộ môn Kỹ thuật Cơ điện tử 4.3 Truyền thông liệu chuẩn UART, I2C SPI 4.3 Truyền liệu chuẩn UART, I2C SPI 4.3.5 Các hàm xử lý truyền thông I2C o Có nhiều thư viên phục vụ cho việc truyền thông I2C, thông thường thư viện viết riêng cho thiết bị Slave để giao tiếp hiệu với Master (Arduino) o Thư viện chuẩn giao tiếp I2C Arduino “Wire.h”, thư viên built-in Arduino IDE Cú pháp: #include o Một số hàm hay sử dụng thư viện: Wire.begin() Wire.write() Wire.beginTransmission() Wire.read() Wire.endTransmission() Wire.requestFrom() Bộ môn Kỹ thuật Cơ điện tử 4.3 Truyền thông liệu chuẩn UART, I2C SPI 4.3 Truyền liệu chuẩn UART, I2C SPI Bài tập 6: Đọc tín hiệu điện áp biến trở hiển thị lên LCD 16x02 theo cách: o Cách 1: Kết nối trực kiểu bit o Cách 2: Kết nối sử dụng truyền thông nối tiếp I2C Gợi ý: o Cách 1: Sử dụng thư viện LiquidCrystal.h o Cách 2: Sử dụng thư viện LiquidCrystal_I2C.h Hai thư viện khác có cách sử dụng hàm hiển thị hình Bộ mơn Kỹ thuật Cơ điện tử 4.3 Truyền thông liệu chuẩn UART, I2C SPI Bộ môn Kỹ thuật Cơ điện tử MOSI MISO SCLK SS MOSI MISO SCLK SS Master MOSI MISO SCLK SS SS2 SS3 MOSI MISO SCLK SS1 4.3.6 Chuẩn giao tiếp SPI Slave Slave Slave 4.3 Truyền thông liệu chuẩn UART, I2C SPI 4.3.6 Chuẩn giao tiếp SPI o SPI (Serial Peripheral Bus) chuẩn truyền thông nối tiếp tốc độ cao hãng Motorola đề xuất o Đây kiểu truyền thơng Master – Slave, có chip Master điều phối q trình truyền thơng chip Slave điều khiển Master truyền thông xảy Master Slave o Bus giao tiếp SPI thường sử dụng để giao tiếp vi xử lý vi điều khiển với nhớ EEPROM, RTC (Real–Time Clock), ADC, DAC, hình LCD, IC âm thanh, loại cảm biến nhiệt độ áp suất, thẻ nhớ MMC thẻ SD chí vi điều khiển khác Bộ môn Kỹ thuật Cơ điện tử 4.3 Truyền thông liệu chuẩn UART, I2C SPI 4.3.6 Chuẩn giao tiếp SPI o SPI cách truyền song công (full duplex) nghĩa thời điểm trình truyền nhận xảy đồng thời o SPI gọi chuẩn truyền thông “4 dây” có đường giao tiếp chuẩn đó: SCK – Serial Clock MISO – Master Input Slave Output MOSI – Master Ouput Slave Input SS – Slave Select Bộ môn Kỹ thuật Cơ điện tử 4.3 Truyền thông liệu chuẩn UART, I2C SPI 4.3.7 Các hàm xử lý truyền thông SPI o Có nhiều thư viện phục vụ cho việc truyền thông SPI, thông thường thư viên viết riêng cho thiết bị Slave để giao tiếp hiệu với Master (Arduino) o Thư viên chuẩn giao tiếp SPI Arduino “SPI.h”, thư viên built-in Arduino IDE Cú pháp: #include o Một số hàm hay sử dụng thư viện: SPI.beginTransaction() SPI.endTransaction() SPI.transfer() SPI.transfer16() Bộ môn Kỹ thuật Cơ điện tử 4.3 Truyền thông liệu chuẩn UART, I2C SPI 4.3.7 Các hàm xử lý truyền thông SPI Test hiển thị lên hình Oled 0.96 SPI Bộ mơn Kỹ thuật Cơ điện tử 4.3 Truyền thông liệu chuẩn UART, I2C SPI 4.3.7 Các hàm xử lý truyền thông SPI o Câu hỏi: Nêu khác biệt chuẩn UART chuẩn SPI, I2C Nêu khác biệt chuẩn SPI VÀ I2C Bộ môn Kỹ thuật Cơ điện tử 4.3 Truyền thông liệu chuẩn UART, I2C SPI