1. Trang chủ
  2. » Công Nghệ Thông Tin

Giáo trình trí tuệ nhân tạo AI với Python dễ học không cần biết AI

116 7 3

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Nội dung

Mục lục I Video AI với Teachable Machine 7 Chương 1. Học máy với Google Teachable Machine 9 1 Giới thiệu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 2 Bắt đầu với Học Máy Google . . . . . . . . . . . . . . . . . . . . . . . . . 10 3 Huấn luyện dữ liệu sai . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 4 Xuất kết quả huấn luyện . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 5 Lưu dự án vào Google drive . . . . . . . . . . . . . . . . . . . . . . . . . . 16 6 Mở dự án từ Google drive . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 7 Câu hỏi ôn tập . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 Chương 2. Học máy Google trên Python 19 1 Giới thiệu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 2 Tích hợp học máy Google vào PyCharm . . . . . . . . . . . . . . . . . . 20 3 Câu hỏi ôn tập . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 Chương 3. Tích hợp Micro để nhận dạng âm thanh trên Python 25 1 Giới thiệu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 2 Tích hợp Webcam . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 3 Tích hợp trợ lý ảo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 4 Câu hỏi ôn tập . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 II Nhận dạng âm thanh với Teachable Machine 33 Chương 4. Huấn luyện âm thanh trên Teachable Machine 35 1 Giới thiệu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 2 Huấn luyện hệ thống âm thanh . . . . . . . . . . . . . . . . . . . . . . . 36 3 Xuất kết quả huấn luyện . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 4 Lưu dự án vào Google drive . . . . . . . . . . . . . . . . . . . . . . . . . . 41 5 Mở dự án từ Google drive . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 6 Câu hỏi ôn tập . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 Chương 5. AI và Robot trên Scratch 3.0 45 1 Giới thiệu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 2 Scratch 3.0 trực tuyến . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 3 Trí tuệ nhân tạo trên Scratch 3.0 . . . . . . . . . . . . . . . . . . . . . . . 47 Trí tuệ nhân tạo Khoa học dữ liệu Trang 3 3.1 Kích hoạt trí tuệ nhân tạo . . . . . . . . . . . . . . . . . . . . . . 47 3.2 Bắt đầu việc nhận dạng . . . . . . . . . . . . . . . . . . . . . . . . 48 4 Kết nối với Robot Microbit . . . . . . . . . . . . . . . . . . . . . . . . . . 49 Chương 6. Tích hợp Micro để nhận dạng âm thanh trên Python 51 1 Giới thiệu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 2 Tích hợp Micro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 3 Câu hỏi ôn tập . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 III Khoa học dữ liệu 65 Chương 7. Khoa học Dữ liệu cùng Python 67 1 Giới thiệu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 2 Thư viện thường được sử dụng . . . . . . . . . . . . . . . . . . . . . . . . 68 2.1 Numpy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 2.2 Pandas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 2.3 Matplotlib . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 2.4 SciPy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 2.5 ScikitLearn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 3 Thu thập và xử lý dữ liệu . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 3.1 Thu thập dữ liệu . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 3.2 Xử lý dữ liệu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 3.2.1 Thêm dữ liệu vào chương trình . . . . . . . . . . . . . 72 3.2.2 Trích xuất, chia nhỏ dữ liệu . . . . . . . . . . . . . . . 73 4 Câu hỏi ôn tập . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 Chương 8. Vẽ đồ thị biểu diễn dữ liệu trực quan 77 1 Giới thiệu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 2 Vẽ biểu đồ bằng thư viện Matplotlib . . . . . . . . . . . . . . . . . . . . 78 2.1 Biểu đồ đường . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 2.2 Biểu đồ cột . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 2.3 Biểu đồ tròn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 3 Biểu diễn kết quả thống kê bằng khuôn hình . . . . . . . . . . . . . . . 85 4 Câu hỏi ôn tập . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 Chương 9. Dự đoán tương lai gần bằng thuật toán Hồi Quy Tuyến Tính 89 1 Giới thiệu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 2 Xử lý dữ liệu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 3 Biểu diễn số liệu dưới dạng đồ thị . . . . . . . . . . . . . . . . . . . . . . 90 4 Sử dụng thuật toán Hồi Quy Tuyến Tính trong việc dự đoán tương lai gần . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 5 Câu hỏi ôn tập . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 IV Robotics với Python Ứng dụng Google Home 95 Chương 10. Trợ lý ảo trên Điện thoại 97 1 Giới thiệu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 2 Cài đặt Giọng nói Văn bản . . . . . . . . . . . . . . . . . . . . . . . . . . 98 Trang 4 The Dariu Foundation 3 Cài đặt ứng dụng Trợ lý ảo . . . . . . . . . . . . . . . . . . . . . . . . . . 99 4 Hướng dẫn sử dụng . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 4.1 Đặt tên cho Trợ lý ảo . . . . . . . . . . . . . . . . . . . . . . . . . 100 4.2 Cấu hình lệnh cho trợ lý ảo . . . . . . . . . . . . . . . . . . . . . 100 5 Câu hỏi ôn tập . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 Chương 11. Tích hợp Microbit vào Trợ lý ảo 103 1 Giới thiệu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 2 Cài đặt phần mềm Mu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 3 Chương trình đầu tiên . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 4 Hiện thực chương trình cho Microbit . . . . . . . . . . . . . . . . . . . 107 4.1 Nhận dữ liệu từ điện thoại . . . . . . . . . . . . . . . . . . . . . . 107 4.2 Gửi dữ liệu lên điện thoại . . . . . . . . . . . . . . . . . . . . . . 108 5 Câu hỏi ôn tập . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 Chương 12. Điều khiển ngoại vi qua giao tiếp không dây 111 1 Giới thiệu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 2 Nhận dữ liệu không dây . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 3 ĐóngMở công tắc Relay . . . . . . . . . . . . . . . . . . . . . . . . . . . 113 4 Giám sát cảm biến và gửi cảnh báo . . . . . . . . . . . . . . . . . . . . . 114 5 Câu hỏi ôn tập . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .116

