3.30. สรุป¶
คุณได้ศึกษาส่วนต่างๆ ของโมดูล machine ที่ใช้งานทันทีที่สคริปต์พูดคุยกับโลกกายภาพ:
GPIO เอาต์พุตและอินพุต -- ขับ LED หรือทรานซิสเตอร์ อ่านปุ่มกดหรือลิมิตสวิตช์ ส่วนประกอบพื้นฐานที่โปรเจกต์ฮาร์ดแวร์ทุกชิ้นอาศัย พร้อมตัวต้านทาน pull และการดีบาวซ์ซอฟต์แวร์สำหรับการอ่านที่ต้องเชื่อถือได้
สัญญาณแอนะล็อก -- อ่านเซนเซอร์ โพเทนชิโอมิเตอร์ หรือแรงดันไฟฟ้าที่เปลี่ยนแปลงต่อเนื่องอื่นๆ ด้วย ADC และเมื่อไม่มี DAC ก็สร้างแรงดันที่ควบคุมได้ด้วย PWM และฟิลเตอร์ RC low-pass
การประยุกต์ใช้ PWM -- หรี่ LED ปรับความเร็วมอเตอร์ DC ผ่าน H-bridge กำหนดตำแหน่งเซอร์โว รูปคลื่นเดียวกัน ตัวเฉลี่ยทางกายภาพต่างกัน (ดวงตา อินดักแตนซ์ของมอเตอร์) และการกำหนดกรอบต่างกัน (duty cycle เทียบกับความกว้างพัลส์สัมบูรณ์)
บัสซีเรียล --
UARTสำหรับลิงก์แบบอะซิงโครนัสจุดต่อจุด;SPIสำหรับอุปกรณ์ต่อพ่วงบนบอร์ดที่เร็วพร้อม chip-select หนึ่งตัวต่ออุปกรณ์;I2Cสำหรับบัสเซนเซอร์หลายอุปกรณ์ที่ช้าบนสายเพียงสองเส้น;CANสำหรับ field bus แบบ multi-master ที่แข็งแกร่งระหว่างโมดูลรูปแบบการผลิต -- watchdog timer เพื่อกู้คืนจากการค้าง โหมดสลีปเพื่อยืดอายุแบตเตอรี่ ทั้งสองจะกลายเป็นสิ่งจำเป็นเมื่อกล้องออกจากโต๊ะทำงานเป็นครั้งแรก
นั่นเพียงพอแล้วสำหรับการสร้างลูป รับรู้ -- วางแผน -- ลงมือ ของอุปกรณ์ฝังตัว: อ่านเซนเซอร์ผ่าน I2C / SPI / ADC ตัดสินใจใน Python ขับแอกชูเอเตอร์ผ่าน PWM / GPIO รายงานสถานะผ่าน UART / CAN และสลีประหว่างเหตุการณ์
3.30.1. การใช้เอกสารอ้างอิงนี้ในภายหลัง¶
ใช้บทฮาร์ดแวร์เป็นเอกสารอ้างอิง ไม่ใช่การอ่านครั้งเดียวผ่าน หน้าอ้างอิงโมดูล machine แสดงทุกคลาสและเมธอดในที่เดียวเมื่อคำถามคือ "ชื่อที่แน่นอนของการเรียกนี้คืออะไร" หน้าต่างๆ ในแต่ละบทที่นี่คือที่ที่ควรกลับมาสำหรับมุมมอง "ปุ่มไหนทำอะไร และทำไม" ที่เอกสารอ้างอิงไม่ได้ให้เองโดยลำพัง
3.30.2. ไปที่ไหนจากนี้¶
เซนเซอร์วิชัน เป็นหัวข้อสำคัญถัดไป ในขณะที่ส่วนนี้สอนอุปกรณ์ต่อพ่วงทั่วไป -- Pin, ADC, PWM, UART, SPI, I2C, CAN -- ที่ปรากฏบน MCU เกือบทุกชนิด ส่วนถัดไปสอนอุปกรณ์ต่อพ่วงที่ กำหนดตัวตน ของกล้องอย่างละเอียด: image sensor และห่วงโซ่ยาวของออปติกส์ ซิลิกอน และการประมวลผลสัญญาณระหว่างโฟตอนที่กระทบเลนส์และบัฟเฟอร์พิกเซลใน RAM เครื่องมือเปลี่ยนไปยังโมดูล csi และ image แต่ทุกสิ่งที่คุณเรียนรู้เกี่ยวกับการขับ GPIO การสื่อสารผ่าน I2C และการใช้ PWM ยังคงใช้ได้โดยไม่เปลี่ยนแปลง -- สโตรบ ทริกเกอร์ และ sensor shield ล้วนใช้บัสเดียวกับที่คุณเพิ่งเรียนไป