3.30. Toparlama

Bir betiğin fiziksel dünyayla konuştuğu an karşınıza çıkan machine modülünün parçalarını adım adım gözden geçirdiniz:

  • GPIO çıkışı ve girişi – bir LED’i veya bir transistörü sürmek, bir düğmeyi veya bir sınır anahtarını okumak. Her donanım projesinin dayandığı yapı taşları; güvenilir olması gereken okumalar için pull dirençleri ve yazılımsal sıçrama önleme (debouncing) ile.

  • Analog sinyaller – ADC ile bir sensörü, bir potansiyometreyi veya sürekli değişen herhangi bir başka gerilimi okumak; ve bir DAC mevcut olmadığında PWM ve bir alçak geçiren RC filtresiyle kontrollü bir gerilim üretmek.

  • PWM uygulamaları – bir LED’i karartmak, bir H-köprüsü aracılığıyla bir DC motorun hızını değiştirmek, bir servoyu konumlandırmak. Tek bir dalga biçimi, farklı fiziksel ortalama alıcılar (göz, motorun endüktansı) ve farklı çerçevelemeler (görev döngüsüne karşı mutlak darbe genişliği).

  • Seri veri yolları – asenkron noktadan noktaya bağlantılar için UART; cihaz başına bir çip seçimi olan hızlı kart üstü çevre birimleri için SPI; yalnızca iki tel üzerinde yavaş çok cihazlı sensör veri yolları için I2C; modüller arasında sağlam çok yöneticili saha veri yolları için CAN.

  • Üretim kalıpları – askıda kalmalardan kurtulmak için bir bekçi (watchdog) zamanlayıcısı, bir pili daha uzun süre kullanmak için uyku modları. Bir kamera ilk kez masadan ayrıldığında her ikisi de zorunlu hâle gelir.

Bu, gömülü bir cihazın algıla – planla – harekete geç döngüsünü kurmak için yeterlidir: sensörleri I2C / SPI / ADC üzerinden oku, Python’da kararlar al, PWM / GPIO aracılığıyla eyleyicileri sür, durumu UART / CAN üzerinden raporla, olaylar arasında uyu.

3.30.1. Bu referansı daha sonra kullanmak

Donanım bölümlerini tek seferde okunacak bir metin olarak değil, referans materyali olarak ele alın. machine modülü referans sayfası, soru yalnızca “bu çağrının tam adı nedir” olduğunda her sınıfı ve yöntemi tek bir yerde listeler. Buradaki bölüm başına sayfalar ise, referans materyalinin tek başına vermediği “hangi düğme ne yapar ve neden” görünümü için geri dönülecek yerlerdir.

3.30.2. Buradan nereye gidilir

Görüntü sensörleri bir sonraki ana konudur. Bu bölüm neredeyse her MCU’da görünen genel çevre birimlerini – Pin, ADC, PWM, UART, SPI, I2C, CAN – öğretirken, sonraki bölüm kameranın belirleyici çevre birimini çok derinlemesine öğretir: görüntü sensörünü ve fotonların cama çarpmasıyla RAM’deki bir piksel arabelleği arasındaki uzun optik, silikon ve sinyal işleme zincirini. Araç takımı csi ve image modüllerine kayar, ancak GPIO’ları sürme, I2C üzerinden konuşma ve PWM kullanma hakkında öğrendiğiniz her şey değişmeden ileriye taşınır – flaşlar, tetikleyiciler ve sensör kalkanlarının tümü, az önce işlediğiniz aynı veri yollarını kullanır.