Материал: lesswrite

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

Сначала показать, потом рассказать

Авторов иногда заклинивает: у них задача написать обучающую статью, и они ее тщательно пишут. При этом они забывают, зачем делают всю эту работу. Задача ведь не в том, чтобы именно написать статью. Задача в том, чтобы читатель разобрался в новой области. Для этого необязательно только писать – можно использовать и другие средства. Например, показать новое на иллюстрации.

Показывать полезно. Иллюстрации в статьях включают внимание,

заставляют остановиться и рассмотреть. Когда вы листали эту книгу в свободное время, вы наверняка остановились на этой иллюстрации справа. «Что за микросхемы?» - подумали вы и начали читать текст слева. И вот вы здесь.

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

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

показывает, зачем нужен каждый контроллер;

объясняет их различия;

дает простую шкалу для их сравнения.

Еще обратите внимание, что мы постарались поставить иллюстрации в едином масштабе и одном ракурсе, чтобы у читателя сложилось представление о размерах и форме контроллеров. Так иллюстрации создают привязку к чувственному опыту: человеку будет проще сравнить контроллеры и узнать их в жизни.

285

Какие бывают микроконтроллеры

для любительских проектов

Чип AVR

Программируемый чип. Умеет управлять электрокомпонентами: светодиодами, моторами, датчиками и другими чипами. Для простых компактных устройств.

Возможности • • •

Сложность • • • • •

Платформа Arduiпo на базе чипа AVR

Чип AVR, установленный на плату с удобными выводами и питанием. Много готовых совместимых плат - например, для отправки смс, управлении розетками или роботами. Для обучения и быстрых экспериментов.

Выводы - ножки. Нужен паяльник или макетная плата

Возможности • • •

Общается с компьютером по USB

Сложность

Порт видеокамер

Компьютер Raspberry Pi

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

Возможности • • • • •

Сложность • • •

Порты, как на компьютере:

ЕТН, USB, HDMI, MicroSD

286

От простого к сложному

В любой области есть термины, которые непонятны новичкам. Чтобы их объяснить, приходится использовать другие термины, которые тоже могут быть непонятными. Допустим, в объясняющей статье есть такой фрагмент:

Типы поддерживаемых портов для ввода и вывода сигнала сильно влияют на выбор микроконтроллера. В чипах семейства AVR только порты общего назначения (GPIO). Максимум, что они умеют, - широтно-импульсная модуляция сигнала и аналого-цифровое преобразование.

Фрагмент сложный не потому, что в нём объясняются сложные вещи, а

потому, что он насыщен новыми терминами, которые объясняются другими новыми терминами.

Первое решение этой проблемы - объяснить каждый термин по цепочке, отталкиваясь от того, что читатель уже знает:

Контроллеры управляют другими частями вашего проекта через специальные контакты - их называют портами.

У чипов AVR простые порты: они умеют подавать ток на одни ножки и принимать ток с других. Это называется «интерфейс общего назначения» или

GPIO, Geпeral Purpose lпput-Output.

Например, вам нужно зажечь светодиод, подключенный к девятой ножке контроллера. Вы даете команду «Подай ток на девятую ножку».

Контроллер подает 5 вольт, ток бежит на светодиод.

Многие чипы семейства AVR умеют подавать не только 5 вольт, но и имитировать плавное изменение напряжения: для этого они быстро включают и выключают ток на ножке. Получается очень быстрая пульсация, которая со стороны выглядит как пониженное напряжение. Это нужно, например, чтобы плавно зажигать светодиоды и точно управлять двигателями".

287

Второе решение - избавиться от сущностей, которые эти термины

обозначают. Посмотрите снова на этот пример:

сильно влияют на выбор микроконтроллера. В чипах семейства AVR только порты общего назначения (GPIO). Максимум, что они умеют, - широтно-

импульсная модуляция сигнала и аналого-цифровое преобразование.

Нужно ли нам знать о ШИМ и ЛПЦ, когда мы выбираем первый микроконтроллер для любительского проекта? Кажется, что не нужно.

Эта информация здесь необязательная, удалим ее:

Контроллеры управляют другими частями вашего проекта через специальные вводы и выводы - их называют портами.

У чипов AVR простые порты: они умеют подавать ток на одни ножки и принимать ток с других. Вы можете сказать контроллеру, например, «Подай ток на пятый вывод». И если к пятому выводу подключен светодиод, он загорится. Если подключен мотор – он начнет вращаться. Если динамик -

услышите звук.

У контроллеров Arduiпo помимо таких портов есть USB, с помощью которого контроллер умеет общаться с компьютером ".

Какое бы решение вы ни выбрали, помните, что объяснять новое нужно

всегда на основе того, что человек уже знает.

Объяснять новое через известное

288

Привязать к реальности

Человеку тяжело воспринимать абстрактное. Как только мы рассказываем о чём-то оторванном от жизни, нормальные люди теряют интерес. Вспомните уроки алгебры в старших классах: «Зачем эти интегралы? Как они пригодятся в жизни?»

Голая теория - это скучно. Поэтому в хорошем учебнике много примеров, историй, персонажей и всего, что привязывает материал к реальности.

С другой стороны, без теории невозможно объяснить почти ничего. Если просто дать человеку много примеров, он их вряд ли сможет применить. Это как перечисление фактов на уроках истории - «И что это все должно значить?». Просто примеры не работают без теории.

Чтобы разрешить это противоречие, приводите примеры к любой теории. Объясняйте, зачем это знать и как эти знания повлияют на жизнь читателя.

Вот голая теория:

Контроллеры AVR и Arduino не поддерживают многозадачность, но ее можно имитировать с помощью программ.

Добавим практический пример, привязанный к реальности:

Если вы делаете метеостанцию и хотите одновременно измерять влажность и температуру, на самом деле нужно будет замерять их последовательно.

Сначала вы даете команду считать влажность, потом температуру, потом вывести их на экран и начать сначала. Так как Arduino может выполнять сотни операций в секунду, со стороны это будет выглядеть так, будто всё происходит параллельно.

Этот пример основан на реальной задаче, которую мы можем решить с

помощью контроллера. Реальная задача - хорошо.

289