intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Giáo trình mô đun Lập trình Vi điều khiển (Nghề Cơ điện tử - Trình độ cao đẳng) – CĐ Kỹ thuật Công nghệ BR–VT

Chia sẻ: _ _ | Ngày: | Loại File: PDF | Số trang:133

144
lượt xem
21
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Nội dung của giáo trình “Lập trình vi điều khiển” bao gồm 13 bài: Bài 1: Tổng quan về arduino uno r3; Bài 2: Cài đặt chương trình arduino ide và driver cho arduino; Bài 3: Ngôn ngữ lập trình cho arduino; Bài 4: Cài đặt và sử dụng phần mềm protues; Bài 5: Giao tiếp với led đơn; Bài : Giao tiếp với led 7 đoạn; Bài 7: Giao tiếp với lcd; Bài 8: Adc-đọc tín hiệu một số loại cảm biến; Bài 9: Ngắt ngoài; Bài 10: Timer-counter; Bài 11: Điều khiển động cơ dc; Bài 12: Điều khiển động cơ servo; Bài 13: Điều khiển động cơ bước.

Chủ đề:
Lưu

Nội dung Text: Giáo trình mô đun Lập trình Vi điều khiển (Nghề Cơ điện tử - Trình độ cao đẳng) – CĐ Kỹ thuật Công nghệ BR–VT

  1. BM/QT10/P.ĐTSV/04/04 Ban hành lần: 3 ỦY BAN NHÂN DÂN TỈNH BR – VT TRƢỜNG CAO ĐẲNG KỸ THUẬT CÔNG NGHỆ GIÁO TRÌNH MÔ ĐUN: LẬP TRÌNH VI ĐIỀU KHIỂN NGHỀ: CƠ ĐIỆN TỬ TRÌNH ĐỘ: CAO ĐẲNG Ban hành kèm theo Quyết định số: /QĐ-CĐKTCN ngày…….tháng….năm 2020 . của Hiệu trưởng trường Cao đẳng KTCN BR – VT Bà Rịa – Vũng Tàu, năm 2020 0
  2. TUYÊN BỐ BẢN QUYỀN Nhằm đáp ứng nhu cầu học tập và nghiên cứu cho giảng viên và sinh viên nghề cơ điện tử trong trƣờng Cao đẳng Kỹ thuật Công nghệ Bà Rịa – Vũng Tàu. Chúng tôi đã thực hiện biên soạn tài liệu Lập trình Vi điều khiển này. Tài liệu đƣợc biên soạn thuộc loại giáo trình phục vụ giảng dạy và học tập, lƣu hành nội bộ trong nhà trƣờng nên các nguồn thông tin có thể đƣợc phép dùng nguyên bản hoặc trích dùng cho các mục đích về đào tạo và tham khảo. Mọi mục đích khác mang tính lệch lạc hoặc sử dụng với mục đích kinh doanh thiếu lành mạnh sẽ bị nghiêm cấm. 1
  3. LỜI GIỚI THIỆU Trong chƣơng trình đào tạo nghề cơ điện tử của trƣờng cao đẳng Kỹ Thuật Công Nghệ Bà Rịa Vũng Tàu mô đun môn học Vi điều khiển là một mô đun giữ một vị trí rất quan trọng: rèn luyện kỹ năng lập trình điều khiển thiết bị cho học sinh. Việc dạy thực hành đòi hỏi nhiều yếu tố: vật tƣ thiết bị đầy đủ đồng thời cần một giáo trình nội bộ, mang tính khoa học và đáp ứng với yêu cầu thực tế. Nội dung của giáo trình “Vi điều khiển” bao gồm 13 bài : Bài 1:Tổng quan về arduino uno r3 Bài 2: Cài đặt chƣơng trình arduino ide và driver cho arduino Bài 3: Ngôn ngữ lập trình cho arduino. Bài 4: Cài đặt và sử dụng phần mềm protues. Bài 5: Giao tiếp với led đơn Bài : Giao tiếp với led 7 đoạn Bài 7: Giao tiếp với lcd Bài 8: Adc-đọc tín hiệu một số loại cảm biến Bài 9: Ngắt ngoài Bài 10: Timer-counter Bài 11: Điều khiển động cơ dc Bài 12: Điều khiển động cơ servo Bài 13: Điều khiển động cơ bƣớc Đã đƣợc xây dựng trên cơ sở kế thừa những nội dung giảng dạy của các trƣờng, kết hợp với những nội dung mới nhằm đáp ứng yêu cầu nâng cao chất lƣợng đào tạo phục vụ sự nghiệp công nghiệp hóa, hiện đại hóa đất nƣớc,. Giáo trình đƣợc biên soạn ngắn gọn, dễ hiểu, bổ sung nhiều kiến thức mới và biên soạn theo quan điểm mở, nghĩa là, đề cập những nội dung cơ bản, cốt yếu để tùy theo tính chất của các ngành nghề đào tạo mà giảng viên tự điều chỉnh ,bổ xung cho thích hợp và không trái với quy định của chƣơng trình đào tạo trung cấp,cao đẳng. Tuy các tác giả đã có nhiều cố gắng khi biên soạn, nhƣng giáo trình chắc chắn không tránh khỏi những thiếu sót, rất mong nhận đƣợc sự tham gia đóng góp ý kiến của các ta đồng nghiệp và các chuyên gia kỹ thuật đầu ngành. Xin trân trọng cảm ơn! Bà Rịa , ngày….tháng....năm 2020 Tham gia biên soạn: Bùi Văn Vinh 2
  4. MỤC LỤC GIÁO TRÌNH ......................................................................................................... 0 LỜI GIỚI THIỆU .................................................................................................... 2 MỤC LỤC .............................................................................................................. 3 BÀI 1: TỔNG QUAN VỀ ARDUINO UNO R3 ..................................................... 7 1. Tổng quan. .......................................................................................................... 7 2. Sơ đồ chân của Arduino ...................................................................................... 8 BÀI 2: CÀI ĐẶT CHƢƠNG TRÌNH ARDUINO IDE VÀ DRIVER CHO ARDUINO ............................................................................................................ 10 1.Cài đặt chƣơng trình Arduino IDE...................................................................... 10 1.1. Cài Java Runtime Environment (JRE). ......................................................... 10 1.2. Cài đặt Arduino IDE: ...................................................................................... 11 2. Cài đặt Driver đối với Arduino Uno, mê ga,…: ............................................... 13 2.1.Cài đặt Driver: ................................................................................................ 13 2.2 Nạp chƣơng trình cho Arduino Uno (mega tƣơng tự): .............................. 16 2.3.Cài đặt Driver đối với Nano: .......................................................................... 17 3.Arduino IDE ....................................................................................................... 21 3.1. Arduino Toolbar: có một số button và chức năng của chúng nhƣ sau : ........... 21 3.2. Arduino IDE Menu:........................................................................................ 22 BÀI 3: NGÔN NGỮ LẬP TRÌNH CHO ARDUINO ............................................ 26 1. Cấu trúc (structure) :.......................................................................................... 26 1.1. Cấu trúc tổng thể: ........................................................................................... 26 1.2. Cấu trúc điều khiển:........................................................................................ 28 1.3. Cú pháp mở rộng ............................................................................................ 34 1.4. Comments - Viết ghi chú trong khi viết code Arduino .................................... 35 1.5. #define ........................................................................................................... 36 1.6. #include.......................................................................................................... 36 2. Biến số (variable) và hằng số (constant) ............................................................ 38 2.1. hằng số (constant)........................................................................................... 38 2.2. Biến số (variable): .......................................................................................... 43 3. Hàm và thủ tục (function).................................................................................. 45 3
  5. 2. Hàm nhập xuất Analog I/O: ............................................................................... 47 3. Hàm nhập xuất nâng cao I/O: ............................................................................ 51 4. Hàm thời gian:................................................................................................... 51 5. Hàm Ngắt (interrupt) ......................................................................................... 54 6. Hàm Ngắt Ngoài: .............................................................................................. 56 7. Hàm Giao tiếp ................................................................................................... 59 BÀI 4: CÀI ĐẶT VÀ SỬ DỤNG PHẦN MỀM PROTUES.................................. 66 1.Cài đặt phần mềm............................................................................................... 66 2.Sử dụng phần mềm mô phỏng protues ................................................................ 74 2.1. Hƣớng dẫn add thƣ viện cho Arduino IDE: .................................................... 74 2.2. Vẽ mạch mô phỏng Arduino trên Proteus ....................................................... 77 BÀI 5: GIAO TIẾP VỚI LED ĐƠN...................................................................... 82 1. Giới thiệu .......................................................................................................... 82 2. Phần cứng.......................................................................................................... 83 3. Lập trình và giải thích........................................................................................ 83 BÀI 6: GIAO TIẾP VỚI LED 7 ĐOẠN ................................................................ 88 1. Cấu tạo led 7 đoạn ............................................................................................. 88 2. Phần cứng.......................................................................................................... 90 3. Lập trình và giải thích........................................................................................ 91 BÀI 7: GIAO TIẾP VỚI LCD ............................................................................... 92 1. Cấu tạo LCD. .................................................................................................... 92 2. Phần cứng.......................................................................................................... 92 3. Lập trình và giải thích........................................................................................ 94 BÀI 8: ADC-ĐỌC TÍN HIỆU MỘT SỐ LOẠI CẢM BIẾN. ................................ 95 1. Giới thiệu ADC ................................................................................................. 95 2. Phần cứng.......................................................................................................... 96 BÀI 9: NGẮT NGOÀI . ........................................................................................ 98 1. Giới thiệu ngắt ngoài ......................................................................................... 98 2. Phần cứng........................................................................................................ 101 3. Lập trình và giải thích...................................................................................... 101 BÀI 10: TIMER-COUNTER . ............................................................................. 103 1. Giới thiệu bộ timer- counter ............................................................................ 103 4
  6. 1.1. Timer/Counter 1 ........................................................................................... 104 1.2. Timer/Counter 2 ........................................................................................... 109 2.Phần cứng......................................................................................................... 111 3. Lập trình và giải thích...................................................................................... 112 BÀI 11: ĐIỀU KHIỂN ĐỘNG CƠ DC ............................................................... 114 1. Giới thiệu động cơ DC .................................................................................... 114 1.1. Định nghĩa .................................................................................................... 114 1.2. Phân loại động cơ điện một chiều ................................................................ 115 1.3. Cấu tạo và nguyên tắc hoạt động .................................................................. 115 1.4.Điều chỉnh tốc độ động cơ điện một chiều ..................................................... 116 2. Phần cứng........................................................................................................ 117 3. Lập trình và giải thích...................................................................................... 118 BÀI 12: ĐIỀU KHIỂN ĐỘNG CƠ SERVO ........................................................ 120 1. Giới thiệu động cơ servo ................................................................................. 120 1.1. Động cơ Servo nghĩ là gì ? ........................................................................... 120 1.2.Phân loại động cơ Servo. ............................................................................... 120 1.3.Cấu tạo của động cơ Servo. ........................................................................... 121 2. Phần cứng........................................................................................................ 123 3. Lập trình và giải thích...................................................................................... 124 BÀI 13: ĐIỀU KHIỂN ĐỘNG CƠ BƢỚC ......................................................... 125 1. Giới thiệu động cơ bƣớc .................................................................................. 125 1.1. Động cơ bƣớc là gì? ..................................................................................... 125 1.2 Cấu tạo động cơ bƣớc .................................................................................... 125 1.3. Đặc điểm của động cơ bƣớc ......................................................................... 126 1.4 Phân loại động cơ bƣớc ................................................................................. 126 1.5. Phƣơng pháp điều khiển động cơ bƣớc ......................................................... 126 2. Phần cứng........................................................................................................ 127 3. Lập trình và giải thích...................................................................................... 129 5
  7. GIÁO TRÌNH MÔ ĐUN Tên môn học/mô đun: Lập trình Vi điều khiển Mã môn học/mô đun:MĐ 16 *Vị trí, tính chất,ý nghĩa và vai trò của mô đun: - Vị trí của mô đun : Mô đun đƣợc bố trí sau khi học sinh học xong các môn học chung,mô đun đo lƣờng điện , kỹ thuật điện tử , kỹ thuật xung số , điện tử công suất - Tính chất của mô đun : Là môn học chuyên ngành - Ý nghĩa và vai trò của mô đun: Giúp cho ngƣời học có khả năng lập trình điều khiển các thiết bị ngoại vi trong hệ thống vi điều khiển. * Mục tiêu mô đun: - Về kiến thức: + Cài đặt và sử dụng đƣợc các phần mềm Arduino IDE và Driver cho Arduino, Protues … + Phân tích cấu trúc, ứng dụng của vi điều khiển trong công nghiệp + Kiểm tra và viết đƣợc một số chƣơng trình điều kiển thiết bị ngoại vi . - Về kỹ năng: + Mô phỏng đƣợc các mạch giao tiếp cơ bản Arduino với thiết bị ngoại vi + Lắp ráp và kết nôi đƣợc phần cứng Arduino với thiết bị ngoại vi + Thực hiện lập trình điều khiển đƣợc các thiết bị ngoại vi cơ bản đúng yêu cầu kỹ thuật; - Về năng lực tự chủ và trách nhiệm: Ngƣời học có khả năng làm việc độc lập hoặc làm nhóm, có tinh thần hợp tác, giúp đỡ lẫn nhau trong học tập và rèn luyện, có ý thức tự giác, tính kỷ luật cao, tinh thần trách nhiệm trong công việc. * Nội dung mô đun: 6
  8. BÀI 1: TỔNG QUAN VỀ ARDUINO UNO R3 *Giới thiệu Bài học này giới thiệu về bo mạch ARDUINO UNO R3 điện áp vào, ra ... *Mục tiêu: Sau khi học xong bài học này, ngƣời học có khả năng: - Hiểu đƣợc cấu tạo, thông số kỹ thuật của Arduino Uno R3. - Trình bày đƣợc chức năng,nhiệm vụ của các chân của Arduino - Áp dụng đƣợc Arduino Uno R3 vào thực tiễn . - Rèn luyện tính tƣ duy và tác phong công nghiệp , đảm bảo an toàn cho ngƣời và thiết bị *Nội dung: 1. Tổng quan. Arduino thật ra là một bo mạch vi xử lý đƣợc dùng để lập trình tƣơng tác với các thiết bị phần cứng nhƣ cảm biến, động cơ, đèn hoặc các thiết bị khác. Đặc điểm nổi bật của Arduino là môi trƣờng phát triển ứng dụng cực kỳ dễ sử dụng, với một ngôn ngữ lập trình có thể học một cách nhanh chóng ngay cả với ngƣời ít am hiểu về điện tử và lập trình. Và điều làm nên hiện tƣợng Arduino chính là mức giá rất thấp và tính chất nguồn mở từ phần cứng tới phần mềm. Arduino Uno là sử dụng chip Atmega328. Nó có 14 chân digital I/O, 6 chân đầu vào (input) analog, thạch anh dao động 16Mhz. Một số thông số kỹ thuật nhƣ sau : Chip ATmega328 Điện áp cấp nguồn 5V Điện áp đầu vào (input) (kiến 7-12V nghị ) Điện áp đầu vào(giới hạn) 6-20V Số chân Digital I/O 14 (có 6 chân điều chế độ rộng xung PWM) Số chân Analog (Input ) 6 DC Current per I/O Pin 40 mA DC Current for 3.3V Pin 50 mA Flash Memory 32KB (ATmega328) với 0.5KB sử dụng bootloader 7
  9. SRAM 2 KB (ATmega328) EEPROM 1 KB (ATmega328) Xung nhịp 16 MHz 2. Sơ đồ chân của Arduino Hình 1: Arduino UnO r3 * USB (1). Arduino sử dụng cáp USB để giao tiếp với máy tính. Thông qua cáp USB chúng ta có thể Upload chƣơng trình cho Arduino hoạt động, ngoài ra USB còn là nguồn cho Arduino. * Nguồn ( 2 và 3 ). Khi không sử dụng USB làm nguồn thì chúng ta có thể sử dụng nguồn ngoài thông qua jack cắm 2.1mm ( cực dƣơng ở giửa ) hoặc có thể sử dụng 2 chân Vin và GND để cấp nguồn cho Arduino. Bo mạch hoạt động với nguồn ngoài ở điện áp từ 5 – 20 volt. Chúng ta có thể cấp một áp lớn hơn tuy nhiên chân 5V sẽ có mực điện áp lớn hơn 5 volt. Và nếu sử dụng nguồn lớn hơn 12 volt thì sẽ có hiện tƣợng nóng và làm hỏng bo mạch. Khuyết cáo các ta nên dùng nguồn ổn định là 5 đến dƣới 12 volt. Chân 5V và chân 3.3V (Output voltage) : các chân này dùng để lấy nguồn ra từ nguồn mà chúng ta đã cung cấp cho Arduino. Lƣu ý : không đƣợc cấp nguồn vào các chân này vì sẽ làm hỏng Arduino. 8
  10. GND: chân mass. * Chip Atmega328. Chip Atmega328 Có 32K bộ nhớ flash trong đó 0.5k sử dụng cho bootloader. Ngoài ra còn có 2K SRAM, 1K EEPROM. * Input và Output ( 4, 5 và 6). Arduino Uno có 14 chân digital với chức năng input và output sử dụng các hàm pinMode(), digitalWrite() và digitalRead() để điều khiển các chân này tôi sẽ đề cập chúng ở các phần sau. Cũng trên 14 chân digital này chúng ta còn một số chân chức năng đó là: 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. Chúng ta có thể sử dụng nó để giao tiếp với cổng COM của một số thiết bị hoặc các linh kiện có chuẩn giao tiếp nối tiếp. PWM (pulse width modulation): các chân 3, 5, 6, 9, 10, 11 trên bo mạch có dấu “~” là các chân PWM chúng ta có thể sử dụng nó để điều khiển tốc độ động cơ, độ sáng của đèn… SPI : 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK), các chân này hỗ trợ giao tiếp theo chuẩn SPI. I2C: Arduino hỗ trợ giao tiếp theo chuẩn I2C. Các chân A4 (SDA) và A5 (SCL) cho phép chúng tao giao tiếp giửa Arduino với các linh kiện có chuẩn giao tiếp là I2C. * Reset (7): dùng để reset Arduino. CÂU HỎI ÔN TẬP Câu1. Trình bày tổng quan về vi điều khiển ? Câu 2. So sánh sự giống và khác nhau giữa bộ vi xử lý so với bộ vi điều khiển? Câu 3. Nêu chức năng các chân của bo arduino? 9
  11. BÀI 2: CÀI ĐẶT CHƢƠNG TRÌNH ARDUINO IDE VÀ DRIVER CHO ARDUINO *Giới thiệu Bài học này giới thiệu về cách cài đặt Cài đặt và nâng cấp,khởi động chƣơng trình,cài đặt các thông số ban đầu,Update các linh kiên mới của một phần mềm chuyên ngành đƣợc ứng dụng rộng rãi . *Mục tiêu: Sau khi học xong bài học này, ngƣời học có khả năng: - Phân tích đƣợc các bƣớc cài đặt phần mềm Arduino IDE. - Cài đặt và nâng cấp đƣợc phần mềm Arduino IDE. - Sử dụng thành thạo phần mềm Arduino IDE. - Nạp đƣợc một chƣơng trình mẫu vào arduino - Rèn luyện tính tƣ duy và tác phong công nghiệp , đảm bảo an toàn cho ngƣời và thiết bị *Nội dung: 1.Cài đặt chương trình Arduino IDE 1.1. Cài Java Runtime Environment (JRE). Vì Arduino IDE đƣợc viết trên Java nên ta cần phải cài đặt JRE trƣớc Arduino IDE. Link: http://www.oracle.com/technetwork/java/javase/downloads/jre8- downloads-2133155.html Bản JRE phổ biến nhất là bản dành cho Windows 32bit (x86) và Windows 64bit (x64) ta đã đánh dấu trong hình. Nhớ chọn "Accept License Agreement". 10
  12. Việc cài đặt diễn ra rất đơn giản và nhanh chóng. 1.2. Cài đặt Arduino IDE: Bƣớc 1: Truy cập địa chỉ: https://www.arduino.cc/en/Main/Software và tải về chƣơng trình Arduino IDE phù hợp với hệ điều hành của máy ta bao gồm Windown, Mac OS hay Linux. Đối với Windown có bản cài đặt (.exe) và bản Zip, đối với Zip thì chỉ cần giải nén và chạy chƣơng trình không cần cài đặt. - Click vào 1 Bƣớc 2: click vào 2 11
  13. Sau khi download xong, ta bấm vào file vừa download nếu là arduino-1.8.13- windows.zip thì ta chọn “Extract here” để giải nén. Bƣớc 3: Chạy file arduino.exe trong thƣ mục arduino-1.8.5\ để khởi động Arduino IDE. 12
  14. Sau khi chạy file arduino.exe ta có giao diên Arduino IDE: 2. Cài đặt Driver đối với Arduino Uno, mê ga,…: 2.1.Cài đặt Driver: Đầu tiên, các ta chạy file dpinst-x86.exe (Windows x86) hoặc dpinst- amd64.exe Windows x64) trong thƣ mục driver của file phần mềm IDE ta tải về. 13
  15. Cửa sổ “Device Driver Installation Wizard” hiện ra, các ta chọn Next để tiếp tục. 14
  16. Khi có yêu cầu xác nhận cài đặt driver, chọn “Install” Quá trình cài đặt đã hoàn tất. Bấm “Finish” để thoát. 15
  17. 2.2 Nạp chƣơng trình cho Arduino Uno (mega tƣơng tự): Bƣớc 1: Khởi động Arduino IDE: Bƣớc 2:Mở chƣơng trình mẫu trên Arduino IDE (Blink) 16
  18. Bƣớc 3:Vào Tools các ta chọn đúng nhé cái này rất quan trọng. Kết quả ta có thể thấy Led chân số 13 (tích hợp trên board, led màu cam) của Arduino Uno sáng 1 giây và tắt 1 giây. 2.3.Cài đặt Driver đối với Nano: 2.3.1 Giới thiệu board arduino Nano. Board Arduino Nano là một trong những phiên bản nhỏ gọn của board Arduino. Arduino Nano có đầy đủ các chức năng và chƣơng trình có trên Arduino Uno do cùng sử dụng MCU ATmega328P. Nhờ việc sử dụng IC dán của ATmega328P thay vì IC chân cắm nên Arduino Nano có thêm 2 chân Analog so với Arduino Uno 17
  19. 2.3.2. Cài đặt driver cho Arduino Nano Arduino Nano đƣợc kết nối với máy tính qua cổng Mini - B USB và sử dụng chip CH340 để chuyển đổi USB sang UART thay vì dùng chip ATmega16U2 để giả lập cổng COM nhƣ trên Arduino Uno hay Arduino Mega, nhờ vậy giá thành sản phẩm đƣợc giảm mà vẫn giữ nguyên đƣợc tính năng, giúp Arduino giao tiếp đƣợc với máy tính, từ đó thực hiện việc lập trình. Trƣớc hết chúng ta phải tải driver CH340 cho arduino nano: tại đƣờng linhk sau : https://sparks.gogo.co.nz/assets/_site_/downloads/CH34x_Install_Windows_v3 _4.zip - Bƣớc 1: Giải nén thƣ mục vừa tải về ⇒ mở thƣ CH341SER ⇒khởi động file SETUP.EXE - Bƣớc 2: Nhấn chọn INSTALL - Bƣớc 3: Hoàn tất cài đặt 18
  20. 2.3.3.Thông số kỹ thuật Arduino Nano: IC chính ATmega328P IC nạp và giao tiếp UART CH340 Điện áp hoạt động 5V - DC Điện áp đầu vào khuyên dùng 7-12V - DC Điện áp đầu vào giới hạn 6-20V - DC Số chân Digital I/O 14 (trong đó có 6 chân PWM) Số chân Analog 8 (độ phân giải 10bit, nhiều hơn Arduino Uno 2 chân) Dòng tối đa trên mỗi chân I/O 40mA Bộ nhớ flash 32KB với 2KB dùng bởi bootloader SRAM 2KB EEPROM 1KB Xung nhịp 16MHz Kích thƣớc 0.73" x 1.70" Chiều dài 45mm 2.3.4.Nạp chƣơng trình cho Arduino Nano: Bƣớc 1: Khởi động Arduino IDE 19
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2