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 buszokUART az aszinkron pont-pont kapcsolatokhoz; SPI a gyors, panelen lévő perifériákhoz, eszközönként egy chip-select jellel; I2C a lassú, többeszközös érzékelőbuszokhoz mindössze két vezetéken; CAN a 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.