3.30. סיכום¶
עברת על החלקים של המודול machine שעולים ברגע שסקריפט מדבר עם העולם הפיזי:
פלט וקלט GPIO – הנעת LED או טרנזיסטור, קריאת לחצן או מתג גבול. אבני הבניין שעליהן נשען כל פרויקט חומרה, עם נגדי pull ו-debouncing תוכנתי עבור קריאות שחייבות להיות אמינות.
אותות אנלוגיים – קריאת חיישן, פוטנציומטר, או כל מתח אחר המשתנה ברציפות עם ה-ADC; וכאשר אין DAC זמין, ייצור מתח מבוקר עם PWM ומסנן RC מעביר-נמוכים.
יישומי PWM – עמעום LED, שינוי מהירות של מנוע DC דרך גשר-H, מיקום סרוו. צורת גל אחת, ממצעים פיזיים שונים (העין, ההשראות של המנוע) ומסגורים שונים (מחזור עבודה לעומת רוחב פולס מוחלט).
אפיקים סיריאליים –
UARTעבור קישורים אסינכרוניים מנקודה לנקודה;SPIעבור התקנים היקפיים מהירים על-הלוח עם chip-select אחד לכל התקן;I2Cעבור אפיקי חיישן איטיים מרובי-התקנים על שני חוטים בלבד;CANעבור אפיקי שדה איתנים מרובי-בעלים בין מודולים.תבניות ייצור – טיימר watchdog להתאוששות מתקיעות, מצבי שינה להארכת חיי סוללה. שניהם הופכים חיוניים בפעם הראשונה שמצלמה עוזבת את שולחן העבודה.
זה מספיק כדי לבנות את לולאת ה-חוש – תכנן – פעל של התקן משובץ: קריאת חיישנים דרך I2C / SPI / ADC, קבלת החלטות ב-Python, הנעת מפעילים דרך PWM / GPIO, דיווח מצב דרך UART / CAN, שינה בין אירועים.
3.30.1. שימוש בעיון זה בהמשך¶
התייחס לפרקי החומרה כחומר עיון, לא כקריאה חד-פעמית. עמוד העיון של המודול machine מפרט כל מחלקה ומתודה במקום אחד כשהשאלה היא רק ”מה השם המדויק של קריאה זו“. העמודים הפר-פרקיים כאן הם המקום לחזור אליו עבור התצוגה של ”איזה כפתור עושה מה, ולמה“ שחומר העיון אינו מספק בכוחות עצמו.
3.30.2. לאן להמשיך מכאן¶
חיישני ראייה הם הנושא הגדול הבא. במקום שבו חלק זה לימד את ההתקנים ההיקפיים הגנריים – Pin, ADC, PWM, UART, SPI, I2C, CAN – שמופיעים כמעט בכל MCU, החלק הבא מלמד את ההתקן ההיקפי ה-מגדיר של המצלמה לעומק רב: חיישן התמונה, והשרשרת הארוכה של אופטיקה, סיליקון, ועיבוד אותות בין פוטונים הפוגעים בזכוכית לחוצץ של פיקסלים ב-RAM. ערכת הכלים עוברת למודולים csi ו-image, אך כל מה שלמדת על הנעת GPIO, דיבור דרך I2C, ושימוש ב-PWM ממשיך הלאה ללא שינוי – מבזקים, טריגרים, ומגיני חיישנים כולם משתמשים באותם אפיקים שזה עתה כיסית.