Lê Trọng Nhân - Lê Phương Nam Nguyễn Văn Hạnh - Băng Ngọc Bảo Tâm Trang The Dariu Foundation Mục lục I Video AI với Teachable Machine Chương Học máy với Google - Teachable Machine Giới thiệu Bắt đầu với Học Máy Google Huấn luyện liệu sai Xuất kết huấn luyện Lưu dự án vào Google drive Mở dự án từ Google drive Câu hỏi ôn tập 10 10 13 14 16 16 17 Chương Học máy Google Python Giới thiệu Tích hợp học máy Google vào PyCharm Câu hỏi ôn tập 19 20 20 24 Chương Tích hợp Micro để nhận dạng âm Python Giới thiệu Tích hợp Webcam Tích hợp trợ lý ảo Câu hỏi ôn tập 25 26 26 28 31 II Nhận dạng âm với Teachable Machine Chương Huấn luyện âm Teachable Machine Giới thiệu Huấn luyện hệ thống âm Xuất kết huấn luyện Lưu dự án vào Google drive Mở dự án từ Google drive Câu hỏi ôn tập 33 35 36 36 39 41 42 43 Chương AI Robot Scratch 3.0 Giới thiệu Scratch 3.0 trực tuyến Trí tuệ nhân tạo Scratch 3.0 45 46 46 47 Trí tuệ nhân tạo - Khoa học liệu Trang 3.1 Kích hoạt trí tuệ nhân tạo 3.2 Bắt đầu việc nhận dạng Kết nối với Robot Microbit 47 48 49 Chương Tích hợp Micro để nhận dạng âm Python Giới thiệu Tích hợp Micro Câu hỏi ôn tập 51 52 52 64 III 65 Khoa học liệu Chương Khoa học Dữ liệu Python Giới thiệu Thư viện thường sử dụng 2.1 Numpy 2.2 Pandas 2.3 Matplotlib 2.4 SciPy 2.5 Scikit-Learn Thu thập xử lý liệu 3.1 Thu thập liệu 3.2 Xử lý liệu 3.2.1 Thêm liệu vào chương trình 3.2.2 Trích xuất, chia nhỏ liệu Câu hỏi ôn tập Chương Vẽ đồ thị biểu diễn liệu trực quan Giới thiệu Vẽ biểu đồ thư viện Matplotlib 2.1 Biểu đồ đường 2.2 Biểu đồ cột 2.3 Biểu đồ tròn Biểu diễn kết thống kê khn hình Câu hỏi ơn tập 67 68 68 68 68 69 70 71 72 72 72 72 73 75 77 78 78 78 81 83 85 88 Chương Dự đoán tương lai gần thuật tốn Hồi Quy Tuyến Tính Giới thiệu Xử lý liệu Biểu diễn số liệu dạng đồ thị Sử dụng thuật tốn Hồi Quy Tuyến Tính việc dự đốn tương lai gần Câu hỏi ôn tập 89 90 90 90 IV 95 Robotics với Python - Ứng dụng Google Home Chương 10 Trợ lý ảo Điện thoại Giới thiệu Cài đặt Giọng nói - Văn Trang 92 94 97 98 98 The Dariu Foundation 99 100 100 100 101 Chương 11 Tích hợp Microbit vào Trợ lý ảo Giới thiệu Cài đặt phần mềm Mu Chương trình Hiện thực chương trình cho Microbit 4.1 Nhận liệu từ điện thoại 4.2 Gửi liệu lên điện thoại Câu hỏi ôn tập 103 104 105 106 107 107 108 109 111 112 112 113 114 116 Cài đặt ứng dụng Trợ lý ảo Hướng dẫn sử dụng 4.1 Đặt tên cho Trợ lý ảo 4.2 Cấu hình lệnh cho trợ lý ảo Câu hỏi ôn tập Chương 12 Điều khiển ngoại vi qua giao tiếp không dây Giới thiệu Nhận liệu không dây Đóng/Mở cơng tắc Relay Giám sát cảm biến gửi cảnh báo Câu hỏi ôn tập Trí tuệ nhân tạo - Khoa học liệu Trang Trang The Dariu Foundation Phần I Video AI với Teachable Machine Trí tuệ nhân tạo - Khoa học liệu Trang CHƯƠNG Học máy với Google - Teachable Machine Giới thiệu Trong thời đại bùng nổ cách mạng công nghệ 4.0, hẳn nghe nói nhiều khái niệm Trí tuệ nhân tạo, hay cịn gọi AI (Artificial Intelligence) Tuy nhiên để hiểu cách trực quan điều dễ dàng Vì vậy, từ năm 2017 Google xây dựng cơng cụ trực tuyến, có tên gọi Teachable Machine, để mang lại cho người nhìn tổng quan trí tuệ nhân tạo Chỉ cần thao tác, lứa tuổi, cảm nhận trí tuệ nhân tạo gồm có khái niệm nào, làm Teachable Machine ban đầu trang web trực tuyến, với mục đích cho người dùng trải nghiệm với sản phẩm trí tuệ nhân tạo, nhận diện hình ảnh hay nhận diện âm thay Tuy nhiên nay, với phiên 2.0, Teachable Machine trở thành công cụ việc thiết kế ứng trí tuệ nhân tạo cho Công cụ hỗ trợ nhiều tảng lập trình khác nhau, Scratch (ngơn ngữ cho học sinh) Python, ngơn ngữ lập trình mạnh mẽ cho ứng dụng thời đại Ngoài ra, nhiều tảng AI khác dựa lõi trung tâm Google Teachable Machine Trong hướng dẫn này, giới thiệu thao tác Teachable Machine, trước bắt đầu việc lập trình kết nối Python Teachable Machine Chúng tập trung vào hướng dẫn cơng cụ đầu tiên, nhận diện hình ảnh (Image Classifier) Các cơng cụ khác trình bày Các mục tiêu liệt kê sau: • Hiểu thành phần AI • Sử dụng cơng cụ Teachable Machine Google • Trải nghiệm Học Máy với Google trang web • Lưu dự án AI công cụ Google Drive Trong phần cịn lại hướng dẫn, chúng tơi xài thuật ngữ việt hóa cho Teachable Machine "Học Máy Google" cho thuận tiện với bạn đọc Bắt đầu với Học Máy Google Học Máy Google xây dựng thành công cụ trực tuyến Chúng ta bắt đầu việc vào đường dẫn https://teachablemachine.withgoogle.com/, giao diện sau ra: Trang 10 The Dariu Foundation Trang 102 The Dariu Foundation CHƯƠNG 11 Tích hợp Microbit vào Trợ lý ảo Giới thiệu Trong hướng dẫn này, tích hợp mạch Microbit với Trợ lý ảo điện thoại Đây điều thuận tiện cho bạn đọc phát triển nhiều ứng dụng phong phú Tận dụng khả công nghệ AI có sẵn điện thoại, lệnh đơn giản truyền xuống mạch Microbit cho xử lý Để làm điều này, cần kết nối điện thoại mạch Microbit Ở đây, dùng dây USB OTG để kết nối điện thoại mạch Microbit Sở dĩ không sử dụng kết nối không dây muốn dùng để gửi lệnh cho mạch Microbit khác Mơ hình kết nối điện thoại mạch Microbit minh họa hình bên dưới: Hình 11.1: Mơ hình kết nối giữ điện thoại mạch Microbit trung tâm Mạch Microbit kết nối với điện thoại, đóng vai trị mạch trung tâm (hay cịn gọi Gateway) Mạch có nhiệm vụ Đầu tiên nhận lệnh từ điện thoại gửi cho mạch Microbit khác để hình thành nên nhiều ứng dụng Ngồi ra, có khả nhận liệu từ mạch Microbit khác gửi lên cho điện thoại Chúng ta dùng ngơn ngữ Python để lập trình cho mạch Microbit trung tâm thay dùng ngơn ngữ kéo thả MakeCode Thông qua hướng dẫn này, muốn bạn đọc thấy phong phú ngôn ngữ Python, hỗ trợ lập trình cho nhiều tảng khác Tuy nhiên, dùng phần mềm Mu để viết chương trình cho mạch Microbit Mục tiêu hướng dẫn tổng hợp bên dưới: • Lập trình Python cho Microbit phần mềm Mu • Nhận liệu từ điện thoại thơng qua kết nối Serial • Giao tiếp liệu không dây với mạch Microbit khác thông qua kết nối Radio Trang 104 The Dariu Foundation Cài đặt phần mềm Mu Bước 1: Vào trang chủ https://codewith.mu/ chọn tiếp vào Download, minh họa hình bên dưới: Hình 11.2: Vào trang chủ Mu tải phần mềm Bước 2: Chọn phần mềm tương thích với hệ điều hành máy tính Với máy tính Windows 10 tại, dịng 64 bit Hình 11.3: Chọn phiên phù hợp với cấu hình máy tính Bước 3: Sau việc cài đặt hồn thành, giao diện sau phần mềm sau: Hình 11.4: Giao diện phần mềm Mu Bước 4: Cấu hình cho phần mềm trình soạn thảo cho mạch Microbit cách nhấn vào nút Mode Hình 11.4, giao diện sau ra: Trí tuệ nhân tạo - Khoa học liệu Trang 105 Hình 11.5: Cấu hình cho phần mềm trình soạn thảo cho Microbit Bước 5: Cắm mạch Microbit vào máy tính, nút Flash kích hoạt lập trình cho Trong bước này, có thơng báo lên, báo hiệu việc nạp không thành công, với lý sau • Bên mạch Microbit nạp trước chương trình thơng qua MakeCode nên khơng tương thích với hệ thống Python Bạn cần nạp lại • Mạch Microbit ghép đôi với phần mềm Điều hay xảy bạn quên tắt phần mềm soạn thảo MakeCode Đối với người lập trình thơng thạo, thường ghép đơi phần mềm với mạch Microbit để nạp cho nhanh Do đó, cần phải tắt phần mềm MakeCode để giành quyền kết nối cho phần mềm Mu Chương trình Cũng tương tự chương trình với ngơn ngữ kéo thả MakeCode, thực lại chương trình này, ngơn ngữ Python trình soạn thảo Mu Chương trình gợi ý cho sau: from microbit import * while True : display show ( Image HEART ) sleep (1000) display show ( Image HEART_SMALL ) sleep (1000) Chương trình 11.1: Chương trình Mu Các câu lệnh python chương trình khơng q khó để hiểu được, bạn đọc so sánh với chương trình bên MakeCode Câu lệnh (import) để khai báo thư viện hỗ trợ cho việc lập trình mạch Microbit Vòng lặp Trang 106 The Dariu Foundation while True: tương tự với khối forever Bên nó, tương đương với câu lệnh show icons pause bên mơi trường MakeCode Hiện thực chương trình cho Microbit Bây giờ, thực chương trình hồn chỉnh cho mạch Microbit để tích hợp vào hệ thống trợ lý ảo Trong chương trình này, cần chức quan trọng: • Radio: Để giao tiếp không dây với mạch Microbit khác • Serial: Để giao tiếp giữ mạch Microbit kết nối với điện thoại Android Chúng ta bắt đầu chương trình việc khởi tạo khối này, sau: from microbit import * import radio radio config ( group =1) radio on () uart init ( baudrate =115200) Chương trình 11.2: Chương trình Mu Chúng ta cần lưu ý rằng, mạch Microbit giao tiếp với chúng có nhóm Tiếp theo, khối uart dùng để giao tiếp với điện thoại, phải sử dụng tốc độ 115200, cổng uart ảo thông qua kết nối USB 4.1 Nhận liệu từ điện thoại Với chức này, trợ lý ảo gửi lệnh xuống, gửi lệnh không dây khối Radio để mạch Microbit khác nhận Chức thực vịng lặp vơ tận, sau: from microbit import * import radio radio config ( group =1) radio on () uart init ( baudrate =115200) 10 while True : 11 12 13 14 15 msg_bytes = uart read () if msg_bytes != None : msg_str = str ( msg_bytes , ’UTF -8 ’) radio send ( msg_str ) Trí tuệ nhân tạo - Khoa học liệu Trang 107 sleep (100) Chương trình 11.3: Nhận liệu từ điện thoại phát Radio 16 4.2 Gửi liệu lên điện thoại Ngược lại, mạch Microbit trung tâm nhận thơng tin từ mạch Microbit khác, gửi lên trợ lý ảo để xử lý thêm, chương trình thực tiếp khối lặp vô tận, sau: from microbit import * import radio radio config ( group =1) radio on () uart init ( baudrate =115200) while True : 10 11 12 13 14 msg_bytes = uart read () if msg_bytes is not None : msg_str = str ( msg_bytes , ’UTF -8 ’) radio send ( msg_str ) 15 16 17 18 receive = radio receive () if receive is not None : uart write ( receive ) 19 20 sleep (100) Chương trình 11.4: Nhận liệu từ Radio gửi lên điện thoại Trang 108 The Dariu Foundation Câu hỏi ôn tập Mạch Microbit trung tâm kết nối với Điện thoại thông qua: A USB OTG B USB 2.0 C USB 3.0 D Bluetotoh Phần mềm sau hỗ trợ lập trình Python mạch Microbit? A MakeCode online B MakeCode offline C Mu D Tất phần mềm Công cụ gửi nhận liệu mạch Microbit điện thoại thông qua kết nối USB gì? A UART B SPI C I2C D Tất Tốc độ giao tiếp điện thoại mạch Microbit thông qua giao tiếp nối tiếp bao nhiêu? A 9600 B 19200 C 115200 D Tốc độ Câu lệnh sau dùng để chỉnh nhóm cho giao tiếp Radio 1? A radio.config(1) B radio.group(1) C radio.config(group=1) D Tất Câu lệnh dùng để bật chức giao tiếp Radio mạch microbit? A radio.on() B radio.turn_on() C radio.active() D Tất sai Câu lệnh sau để kiểm tra biến receive khác null? A receive == None B receive != None C receive is not None D Tất Đáp án A D A C C A C Trí tuệ nhân tạo - Khoa học liệu Trang 109 Trang 110 The Dariu Foundation CHƯƠNG 12 Điều khiển ngoại vi qua giao tiếp không dây Giới thiệu Trở lại với mơ hình kết nối điện thoại mạch Microbit hình bên dưới, hướng dẫn này, tập trung thực chương trình cho nốt cảm biến (Microbit Sensor) để xử lý lệnh từ trợ lý ảo từ điện thoại Hình 12.1: Mơ hình kết nối giữ điện thoại mạch Microbit trung tâm Về bản, nốt cảm biến có chức sau: • Nhận lệnh từ trung tâm: Lệnh gửi không dây tới nốt cảm biến Nốt cảm biến cần phải phân loại thực lệnh tương ứng mà thiết lập • Gửi thông báo trung tâm: Trong trường hợp giá trị giám sát vượt miền cho phép, gửi liệu không dây nốt trung tâm để trợ lý ảo thông báo cho người dùng Với chức phân tích bên trên, rõ ràng nốt cảm biến phải cần khối Radio để nhận gửi liệu không dây Khối Serial trường hợp chưa cần dùng đến Cuối cùng, nốt cảm biến tập trung vào việc điều khiển ngoại vi đọc liệu cảm biến Các mục tiêu hướng dẫn sau: • Nhận liệu không dây từ trung tâm để điều khiển ngoại vi • Giám sát cảm biến gửi cảnh báo từ trung tâm • Đọc cảm biến nhiệt độ ánh sáng mạch Microbit Nhận liệu không dây Đây chức đầu tiên: nốt cảm biến nhận lệnh từ trung tâm thông qua giao tiếp không dây Chúng ta kế thừa phần chương trình từ nốt trung tâm để thực chức này, sau: Trang 112 The Dariu Foundation from microbit import * import radio radio config ( group =1) radio on () def process_command ( cmd ) : display scroll ( cmd ) return 10 11 while True : 12 receive = radio receive () if receive is not None : process_command ( receive ) 13 14 15 16 sleep (100) 17 Chương trình 12.1: Chương trình Mu Trong chương trình trên, đơn giản hiển thị nhận Chức cụ thể thực chi tiết hàm process_command Đóng/Mở cơng tắc Relay Relay thiết bị mang lại nhiều hứng thú cho bạn đọc cơng tắc mà hay xài gia đình Tuy nhiên, cơng tắc đóng mở việc lập trình, thay phải tương tác tay Sơ đồ kết nối thiết bị có cơng suất lớn (như đèn, máy bơm) qua mạch Relay minh họa sau: Hình 12.2: Kết nối Relay thiết bị tải Chúng ta sử dụng chân COM NO relay Ý nghĩa NO Normal Open, tức bình thường cơng tắc hở, mạch điện khơng nối khơng có dịng điện qua tải Khi lập trình kích hoạt nó, cơng tắc đóng động hoạt động Trí tuệ nhân tạo - Khoa học liệu Trang 113 Đầu vào mạch Relay chuẩn hóa để phù hợp với mạch mở rộng Chipi Base Shield với chuẩn cắm chân VCC-GND-Sig-NC Khi cắm vào mạch mở rộng, bạn phải lưu ý chân Sig nối với chân Microbit lập trình Trong kết nối chúng tôi, Sig nối với chân P0, chương trình để đóng mở Relay dựa vào tín hiệu từ Trợ lý ảo gợi ý sau: def process_command ( cmd ) : if receive == " " : display show ( Image HEART_SMALL ) pin0 write_digital (0) elif receive == " " : display show ( Image HEART ) pin0 write_digital (1) return Chương trình 12.2: Hiện thực đóng tắt Relay Giám sát cảm biến gửi cảnh báo Một chức thiếu nốt cảm biến giám sát thơng tin mơi trường gửi cảnh báo tới trung tâm Việc kết nối cảm biến với mạch Microbit tùy thuộc vào ứng dụng mà bạn đọc phải chọn lựa cho phù hợp Trong hướng dẫn này, sử dụng cảm biến tích hợp sẵn mạch Microbit, cảm biến nhiệt độ cảm biến ánh sáng, để minh họa cho chức Tuy nhiên, việc đọc giá trị từ cảm biến không cần thiết phải đọc cách liên tục, chẳng hạn cần giây đọc lần Tuy nhiên, dùng câu lệnh sleep(5000) gửi liệu từ trung tâm, giây sau hệ thống đáp ứng Do đó, để đảm bảo việc đáp ứng hệ thống, không phép xài thêm câu lệnh sleep nữa, mà dùng câu lệnh sleep(100) cuối vòng lặp while True mà Để tạo hiệu ứng giây đọc cảm biến lần, tạo thêm biến counter xử lý sau: from microbit import * import radio radio config ( group =1) radio on () counter = while True : 10 11 12 13 receive = radio receive () if receive is not None : process_command ( receive ) Trang 114 The Dariu Foundation 14 15 16 17 18 counter = counter + if counter > 50: counter = process_sensor () 19 20 sleep (100) Chương trình 12.3: Tạo hàm đọc cảm biến sau giây Bạn đọc lưu ý việc xử lý biến counter đoạn chương trình Biến tăng lên đơn vị sau 100ms vịng lặp while True Do đó, sau 50 lần 100ms, hàm process_sensor gọi lần, tức việc đọc cảm biến thực thi sau giây Kĩ thuật sử dụng chương trình yêu cầu việc thực chương trình ngày lớn hơn: Khơng sử dụng câu lệnh đợi (ở sleep) không sử dụng câu lệnh lặp Nếu vi phạm quy tắc này, thực thêm chức mới, chức cũ khơng chạy Cuối cùng, thực hàm process_sensor sau: def process_sensor () : temp = temperature () light = display read_light_level () if temp > 29: radio send ( " 10 " ) if light < 300: radio send ( " 11 " ) return Chương trình 12.4: Hiện thực chương trình đọc cảm biến gửi cảnh báo Trong chương trình trên, nhiệt độ lớn 29, gửi cảnh báo trung tâm số 10 Vì vậy, bạn cần cài đặt câu thông báo cho lệnh số 11 trợ lý ảo, chẳng hạn "Nhiệt độ phịng q nóng" trợ lý ảo thơng báo giọng nói Tương tự vậy, lệnh số 11 trợ lý ảo "Phịng tối, xin vui lịng bật đèn" Trí tuệ nhân tạo - Khoa học liệu Trang 115 Câu hỏi ôn tập Microbit cảm biến kết nối với trung tâm thông qua: A USB OTG B Radio C Bluetooth D Tất sai Để đọc giá trị cảm biến nhiệt độ tích hợp bên Microbit, câu lệnh sử dụng? A temp() B temperature() C getTemperature() D Tất sai Để đọc giá trị cảm biến ánh sáng tích hợp bên Microbit, câu lệnh sử dụng? A display.read_light_level() B display.get_light_level() C display.light_level() D Tất sai Để gửi liệu không dây từ nốt cảm biến sang nốt trung tâm, câu lệnh sử dụng? A radio.receive("10") B radio.send("10") C radio.sent("10") D Tất sai Giải pháp để tạo hiệu ứng đợi giây hiệu nhất? A Sử dụng câu lệnh sleep(5000) B Sử dụng câu lệnh lặp 50 lần, lần lặp đợi 100ms C Sử dụng biến xử lý câu lệnh if D Tất Để trợ lý ảo phát giọng nói lệnh số 10, câu lệnh sau dùng? A radio.send(10) B radio.send("10") C radio.receive(10) D radio.receive("10") Giả sử công tắc Relay nối vào chân P0, câu lệnh để bật Relay? A write_digital(P0, 1) B write_digital(P0, 0) C P0.write_digital(1) D P0.write_digital(0) Đáp án B B Trang 116 A B C B C The Dariu Foundation

Ngày đăng: 11/06/2023, 10:09

TỪ KHÓA LIÊN QUAN

w