Xem mẫu

  1. ỦY BAN NHÂN DÂN THÀNH PHỐ HÀ NỘI TRƯỜNG CAO ĐẲNG NGHỀ VIỆT NAM - HÀN QUỐC THÀNH PHỐ HÀ NỘI TRƯƠNG VĂN HỢI (Chủ biên) TẠ VĂN BẰNG – BÙI VĂN CÔNG GIÁO TRÌNH ĐIỀU KHIỂN NHÚNG Nghề: Cơ điện tử Trình độ: Cao đẳng (Lưu hành nội bộ) Hà Nội - Năm 2019
  2. LỜI NÓI ĐẦU Giáo trình Kỹ thuật nhúng đóng góp một phần bổ sung kiến thức mới về điều khiển, bán tự động, tự động, phương pháp tổng hợp, phương pháp nhúng. Để thực hiện biên soạn giáo trình đào tạo nghề Cơ điện tử ở trình độ CĐN và TCN, giáo trình mô đun Kỹ thuật nhúng là một trong những giáo trình đào tạo chuyên ngành tự động hóa trong công nghiệp được biên soạn theo nội dung chương trình khung, chương trình dạy nghề đã được Bộ Lao động -Thương binh và Xã hội và Tổng cục dạy nghề phê duyệt. Nội dung biên soạn ngắn gọn, dễ hiểu, tích hợp kiến thức và kỹ năng chặt chẽ với nhau. Tác giả biên soạn đã cố gắng cập nhật những kiến thức mới có liên quan đến nội dung chương trình đào tạo và phù hợp với mục tiêu đào tạo, nội dung lý thuyết và thực hành được biên soạn gắn với nhu cầu thực tế trong sản xuất đồng thời có tính thực tiễn cao. Tuy nhiên, tuy theo điều kiện cơ sở vật chất và trang thiết bị, các trường có thề sử dụng cho phù hợp. Mặc dù đã cố gắng tổ chức biên soạn để đáp ứng được mục tiêu đào tạo nhưng không tránh được những thiếu sót cần bổ sung. Rất mong nhận được đóng góp ý kiến của người sử dụng, người đọc để nhóm biên soạn sẽ hiện chỉnh hoàn thiện hơn sau thời gian sử dụng. Xin chân thành cảm ơn! Hà Nội, ngày … tháng … năm 2019 Chủ biên: Trương Văn Hợi 1
  3. MỤC LỤC LỜI NÓI ĐẦU ..................................................................................................... 1 MỤC LỤC ............................................................................................................ 2 GIÁO TRÌNH MÔ ĐUN ................................................................................ 3 ĐIỀU KHIỂN NHÚNG................................................................................... 3 Chương 1. Kết nối dây giữa Arduino và thiết bị ngoại vi ........................... 5 1.1. Arduino kết nối Led ............................................................................... 5 1.2. Arduino kết nối LCD ........................................................................... 71 1.3. Arduino kết nối động cơ ...................................................................... 92 1.4. Arduino kết nối cảm biến ................................................................... 117 1.5. Arduino kết nối thiết bị khác.............................................................. 120 Chương 2 ...................................................................................................... 123 Lắp đặt mô hình điều khiển bằng Arduino .............................................. 123 2.1. Điều khiển Arduino kết nối Led ........................................................ 123 2.2. Điều khiển Arduino kết nối LCD....................................................... 126 2.3. Điều khiển Arduino kết nối động cơ .................................................. 127 2.4. Điều khiển Arduino kết nối cảm biến ................................................ 129 Chương 3 ...................................................................................................... 133 Lập trình và điều khiển tổng hợp hệ thống cơ điện tử ............................ 133 3.1. Điều khiển sa bàn đèn giao thông ...................................................... 133 3.2. Điều khiển robot ................................................................................. 146 3.3. Điều khiển ứng dụng mạng cảm biến ................................................ 146 3.4. Điều khiển hệ cơ điện tử .................................................................... 148 Tài liệu tham khảo ...................................................................................... 154 2
  4. GIÁO TRÌNH MÔ ĐUN ĐIỀU KHIỂN NHÚNG Tên mô đun: Điều khiển nhúng Mã số mô đun: MĐ 39 Thời gian mô đun: 90 giờ (LT: 12 giờ; TH/TT/TN/BT/TL: 78 giờ) I. VỊ TRÍ, TÍNH CHẤT CỦA MÔ ĐUN - Vị trí của mô đun: Môđun được bố trí dạy cuối chương trình sau khi học xong các môn chuyên môn như kỹ thuật cảm biến, điện tử công suất, Vi xử lí, PLC cơ bản.. - Tính chất của mô đun: Là mô đun chuyên môn nghề. II. MỤC TIÊU CỦA MÔ ĐUN + Về kiến thức: - Trình bày được cấu trúc và phương thức hoạt động của các loại vi điều khiển họ AVR theo nội dung đã học. - Mô tả cấu trúc các phần chính của hệ thống điều khiển: ngôn ngữ, liên kết, định thời của các loại Arduino khác nhau + Về kỹ năng: - Viết chương trình cho các loại Arduino khác nhau đạt yêu cầu kỹ thuật - Thực hiện các kết nối giữa Arduino và thiết bị ngoại vi + Về thái độ: Rèn luyện tính tỷ mỉ, chính xác và an toàn vệ sinh công nghiệp 3
  5. III. NỘI DUNG MÔ ĐUN 1. Nội dung tổng quát và phân bổ thời gian Thời gian Thực hành/thực TT Tên các bài trong mô đun Tổng Lý tập/thí Kiểm số thuyết nghiệm/bài tra tập/thảo luận Kết nối dây giữa Arduino và thiết 18 3 14 1 bị ngoại vi 1.1. Arduino kết nối Led 1.2. Arduino kết nối LCD 1 1.3. Arduino kết nối động cơ 1.4. Arduino kết nối cảm biến 1.5. Arduino kết nối thiết bị khác Kiểm tra Lắp đặt mô hình điều khiển bằng 24 4 19 1 Arduino 2.1. Điều khiển Arduino kết nối Led2.2. Điều khiển Arduino kết nối LCD 2 2.3. Điều khiển Arduino kết nối động cơ 2.4. Điều khiển Arduino kết nối cảm biến Kiểm tra Lập trình và điều khiển tổng hợp 48 5 41 2 hệ thống cơ điện tử 3.1. Điều khiển sa bàn đèn giao thông 3.2. Điều khiển robot 3 3.3. Điều khiển ứng dụng mạng cảm biến 3.4. Điều khiển hệ cơ điện tử Kiểm tra Cộng 90 12 74 4 4
  6. Chương 1. Kết nối dây giữa Arduino và thiết bị ngoại vi 1.1. Arduino kết nối Led Tổng quan về Arduino Hình 1.1: Arduino Uno Hình 1.2 Sơ đồ chân Arduino Uno Arduino là một board mạch vi xử lý, nhằm xây dựng các ứng dụng tương tác với nhau hoặc với môi trường được thuận lợi hơn. Phần cứng bao gồm một board mạch nguồn mở được thiết kế trên nền tảng vi xử lý AVR Atmel 8bit, 5
  7. hoặc ARM Atmel 32-bit. Những Model hiện tại được trang bị gồm 1 cổng giao tiếp USB, 6 chân đầu vào analog, 14 chân I/O kỹ thuật số tương thích với nhiều board mở rộng khác nhau. Được giới thiệu vào năm 2005, Những nhà thiết kế của Arduino cố gắng mang đến một phương thức dễ dàng, không tốn kém cho những người yêu thích, sinh viên và giới chuyên nghiệp để tạo ra những thiết bị có khả năng tương tác với môi trường thông qua các cảm biến và các cơ cấu chấp hành. Những ví dụ phổ biến cho những người yêu thích mới bắt đầu bao gồm các robot đơn giản, điều khiển nhiệt độ và phát hiện chuyển động. Đi cùng với nó là một môi trường phát triển tích hợp (IDE) chạy trên các máy tính cá nhân thông thường và cho phép người dùng viết các chương trình cho Aduino bằng ngôn ngữ C hoặc C++. Các thiết bị kết nối LED 7 đoạn Hình 1.3: Sơ đồ nguyên lý LED 7 đoạn Màn hình LCD Hình 1.4: Màn hình LCD 6
  8. Cảm biến nhiệt độ DS18B20 Hình 1.5: Sơ đồ khối cảm biến nhiệt độ DS18B20 IC cầu H (L298) Hình 1.6: Sơ đồ nguyên lý IC cầu H L298 Kết nối và lập trình trên LED Lập trình bật/tắt từng LED đơn theo chương trình * Bài tập 1: Lập trình bật tắt 01 LED đơn sáng trên cổng P13 của Arduino Sơ đồ nguyên lý điện tử Hình 1.7: Sơ đồ nguyên lý điện tử bài thí nghiệm bật/tắt một LED đơn trên cổng P13 của Arduino 7
  9. Nguyên lý hoạt động Nhiệm vụ trong bài tập này là điều khiển bật/tắt LED đơn. Việc bật/tắt LED đơn tương ứng với việc đưa tín hiệu ra cổng vào/ra của Arduino. LED đơn được điều khiển bởi chân P13 (digital) của Arduino. LED sẽ sáng khi chân P13 ở mức thấp (LOW) và tắt khi chân P13 ở mức cao (HIGH) do đầu còn lại của LED nối với nguồn 5V qua điện trở 220 Ohm. LED sẽ sáng trong 1giây rồi tắt. Lưu đồ thuật toán BẮT ĐẦU Khai báo cổng sử dụng để bật/tắt LED (P13) Bật LED (P13) Trễ 1s Tắt LED (P13) KẾT THÚC Hình 1.8: Lưu đồ thuật toán chương trình bật/tắt 01 LED đơn trên cổng P13 Các bước thực hiện - Bước 1: Dùng dây điện có phích cắm hai đầu để nối chốt ‘P13’ của Arduino với chốt ‘IN1’ của LED đơn ‘D1’ trên Module IA01. Sau khi kết nối các chốt, ta có sơ đồ kết nối hoàn chỉnh của bài thí nghiệm như sau: Hình 1.9: Sơ đồ đấu nối hoàn chỉnh bài thí nghiệm bật/tắt một LED đơn trên cổng P13 của Arduino 8
  10. - Bước 2: Viết chương trình bật/tắt cho 1 LED đơn trên cổng P13 với các lệnh như sau, tên file là bat.tat.ino: Bài tập mở rộng Bài tập: Lập trình bật/tắt 1 LED đơn trên cổng P2 của Arduino. Báo cáo kết quả Sinh viên thực hiện thí nghiệm, nhận xét kết quả quan sát được có đúng theo yêu cầu bài toán đặt ra không? Các lỗi phát sinh nếu có, hướng kiểm tra và khắc phục. Sinh viên vận dụng kiến thức có được làm bài tập mở rộng. Bài tập 2: Lập trình bật/tắt 08 LED đơn sáng trên cổng P0-P7 của Arduino Mục đích Giúp người học thành thạo hơn với cách nhập/xuất dữ liệu trên các cổng I/O của Arduino. Giúp người học vận dụng những kiến thức đã được học ở môn lập trình chuyên dụng. Sơ đồ nguyên lý điện tử Hình 1.10: Sơ đồ nguyên lý điện tử bài thí nghiệm bật/tắt 08 LED đơn trên cổng P0-P7 của Arduino Nguyên lý hoạt động Nhiệm vụ trong bài tập này là điều khiển bật/tắt 08 LED đơn. Việc bật/tắt LED đơn tương ứng với việc đưa tín hiệu ra cổng vào/ra của Arduino. LED đơn được điều khiển bởi chân P0-P7 (digital) của Arduino. LED sẽ sáng khi 08 chân P0-P7 ở mức thấp (LOW) và tắt khi 08 chân P0-P7 ở mức cao (HIGH) do đầu 9
  11. còn lại của LED nối với nguồn 5V qua điện trở 220 Ohm. LED sẽ sáng trong 1giây rồi tắt. Lưu đồ thuật toán BẮT ĐẦU Khai báo cổng sử dụng để bật/tắt LED (từ P0- P7) Bật 8 LED cùng lúc Trễ 1s Tắt 8 LED cùng lúc KẾT THÚC Hình 1.11: Lưu đồ thuật toán chương trình bật/tắt 08 LED đơn trên cổng P0-P7 Các bước thực hiện Bước 1: Dùng các dây điện có phích cắm hai đầu để nối 08 chốt (P0- P7) của Arduino với 08 chốt (IN9-IN16) của 08 LED đơn (D9- D16) trên Module IA01 như sau: Nối chốt P0 với chốt IN16. Nối chốt P1 với chốt IN15. Nối chốt P2 với chốt IN14. Nối chốt P3 với chốt IN13. Nối chốt P4 với chốt IN12. Nối chốt P5 với chốt IN11. Nối chốt P6 với chốt IN10. Nối chốt P7 với chốt IN9. Sau khi kết nối các chốt, ta có sơ đồ kết nối hoàn chỉnh của bài thí nghiệm như sau: 10
  12. Hình 1.12: Sơ đồ đấu nối hoàn chình bài thí nghiệm bật/tắt 08 LED đơn trên cổng P0-P7 của Arduino Bước 2: Viết chương trình bật/tắt cho 08 LED đơn trên cổng P0-P7 với các lệnh như sau, tên file là bat.tat 8LED.ino: Bài tập mở rộng Bài tập: Lập trình bật/tắt 08 LED trên cổng P8-P13, A0-A1. Báo cáo kết quả Sinh viên thực hiện thí nghiệm, nhận xét kết quả quan sát được có đúng theo yêu cầu bài toán đặt ra không? Các lỗi phát sinh nếu có, hướng kiểm tra và khắc phục. Sinh viên vận dụng kiến thức có được làm bài tập mở rộng. Lập trình bật/tắt từng LED và toàn bộ hệ thống LED đỏ đơn bằng công tắc Bài tập 1: Lập trình bật/tắt 01 LED đơn sáng tại cổng P7 của Arduino bằng 01 công tắc qua cổng A2 của Arduino Mục đích Giúp người học làm quen với các chân analog của Arduino, cách xuất tín hiệu ra các chân này. Giúp người học nắm được cách sử dụng công tắc để điều khiển bật/tắt LED. Sơ đồ nguyên lý điện tử 11
  13. Hình 1.13: Sơ đồ nguyên lý điện tử bài thí nghiệm bật/tắt một LED đơn bằng công tắc Nguyên lý hoạt động của sơ đồ nguyên lý điện tử Một LED đỏ nối với nguồn 5V qua 1 trở 220 Ohm, LED này được điều khiển bởi chân P7 của Arduino. Arduino sẽ đọc mức logic tại chân A2 – mức logic chính là trạng thái của công tắc là đóng hay mở. Nếu Công tắc đóng, mức logic tại chân A2 là mức cao (HIGH) LED sẽ tắt và nếu công tắc mở, mức logic tại chân A2 là thấp (LOW) LED sẽ sáng. Như vậy, LED sáng hay tắt sẽ dựa vào trạng thái đóng mở của công tắc. Lưu đồ thuật toán BẮT ĐẦU Khai báo cổng bật/tắt LED (P7) Khai báo cổng kết nối với công tắc (A2) Khai báo biến giatri S giatri >0 Đ Bật LED (P7) Tắt LED (P7) Hình 1.14: Lưu đồ thuật toán chương trình bật/tắt 01 LED đơn trên cổng P7 sử dụng công tắc Các bước thực hiện Bước 1: Nối nguồn điện cho công tắc SW1: Dùng dây điện có phích cắm hai đầu để nối chốt ‘+5V’, ‘GND’ của bộ nguồn điện một chiều với chốt ‘+5V’, ‘GND’ của công tắc SW1 trên đế chung. Bước 2: Nối dây tín hiệu cho Arduino: 12
  14. Dùng dây điện có phích cắm hai đầu để nối chốt ‘P13’ của Arduino với chốt ‘IN1’ của LED đơn D1 trên Moudle IA01. Dùng dây điện có phích cắm hai đầu để nối chốt ‘A0’ của Arduino ở trên Module IA01 với chốt ‘K1’ của công tắc SW1 trên đế chung. Sau khi kết nối các chốt, ta có sơ đồ đấu nối hoàn chỉnh của bài thí nghiệm như sau: Hình 1.15: Sơ đồ đấu nối hoàn chỉnh bài thí nghiệm bật/tắt 1 LED đơn bằng một công tắc Bước 4: Biên dịch chương trình để kiểm tra chương trình có lỗi hay không. Nếu chương trình có lỗi thì xử lý ngược lại chuyển sang bước 5. Bước 5: Nạp chương trình vào Arduino. Nếu xuất hiện lỗi trong quá trình nạp thì kiểm tra lỗi và xử lý, ngược lại chuyển sang bước 6. Bước 6: Gạt công tắc nguồn 1chiều ở khối nguồn một chiều trên đế chung sang vị trí ‘on’ để chạy chương trình. Gạt công tắc SW1 để điều khiển bật/tắt LED D1 và theo dõi quá trình chạy chương trình. Bài tập mở rộng - Bài tập: Lập trình bật/tắt 01 LED đơn sáng tại cổng P8 bằng một công tắc qua cổng P2 của Arduino. Báo cáo kết quả Sinh viên thực hiện thí nghiệm, nhận xét kết quả quan sát được có đúng theo yêu cầu bài toán đặt ra không? Các lỗi phát sinh nếu có, hướng kiểm tra và khắc phục. Sinh viên vận dụng kiến thức có được làm bài tập mở rộng. Bài tập 2: Lập trình bật/tắt 08 LED đơn sáng tại cổng P0-P7 bằng 01 công tắc qua cổng A2 của Arduino 13
  15. Mục đích Giúp người học nắm vững hơn cách điều khiển tín hiệu nhận được từ chân analog để điều khiển tín hiệu tại các chân I/O của Arduino. Sơ đồ nguyên lý điện tử Hình 1.16: Sơ đồ nguyên lý điện tử bài thí nghiệm bật/tắt 08 LED đơn bằng một công tắc Nguyên lý hoạt động Khi hoạt động Arduino sẽ đọc mức logic tại chân A2 để điều khiển bật/tắt đèn LED. Khi công tắc có mức logic cao (HIGH) ứng với trạng thái công tắc đóng thì Arduino sẽ xuất ra tín hiệu mức thấp (LOW) trên các cổng từ P0 đến P7 khi này cả 8 LED được nối với các cổng từ P0 đến P7 đều sáng. Khi công tắc có mức logic thấp (LOW) ứng với trạng thái công tác mở thì Arduino sẽ xuất ra tín hiệu mức cao (HIGH) trên các cổng từ P0 đến P7 khi này cả 8 LED được nối với các cổng từ P0 đến P7 đều tắt. Lưu đồ thuật toán BẮT ĐẦU Khai báo cổng bật/tắt LED (từ P0-P7) Khai báo cổng kết nối với công tắc (A2) Khai báo biến Turn S Turn ==1 Đ Bật cả 8 LED cùng lúc Tắt cả 8 LED cùng lúc Hình 1.17: Lưu đồ thuật toán chương trình bật/tắt 08 LED đơn trên cổng P0-P7 sử dụng công tắc tại cổng A2 14
  16. Các bước thực hiện Bước 1: Nối nguồn điện cho công tắc SW1: Dùng dây điện có phích cắm hai đầu để nối chốt ‘+5V’, ‘GND’ của bộ nguồn điện một chiều với chốt ‘+5V’, ‘GND’ của công tắc SW1 trên đế chung. Bước 2: Nối dây tín hiệu cho Arduino: Dùng các dây điện có phích cắm hai đầu để nối chốt (P0- P7) của Arduino với chốt (IN9- IN16) của các LED đơn (D9- D16) trên Module IA01 như sau: Nối chốt P0 với chốt IN16. Nối chốt P1 với chốt IN15. Nối chốt P2 với chốt IN14. Nối chốt P3 với chốt IN13. Nối chốt P4 với chốt IN12. Nối chốt P5 với chốt IN11. Nối chốt P6 với chốt IN10. Nối chốt P7 với chốt IN9. Dùng dây điện có phích cắm hai đầu để nối chốt ‘A0’ của Arduino ở trên Module IA01 với chốt ‘K1’ của công tắc SW1 trên đế chung. Sau khi kết nối các chốt, ta có sơ đồ đấu nối hoàn chỉnh của bài thí nghiệm như sau: Hình 1.18: Sơ đổ đấu nối hoàn chỉnh bài thí nghiệm bật/tắt 08 LED đơn bằng một công tắc 15
  17. Bước 3: Viết chương trình bật/tắt cho 01 LED đơn trên cổng P7 với các lệnh như sau, tên file là bat.tat 8LED bangcongtac.ino: Bước 4: Biên dịch chương trình để kiểm tra chương trình có lỗi hay không. Nếu chương trình có lỗi thì xử lý ngược lại chuyển sang bước 5. Bước 5: Nạp chương trình vào Arduino. Nếu xuất hiện lỗi trong quá trình nạp thì kiểm tra lỗi và xử lý, ngược lại chuyển sang bước 6. Bước 6: Gạt công tắc nguồn 1 chiều ở khối nguồn một chiều trên đế chung sang vị trí ‘on’ để chạy chương trình. Gạt công tắc SW1 để điều khiển bật/tắt LED D1 và theo dõi quá trình chạy chương trình. Bài tập mở rộng Bài tập: Lập trình bật/tắt 08 LED trên cổng P8-P13, A0-A1 bằng một công tắc qua cổng. Báo cáo kết quả Sinh viên thực hiện thí nghiệm, nhận xét kết quả quan sát được có đúng theo yêu cầu bài toán đặt ra không? Các lỗi phát sinh nếu có, hướng kiểm tra và khắc phục. Sinh viên vận dụng kiến thức có được làm bài tập mở rộng. Lập trình bật/tắt hệ thống LED đỏ đơn theo thời gian với một số hiệu ứng Bài tập 1: Lập trình bật/tắt 08 LED đơn tại cổng P0-P7 của Arduino đồng loạt sáng trong một giây rồi đồng loạt tắt sau một giây và lặp đi lặp lặp lại Mục đích Giúp người học nắm được cách sử dụng hàm delay trong phần mềm để lập trình điều khiển bật/tắt LED theo một số hiệu ứng. Sơ đồ nguyên lý điện tử Hình 1.19: Sơ đồ nguyên lý điện tử bài thí nghiệm bật/tắt 08 LED đơn theo thời gian với một số hiệu ứng 16
  18. Nguyên lý hoạt động Khi hoạt động Arduino sẽ xuất tín hiệu mức thấp (LOW) ra 8 chân từ P0 đến P7 để bật đồng thời 8 LED (thời gian sáng trong 1 giây). Sau đó Arduino xuất tín hiệu mức cao (HIGH) ra 8 chân từ P0 đến P7 để tắt đồng thời 8 LED (thời gian tắt trong 1 giây). Quá trình này lặp đi lặp lại với chu kỳ 2 giây. Lưu đồ thuật toán BẮT ĐẦU Khai báo cổng sử dụng để bật/tắt LED (P0-P7) Bật đồng thời 8 LED Trễ 1s Tắt đồng thời 8 LED Trễ 1s Hình 1.20: Lưu đồ thuật toán chương trình bật/tắt 08 LED đơn trên cổng P0-P7 với một số hiệu ứng Các bước thực hiện Bước 1: Dùng các dây điện có phích cắm hai đầu để nối 08 chốt (P0- P7) của Arduino với 08 chốt (IN9-IN16) của 08 LED đơn (D9- D16) trên Module IA01 như sau: Nối chốt P0 với chốt IN16. Nối chốt P1 với chốt IN15. Nối chốt P2 với chốt IN14. Nối chốt P3 với chốt IN13. Nối chốt P4 với chốt IN12. Nối chốt P5 với chốt IN11. Nối chốt P6 với chốt IN10. Nối chốt P7 với chốt IN9. Sau khi kết nối các chốt, ta có sơ đồ kết nối hoàn chỉnh của bài thí nghiệm như sau: 17
  19. Hình 1.21: Sơ đồ đấu nối hoàn chình bài thí nghiệm bật/tắt 08 LED đơn theo thời gian với mốt số hiệu ứng Bước 2: Viết chương trình bật/tắt cho 08 LED đơn trên cổng P0-P7 với các lệnh như sau, tên file là bat.tat 8LED theothoigian.ino: Bước 4: Biên dịch chương trình để kiểm tra chương trình có lỗi hay không. Nếu chương trình có lỗi thì xử lý ngược lại chuyển sang bước 5. Bước 5: Nạp chương trình vào Arduino. Nếu xuất hiện lỗi trong quá trình nạp thì kiểm tra lỗi và xử lý, ngược lại chuyển sang bước 6. Bước 6: Gạt công tắc nguồn 1 chiều ở khối nguồn một chiều trên đế chung sang vị trí ‘on’ để chạy chương trình và theo dõi quá trình chạy chương trình. Bài tập mở rộng Bài tập: Lập trình bặt/tắt 08 LED đơn trên cổng P8-P13, A0- A1 của Arduino cùng sáng trong 1 giây rồi cùng tắt và lặp đi lặp lại. Báo cáo kết quả Sinh viên thực hiện thí nghiệm, nhận xét kết quả quan sát được có đúng theo yêu cầu bài toán đặt ra không? Các lỗi phát sinh nếu có, hướng kiểm tra và khắc phục. Sinh viên vận dụng kiến thức có được làm bài tập mở rộng. Bài tập 2: Lập trình cho hệ thống 16 LED đơn tại cổng P0-P13, A0-A1 của Arduino sáng theo hiệu ứng chạy vòng.(Một LED sáng trong 100 ms rồi tắt, sau đó LED tiếp theo sáng và quá trình lặp đi lặp lại) Mục đích 18
  20. Đây là bài thí nghiệm nâng cao, bài thí này nhằm rèn luyện khả năng vận dụng linh hoạt các câu lệnh kết hợp với hàm delay để điều khiển số lượng lớn các đầu ra. Khi hoàn thành bài thí nghiệm này người học có thể lập trình xuất tín hiệu điều khiển tại tất cả các chân I/O theo nhiều yêu cầu khác nhau (tín hiệu điều khiển được trực quan hóa bằng hệ thống 16 LED đỏ). Sơ đồ nguyên lý điện tử Hình 1.22: Sơ đồ nguyên lý điện tử bài thí nghiệm bật/tắt 16 LED đơn sáng theo hiệu ứng chạy vòng Nguyên lý hoạt động của sơ đồ nguyên lý điện tử 16 LED, mỗi LED đơn nối với nguồn 5V qua trở 220 Ohm. Lần lượt mỗi LED được điều khiển bởi 16 chân theo thứ tự P0-P13 và A0-A1. Arduino sẽ lần lượt xuất mức thấp (LOW) P0 để bật LED thứ 1 trong 100 mili giây, các chân còn lại ở mức cao (HIGH) và LED tại các chân này tắt. Sau 100 mili giây, chân P1 ở mức thấp và LED tại chân P1 sáng; chân P0 và các chân còn lại ở mức cao, các LED tại các chân này tắt. Tương tự các LED tiếp theo sẽ lần lượt sáng trong 100 mili giây cho đến khi hết 16 LED rồi lặp lại tạo thành hiệu ứng chạy vòng. Lưu đồ thuật toán 19
nguon tai.lieu . vn