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 ממשיך הלאה ללא שינוי – מבזקים, טריגרים, ומגיני חיישנים כולם משתמשים באותם אפיקים שזה עתה כיסית.