Пиши, сокращай
Шрифт:
Типы поддерживаемых портов для ввода и вывода сигнала сильно влияют на выбор микроконтроллера. В чипах семейства AVR только порты общего назначения (GPIO). Максимум, что они умеют, - широтно-импульсная модуляция сигнала и аналого-цифровое преобразование.
Фрагмент сложный не потому, что в нём объясняются сложные вещи, а потому, что он насыщен новыми терминами, которые объясняются другими новыми терминами.
Первое решение этой проблемы - объяснить каждый термин по цепочке, отталкиваясь от того, что читатель уже знает:
Контроллеры управляют
У чипов AVR простые порты: они умеют подавать ток на одни ножки и принимать ток с других. Это называется «интерфейс общего назначения» или GPIO, Geroral Purpose taput-Output.
Например, вам нужно зажечь светодиод, подключенный к девятой ножке контроллера. Вы даете команду «Подай ток на девятую ножку». Контроллер подает 5 вольт, ток бежит на светодиод.
Многие чипы семейства AVR умеют подавать не только 5 вольт, но и имитировать плавное изменение напряжения: для этого они быстро включают и выключают ток на ножке. Получается очень быстрая пульсация, которая со стороны выглядит как пониженное напряжение. Это нужно, например, чтобы плавно зажигать светодиоды и точно управлять двигателями".
Второе решение - избавиться от сущностей, которые эти термины обозначают. Посмотрите снова на этот пример:
сильно влияют на выбор микроконтроллера. В чипах семейства AVR только порты общего назначения (GPIO). Максимум, что они умеют, - широтноимпульсная модуляция сигнала и аналого-цифровое преобразование.
Нужно ли нам знать о ШИМ и ЛПЦ, когда мы выбираем первый микроконтроллер для любительского проекта? Кажется, что не нужно. Эта информация здесь необязательная, удалим ее:
Контроллеры управляют другими частями вашего проекта через специальные вводы и выводы - их называют портами.
У чипов AVR простые порты: они умеют подавать ток на одни ножки и принимать ток с других. Вы можете сказать контроллеру, например, «Подай ток на пятый вывод». И если к пятому выводу подключен светодиод, он загорится. Если подключен мотор - он начнет вращаться. Если динамик -услышите звук.
У контроллеров Ardurno помимо таких портов есть USB, с помощью которого контроллер умеет общаться с компьютером ".
Какое бы решение вы ни выбрали, помните, что объяснять новое нужно всегда на основе того, что человек уже знает.
Объяснять новое через известное
Привязать к реальности
Человеку тяжело воспринимать абстрактное. Как только мы рассказываем о чём-то оторванном от жизни, нормальные люди теряют интерес. Вспомните уроки алгебры в старших классах: «Зачем эти интегралы? Как они пригодятся в жизни?»
Голая теория - это скучно. Поэтому в хорошем учебнике много примеров, историй, персонажей и всего, что привязывает материал к реальности.
С другой стороны, без теории невозможно объяснить почти ничего. Если просто дать человеку много примеров, он их вряд ли сможет применить. Это как перечисление фактов на уроках истории -«И что это все должно значить?». Просто примеры не работают без теории.
Чтобы разрешить это противоречие, приводите примеры к любой теории. Объясняйте, зачем это знать и как эти знания повлияют на жизнь читателя.
Вот голая теория:
Контроллеры AVR и Arduino не поддерживают многозадачность, но ее
можно имитировать с помощью программ.
Добавим практический пример, привязанный к реальности:
Если вы делаете метеостанцию и хотите одновременно измерять влажность и температуру, на самом деле нужно будет замерять их последовательно. Сначала вы даете команду считать влажность, потом температуру, потом вывести их на экран и начать сначала. Так как Arduino может выполнять сотни операций в секунду, со стороны это будет выглядеть так, будто всё происходит параллельно.
Этот пример основан на реальной задаче, которую мы можем решить с помощью контроллера. Реальная задача - хорошо.
Другой способ добавить практики - рассказать случай из жизни, реальный или выдуманный. Вот теория:
В качестве первого контроллера советуем выбрать оригинальные платы, а не китайскую ко пи ю - даже не смотря на высокую цену.
Здесь есть абстракции «оригинальное» и «высокая цена». Разовьем их на примерах из жизни:
Мой первый контроллер был оригинальным итальянским Ardurno за 1500 рублей. Он сразу и без проблем подключился к компьютеру, и я смог в этот же день записать на него первую программу.
Следующие контроллеры я заказывал в Китае за 200-300 рублей. Всякий раз с ними было что-то не так и их приходилось перепрошивать через оригинальный Ardurno.
Если вы пишете большую статью, полезно создать одного или двух персонажей. С ними будут происходить все практические случаи, которые вам нужны для объяснения теории:
Олег решил сэкономить и заказал первый контроллер в Китае...
Маша решила не заказывать копию, а начать с оригинального...
Читатель привыкнет к персонажам, а вам будет легко всякий раз приводить примеры.
К любой теории -практику, пример или случай
В любом деле у читателя могут возникнуть трудности. Если вы пишете статью с практическими рекомендациями, предусмотрите эти трудности и предложите решение. Мало рассказать, как должно, -нужно еще и написать, как бывает:
Если будете заказывать контроллер на китайском рынке вроде «Таобао» или «Алиэкспресса», заказывайте сразу два контроллера у разных поставщиков. Велика вероятность, что один из них придет бракованным.