Архивы: Уроки Робототехники

Обычные светодиоды Светодиод – простейший индикатор, который можно использовать для отладки кода: его можно включить при срабатывании условия или просто подмигнуть. Но для начала его нужно подключить. Подключение светодиода Светодиод – это устройство, которое питается током, а не напряжением. Как это понимать? Яркость светодиода зависит от тока, который через него проходит. Казалось бы, достаточно знания …

Светодиоды и ленты Читать полностью »

“Универсальное” электромагнитное реле Электромагнитное реле является по сути управляемым механическим выключателем: подали на него ток – оно замкнуло контакты, сняли ток – разомкнуло. Контакты являются именно контактами: металлическими “пятаками”, которые прижимаются друг к другу. Именно поэтому такое реле может управлять как нагрузкой постоянного, так и переменного тока. Сама катушка реле является неслабой индуктивной нагрузкой, что …

Управление мощной нагрузкой Читать полностью »

Кнопка является простейшим устройством, при помощи которого можно управлять ходом программы на микроконтроллере, но физически она выполняет очень простую функцию: замыкает и размыкает контакт. Кнопки бывают нескольких типов: С фиксацией – кнопка остаётся нажатой после отпускания, без фиксации – отключается обратно. Нормально разомкнутая (Normal Open, NO) – при нажатии замыкает контакты. Нормально замкнутая (Normal Closed, …

Работа с кнопками Читать полностью »

Робототехника – прикладная наука, занимающаяся разработкой автоматизированных систем. Это комплексная наука, состоящая из электроники, электрики, электротехники, механики, кибернетики, телемеханики, мехатроники, информатики, радиотехники, и возможно чего-то ещё. В рамках моих уроков мы разобьём робототехнику на программирование и электронику. Программирование и работу с Arduino (и микроконтроллерами ATmega/ATtiny) мы уже изучили, осталось подтянуть электронную часть. В этом блоке уроков …

Введение, закон Ома Читать полностью »

У вас наверняка есть настольные часы-будильник с датчиком температуры и влажности, которые работают на двух пальчиковых батарейках уже не первый год и даже не планируют разряжаться. В то же время, если подключить плату Ардуино к “паурбанку” на 10 Ампер*часов, она высосет его за две недели. Как же так вышло?! Разработать энергоэффективное автономное устройство на Ардуино …

Энергосбережение и сон Читать полностью »

Мы с вами уже много раз рассматривали конструкцию таймера на millis(), который позволяет наладить логику работы кода по таймерам. Минусом этого способа является необходимость постоянно опрашивать конструкцию таймера, чтобы проверять, не сработал ли он. Соответственно код в главном цикле должен быть “прозрачным”, то есть не содержать задержек, долгих замкнутых циклов и просто блокирующих кусков. Если …

Прерывания по таймеру Читать полностью »

В данном уроке рассматривается устройство и работа со сторожевым таймером, для управления которым предлагается использовать библиотеку GyverWDT (by N1gra), предоставляющую полный контроль за WDT и доступ ко всем его настройкам и режимам работы. Библиотека очень лёгкая и подходит для большинства МК AVR, т.е. в частности для всех плат Arduino на их базе. Сторожевой таймер в …

Сторожевой таймер (watchdog) Читать полностью »

Внимание! Данный урок опирается на информацию из предыдущего урока о программаторах. Обязательно изучите сначала его. В прошлом уроке я рассказывал о том, как загрузить прошивку в Ардуино, используя внешние устройства: USB-TTL преобразователь и ISP программатор. Как нетрудно догадаться, при помощи этих же инструментов можно загрузить прошивку и в голый чип, будь то ATmega328 или ATtiny85. …

Работа с голым камнем, ATtiny Читать полностью »

Загрузка прошивки В этом уроке мы рассмотрим загрузку прошивки в ардуино через внешние “программаторы”. Давайте вспомним, о чем уже говорили в одном из первых уроков: загрузка прошивки в Arduino возможна двумя способами: “Напрямую” во flash память микроконтроллера при помощи ISP (In System Programming) внутрисистемного программатора. При помощи загрузчика (bootloader), который живёт в конце Flash памяти …

Программаторы, ISP, фьюзы Читать полностью »

В чём проблема? Как мы уже говорили в уроке про функции времени и про ШИМ сигнал, у микроконтроллера есть несколько таймеров, которые могут выполнять разные функции, в частности – генерировать ШИМ сигнал. Чтобы таймер генерировал ШИМ, его нужно предварительно настроить при помощи редактирования регистра таймера. Когда мы работаем в Arduino IDE, таймеры настраиваются без нашего …

Увеличение частоты ШИМ Читать полностью »