usb-adc-mcp2221

Biblioteki CircuitPython na dowolnym komputerze z MCP2221

Tłumaczenie strony wprowadzającej przewodnika Adafruit CircuitPython Libraries on any Computer with MCP2221. Wyjaśnia, skąd bierze się warstwa Blinka, na której opiera się ten projekt.

Wprowadzenie

MCP2221(A) pozwala podłączyć czujniki i płytki I2C do komputera stacjonarnego z systemem Windows, macOS lub Linux. Układ obsługuje także cyfrowe wejścia i wyjścia ogólnego przeznaczenia (GPIO) — na przykład przyciski i diody LED — przetwarzanie analogowo-cyfrowe (ADC) oraz cyfrowo-analogowe (DAC).

Najciekawsze jest to, że można wtedy używać dowolnej z bibliotek CircuitPython napisanych dla licznych czujników i płytek I2C. Dane trafiają wprost do komputera, gdzie można je dowolnie analizować lub prezentować.

Uwaga. Płytka Adafruit korzysta z układu MCP2221A, ale w przewodniku bywa nazywana MCP2221 — z punktu widzenia Blinki i bibliotek CircuitPython różnice nie mają znaczenia i można używać obu wersji układu.

CircuitPython a biblioteki CircuitPython

Czytając ten materiał, warto pamiętać o różnicy między jednym a drugim:

Istnieją różne kombinacje sprzętu pozwalające uruchomić CircuitPythona i jego biblioteki. W tym scenariuszu nie używa się właściwego firmware’u CircuitPython — używa się wyłącznie bibliotek CircuitPython.

Biblioteki CircuitPython na komputerach osobistych

Jest to zasadniczo ta sama idea, co w przewodniku po FT232H. Jak podłączyć typowe elementy — przyciski czy płytki I2C — bezpośrednio do komputera?

Komputer PC i płytki rozszerzeń bez połączenia — pytanie o brakujące ogniwo

MCP2221 rozwiązuje to przez magistralę USB. W porównaniu z FT232H godzi się na inne kompromisy — największym jest brak sprzętowej obsługi SPI. W zamian dochodzą ADC i DAC. Układ jest też znacznie tańszy od FT232H.

Całość wygląda więc tak:

Python i Blinka z bibliotekami CircuitPython na PC, przez USB do MCP2221, dalej I2C, ADC i GPIO do płytek rozszerzeń

Odniesienie do tego projektu

Ten projekt zajmuje prawą część powyższego schematu: warstwę PC → USB → MCP2221A. Zamiast udostępniać biblioteki CircuitPython, opakowuje Blinkę we własny sterownik, CLI zwracające JSON i tylko do odczytu API HTTP dla OqlOS — patrz HARDWARE.md i OQLOS_INTEGRATION.md. Zmienna BLINKA_MCP2221=1, ustawiana automatycznie przez bibliotekę, to dokładnie ten mechanizm, który przewodnik Adafruit opisuje jako przełączenie Blinki na backend MCP2221.

Pochodzenie i licencja

Tekst jest tłumaczeniem strony wprowadzającej przewodnika Adafruit, a grafiki w img/board-pc.png i img/usb-to-mcp2221.png pochodzą z tego samego źródła (cdn-learn.adafruit.com, zasoby 85902 i 85901). Przewodniki Adafruit Learning System są udostępniane na licencji Creative Commons Attribution-ShareAlike 3.0; autorem materiału jest Adafruit Industries. Pominięto zdjęcie tytułowe płytki oraz blok sprzedażowy produktu 4471.