3.30. Zusammenfassung¶
Sie haben die Teile des machine-Moduls durchlaufen, die in dem Moment auftauchen, in dem ein Skript mit der physischen Welt kommuniziert:
GPIO-Ausgang und -Eingang – Ansteuern einer LED oder eines Transistors, Auslesen eines Tasters oder eines Endschalters. Die Bausteine, auf denen jedes Hardwareprojekt aufbaut, mit Pull-Widerständen und Software-Entprellung für Lesevorgänge, die zuverlässig sein müssen.
Analoge Signale – Auslesen eines Sensors, eines Potentiometers oder jeder anderen kontinuierlich veränderlichen Spannung mit dem ADC; und, wenn kein DAC verfügbar ist, Erzeugen einer geregelten Spannung mit PWM und einem RC-Tiefpassfilter.
PWM-Anwendungen – Dimmen einer LED, Variieren der Drehzahl eines Gleichstrommotors über eine H-Brücke, Positionieren eines Servos. Eine Signalform, unterschiedliche physikalische Mittelwertbildner (das Auge, die Induktivität des Motors) und unterschiedliche Betrachtungsweisen (Tastverhältnis gegenüber absoluter Impulsbreite).
Serielle Busse –
UARTfür asynchrone Punkt-zu-Punkt-Verbindungen;SPIfür schnelle Peripheriegeräte auf der Platine mit einem Chip-Select pro Gerät;I2Cfür langsame Multi-Geräte-Sensorbusse über nur zwei Leitungen;CANfür robuste Multi-Master-Feldbusse zwischen Modulen.Produktionsmuster – ein Watchdog-Timer zur Wiederherstellung nach Hängern, Schlafmodi zum Verlängern einer Batterielaufzeit. Beide werden unverzichtbar, sobald eine Kamera zum ersten Mal die Werkbank verlässt.
Das reicht aus, um die Wahrnehmen – Planen – Handeln-Schleife eines eingebetteten Geräts zu bauen: Sensoren über I2C / SPI / ADC auslesen, Entscheidungen in Python treffen, Aktoren über PWM / GPIO ansteuern, den Status über UART / CAN melden, zwischen Ereignissen schlafen.
3.30.1. Diese Referenz später verwenden¶
Behandeln Sie die Hardware-Kapitel als Referenzmaterial, nicht als einmalige Lektüre. Die Referenzseite des machine-Moduls listet jede Klasse und Methode an einem Ort auf, wenn die Frage nur lautet „Wie heißt dieser Aufruf genau“. Die Seiten der einzelnen Kapitel hier sind der Ort, an den man für die Sicht „welcher Regler bewirkt was, und warum“ zurückkehrt, die das Referenzmaterial allein nicht bietet.
3.30.2. Wie es von hier aus weitergeht¶
Vision-Sensoren sind das nächste große Thema. Während dieser Abschnitt die generischen Peripheriegeräte vermittelt hat – Pin, ADC, PWM, UART, SPI, I2C, CAN – die auf nahezu jedem MCU auftauchen, lehrt der nächste Abschnitt das prägende Peripheriegerät der Kamera sehr tiefgehend: den Bildsensor und die lange Kette aus Optik, Silizium und Signalverarbeitung zwischen Photonen, die auf Glas treffen, und einem Puffer voller Pixel im RAM. Das Werkzeug verlagert sich auf die Module csi und image, aber alles, was Sie über das Ansteuern von GPIOs, die Kommunikation über I2C und die Verwendung von PWM gelernt haben, bleibt unverändert bestehen – Blitze, Trigger und Sensor-Shields verwenden alle dieselben Busse, die Sie gerade behandelt haben.