3.30. Підсумок

Ви ознайомилися з частинами модуля machine, які виникають щойно скрипт починає взаємодіяти з фізичним світом:

  • GPIO вихід і вхід — керування світлодіодом або транзистором, зчитування кнопки або кінцевого вимикача. Фундаментальні блоки, на яких ґрунтується кожен апаратний проєкт, з підтягувальними резисторами та програмним усуненням дребезгу для надійних операцій читання.

  • Аналогові сигнали — зчитування датчика, потенціометра або будь-якої іншої напруги, що безперервно змінюється, за допомогою ADC; і, коли DAC недоступний, формування керованої напруги за допомогою PWM і RC-фільтра низьких частот.

  • Застосування PWM — регулювання яскравості світлодіода, зміна швидкості двигуна постійного струму через H-міст, позиціонування сервоприводу. Одна форма хвилі, різні фізичні усереднювачі (зір, індуктивність двигуна) і різні способи кодування (робочий цикл проти абсолютної ширини імпульсу).

  • Послідовні шиниUART для асинхронних точка-точка з’єднань; SPI для швидких периферійних пристроїв на платі з одним chip-select на пристрій; I2C для повільних багатопристрійних шин датчиків на лише двох дротах; CAN для надійних багатомайстерних польових шин між модулями.

  • Промислові патерни — сторожовий таймер для відновлення після зависань, режими сну для збільшення ресурсу акумулятора. Обидва стають необхідними, щойно камера покидає стіл розробника.

Цього достатньо для побудови циклу сприйняття — планування — дія вбудованого пристрою: зчитування датчиків через I2C / SPI / ADC, прийняття рішень у Python, керування виконавчими механізмами через PWM / GPIO, звітування про стан через UART / CAN, перехід у режим сну між подіями.

3.30.1. Використання цього довідника надалі

Сприймайте апаратні розділи як довідковий матеріал, а не як матеріал для одноразового читання. Сторінка довідника модуля machine містить усі класи та методи в одному місці, коли питання зводиться лише до «як саме називається цей виклик». Посторінкові розділи тут — це місце, куди слід повертатися за поясненням «яка ручка для чого і чому», якого довідковий матеріал сам по собі не надає.

3.30.2. Куди рухатися далі

Сенсори зору — наступна велика тема. Якщо цей розділ навчив вас загальним периферійним пристроям — Pin, ADC, PWM, UART, SPI, I2C, CAN — які зустрічаються майже на будь-якому МК, то наступний розділ дуже глибоко розкриє визначальний периферійний пристрій камери: сенсор зображення та довгий ланцюжок оптики, кремнію й обробки сигналів між фотонами, що потрапляють на скло, і буфером пікселів у RAM. Набір інструментів переходить до модулів csi та image, але все, що ви дізналися про керування GPIO, спілкування через I2C та використання PWM, залишається незмінним — стробоскопи, тригери та плати розширення датчиків використовують ті самі шини, які ви щойно вивчили.