Контроллеры ESP и обучение ч.3

Dec 23, 2021 08:12





Пример погружения в сон и вывода из него + некоторые баловства. Код не мой

Заметки серии:


Как уже писал ранее, готовлю простенький курс по программированию на MicroPython под микроконтроллеры ESP8266 и ESP32 для детей около 12 лет. Основная идея заключается в том, чтобы давать по маленькой порции нового как в разработке, так и во взаимодействии с устройствами каждый урок.

Дети еще не знакомы с программированием, поэтому курс будет очень простым и ориентированным на практическое проявление результатов. Измерить ощутимый физический показатель. Например, температуру, влажность воздуха или почвы.

Либо такой параметр, смысл измерения которого можно легко объяснить. К примеру, концентрацию углекислого газа в помещении. Последнее важно еще и потому, что доступные датчики MH-Z1* потребляют больше тока, чем может выдать с пина питания ESP. Т.е. подразумевает работу с дополнительным внешним источником питания.

Пока не везде удалось правильно сбалансировать аппаратную и программную новизну, поэтому наброски уроков лишь наброски, над ними еще надо потрудиться.

Дополнительно хочу пройти по лезвию ножа и донести некоторые свои представления о ценностях, целях и подходах в разработке. Донести до ребятишек, но не навязывать - выбор должен оставаться за ними.

Например, считаю, что разработка приложений, либо программно-аппаратных систем должна быть нацелена не только на заработок средств к существованию, но и служить людям. Одна из задач автоматизации, кмк, - освобождение человека от рутины во имя творческого труда и развития. Эта ценность плохо вяжется с современным миром, но и ладно.

Другой пример. Опыт подсказывает, что афоризм коллективного автора «Специалист подобен флюсу, полнота его одностороння» правильный. Более того, человеку неплохо впитывать и применять в жизни гуманитарные и естественнонаучные (уже технические) знания. Фокус на одном что-то отбирает у человека.

После того, как полез в политику, стал читать психологию, какие-то основы философии и просто побольше художественной классики и в разработке ПО стало больше возможностей. Более интересная архитектура рождается, зачастую не нужны посредники в виде менеджеров при общении с людьми, заинтересованными в использовании продукта. Работа через посредников отчуждает разработчика от чего-то правильного. От возможности ощущать непосредственно, принесло ли твое творение пользу людям.

Довольно пространных рассуждений. Нужна и конкретика. Намечу несколько занятий, которые прикинул. Сразу уточню, что пункт не равен уроку. Насколько эти занятия растянутся зависит от того, как ребята будут усваивать.

  1. Мигание встроенным в отладочную плату светодиодом. Из программирования - переменные, ожидания, подключение готовых библиотек, цикл while. В несколько проходом от простейшей реализации к чуть более сложной (см. ч.2 из серии).
  2. Считывание данных с датчика температуры и влажности воздуха DHT22. Нюансы работы с GPIO под ESP, форматированный вывод, обработка ошибок.
  3. Считывание данных с датчика освещенности TEMT6000 на базе фототранзистора. Работа с АЦП, преобразование значений, функции в простейшем виде. Впрочем, функции могут быть и в продолжении первого урока, как будет восприниматься.
  4. Работа с модулем твердотельных реле (включение/выключение 12В лампочки). Управление внешними устройствами, питание от внешнего источника. 12В установил в качестве максимального напряжения, с которыми дети будут работать. К силовым схемам подпускать не безопасно.
  5. Работа с датчиком концентрации углекислого газа MH-Z19B. Работа с UART, условный оператор, массивы, дополнительное питание от внешнего источника с завязкой на контроллер.
  6. Передача данных на сервер. Подключение к сети через Wi-Fi, передача данных по HTTP, работа с форматом JSON. Цель - передать данные на платформенную систему, на которой реализована настраиваемая отрисовка графиков по данным из таблиц. Прототип метеостанции.
  7. Регулирование яркости светодиода. Работа с ШИМ.
  8. Работа с шаговым двигателем. Продолжение работы с ШИМ, архитектура программы, реализация своего модуля.
  9. Погружение микроконтроллера в режим сна. Различные режимы сна и вывод из них, работа с RTC, частота вычислительных ядер, экономия расхода энергии.

На этот раз, пожалуй, достаточно. Был бы рад рекомендациям и критике.

Previous post Next post
Up