3.30. Összegzés¶
Végigjártad a machine modul azon részeit, amelyek abban a pillanatban előkerülnek, amint egy szkript a fizikai világgal kezd beszélni:
GPIO kimenet és bemenet – egy LED vagy egy tranzisztor meghajtása, egy gomb vagy egy végálláskapcsoló olvasása. Az építőkockák, amelyeken minden hardverprojekt nyugszik, felhúzó ellenállásokkal és szoftveres pergésmentesítéssel azokhoz az olvasásokhoz, amelyeknek megbízhatónak kell lenniük.
Analóg jelek – egy érzékelő, egy potenciométer vagy bármilyen más folyamatosan változó feszültség olvasása az ADC-vel; és amikor nincs elérhető DAC, szabályozott feszültség előállítása PWM-mel és egy aluláteresztő RC-szűrővel.
PWM-alkalmazások – egy LED tompítása, egy egyenáramú motor sebességének változtatása egy H-hídon keresztül, egy szervó pozicionálása. Egy jelalak, különböző fizikai átlagolók (a szem, a motor induktivitása) és különböző keretezések (kitöltési tényező versus abszolút impulzusszélesség).
Soros buszok –
UARTaz aszinkron pont-pont kapcsolatokhoz;SPIa gyors, panelen lévő perifériákhoz, eszközönként egy chip-select jellel;I2Ca lassú, többeszközös érzékelőbuszokhoz mindössze két vezetéken;CANa modulok közötti robusztus, több-master mezőbuszokhoz.Gyártási minták – egy watchdog időzítő a lefagyásokból való helyreálláshoz, alvó módok az akkumulátor nyújtásához. Mindkettő nélkülözhetetlenné válik, amint egy kamera először elhagyja a munkapadot.
Ez elég ahhoz, hogy felépítsd egy beágyazott eszköz érzékelés – tervezés – cselekvés ciklusát: érzékelők olvasása I2C / SPI / ADC-n keresztül, döntéshozatal Pythonban, beavatkozók meghajtása PWM / GPIO-n át, állapotjelentés UART / CAN-on keresztül, alvás az események között.
3.30.1. Ennek a referenciának a későbbi használata¶
Kezeld a hardveres fejezeteket referenciaanyagként, ne egyszeri olvasmányként. A machine modul referenciaoldala egy helyen sorolja fel az összes osztályt és metódust, amikor a kérdés csak az, hogy „pontosan mi a neve ennek a hívásnak”. Az itteni fejezetenkénti oldalak azok, ahova a „melyik gomb mit csinál, és miért” nézőpontért érdemes visszatérni, amelyet a referenciaanyag önmagában nem ad meg.
3.30.2. Merre tovább¶
A látásérzékelők a következő nagy téma. Míg ez a szakasz az általános perifériákat tanította – Pin, ADC, PWM, UART, SPI, I2C, CAN –, amelyek szinte minden MCU-n megjelennek, a következő szakasz a kamera meghatározó perifériáját tárgyalja nagyon mélyrehatóan: a képérzékelőt, valamint az optikák, a szilícium és a jelfeldolgozás hosszú láncolatát az üvegre csapódó fotonok és a RAM-ban lévő képpontpuffer között. Az eszköztár a csi és image modulok felé tolódik, de minden, amit a GPIO-k meghajtásáról, az I2C-n keresztüli kommunikációról és a PWM használatáról tanultál, változatlanul tovább él – a vakuk, a triggerek és az érzékelőpajzsok mind ugyanazokat a buszokat használják, amelyeket épp most vettünk át.