3.30. Tổng kết

Bạn đã đi qua các phần của module machine xuất hiện ngay khi một tập lệnh giao tiếp với thế giới vật lý:

  • Đầu ra và đầu vào GPIO -- lái LED hoặc transistor, đọc nút nhấn hoặc công tắc giới hạn. Các khối xây dựng nền tảng mà mọi dự án phần cứng đều dựa vào, với điện trở kéo và chống rung bằng phần mềm cho các lần đọc phải đáng tin cậy.

  • Tín hiệu tương tự -- đọc cảm biến, chiết áp, hoặc bất kỳ điện áp biến đổi liên tục nào khác bằng ADC; và, khi không có DAC, tạo ra điện áp được kiểm soát bằng PWM và bộ lọc RC thông thấp.

  • Ứng dụng PWM -- điều chỉnh độ sáng LED, thay đổi tốc độ động cơ DC qua cầu H, định vị servo. Một dạng sóng, các bộ lấy trung bình vật lý khác nhau (mắt người, độ tự cảm của động cơ) và các cách diễn giải khác nhau (chu kỳ làm việc so với độ rộng xung tuyệt đối).

  • Bus nối tiếp -- UART cho liên kết điểm-điểm không đồng bộ; SPI cho ngoại vi tốc độ cao trên bo mạch với một chip-select cho mỗi thiết bị; I2C cho bus cảm biến đa thiết bị chậm trên chỉ hai dây; CAN cho bus trường đa chủ mạnh mẽ giữa các module.

  • Các mẫu sản xuất -- bộ định thời watchdog để phục hồi sau treo, chế độ ngủ để kéo dài pin. Cả hai trở nên thiết yếu lần đầu tiên camera rời khỏi bàn làm việc.

Như vậy đã đủ để xây dựng vòng lặp cảm nhận -- lập kế hoạch -- hành động của một thiết bị nhúng: đọc cảm biến qua I2C / SPI / ADC, ra quyết định bằng Python, điều khiển bộ chấp hành qua PWM / GPIO, báo cáo trạng thái qua UART / CAN, ngủ giữa các sự kiện.

3.30.1. Sử dụng tài liệu tham khảo này sau này

Hãy coi các chương phần cứng là tài liệu tham khảo, không phải đọc một lần. Trang tham khảo module machine liệt kê mọi lớp và phương thức ở một nơi khi câu hỏi chỉ là "tên chính xác của lệnh gọi này là gì". Các trang theo chương ở đây là nơi quay lại cho góc nhìn "nút nào làm gì, và tại sao" mà tài liệu tham khảo không cung cấp một mình.

3.30.2. Tiếp theo nên đi đâu

Cảm biến thị giác là chủ đề lớn tiếp theo. Trong khi phần này dạy các ngoại vi chung -- Pin, ADC, PWM, UART, SPI, I2C, CAN -- xuất hiện trên hầu hết mọi MCU, phần tiếp theo dạy rất sâu về ngoại vi đặc trưng của camera: cảm biến ảnh, và chuỗi dài của quang học, silicon, và xử lý tín hiệu giữa photon chạm vào kính và bộ đệm điểm ảnh trong RAM. Bộ công cụ chuyển sang module csiimage, nhưng mọi thứ bạn đã học về lái GPIO, giao tiếp qua I2C, và sử dụng PWM đều được áp dụng không thay đổi -- đèn strobe, trigger, và tấm chắn cảm biến đều dùng cùng các bus bạn vừa học.