Архив рубрики: Arduino

Arduino, watchdog, bootloop и прошивка загрузчика optiboot

Watchdog

Watchdog

Как вам может быть известно, Arduino (а вернее, микроконтроллер на плате) поддерживает watchdog (сторожевой таймер) который позволяет установить промежуток времени, через который микроконтроллер будет перезагружен, даже если программа зависнет. При этом, сторожевой таймер может быть сброшен программно. Схема работы примерно следующая: «взодим» таймер на некоторое количество секунд, а далее в основной программе постоянно обнуляем счётчик, если всё идёт нормально. Как только мы перестанем обнулять счётчик (а это и может означать зависание), контроллер автоматически перезагрузится по истечению заданного времени. Однако, работа с watchdog должна поддерживаться загрузчиком платы. Дело в том, что после перезагрузки, которая была вызвана watchdog, контроллеры последних выпусков оставляют включенным сторожевой таймер на минимальный период, т.е. 15ms. Это нужно для того, чтобы была возможность внутри программы узнать, что перезагрузка была по watchdog.Поэтому первоочередная задача загрузчика — сохранить информацию о том, что перезагрузка была «неожиданной» и сразу же выключить сторожа. Если этого не сделать, то система уйдет в bootloop, т.е. будет вечно перегружаться. Как известно, в Arduino есть специальный загрузчик, который выполняется в первую очередь после перезагрузки системы. И, к огромному сожалению, стандартный загрузчик не сбрасывает watchdog! Таким образом, система заходит в жестокий bootloop (состояние «crazy led», при котором светодиод на 13-м пине мигает как сумасшедший). Из статьи вы узнаете, как проверить загрузчик своей платы на поддержку watchdog и что делать, если он не поддерживается.

Читать далее

Подключение радио-модуля NRF24 к ардуино

Радиомодуль NRF24L01

Радиомодуль NRF24L01

Нередко возникают задачи, связанные с необходимостью получать данные от датчиков, находящихся на значительном удалении от управляющего устройства. Простое решение: протянуть пару десятков метров провода. Но в реальности это не всегда возможно. Длинные провода подвержены наводкам. Кроме того, подача питания по длинным проводам часто невозможна из-за высокого сопротивления проводника. Поэтому, источник питания всё равно приходится размещать в непосредственной близости от датчика. О необходимости прятать провода для минимальной эстетической привлекательности тоже не стоит забывать. Всё это подталкивает нас к идее обойтись вовсе без проводов, а именно построить систему передачи данных по радиоканалу. Существует и недорогое решение для беспроводной связи: радио-модуль на базе чипа NRF24. О подключении и работе с одной из разновидностей такого чипа и пойдёт речь в статье. Модуль стоит всего 1 доллар. По ссылке модуль можно купить с бесплатной доставкой у проверенного мной продавца. Или можно купить сразу десяток модулей. Тогда ещё дешевле.

Читать далее

Как работать с беспаечной макетной платой.

Беспаечная макетная плата

Беспаечная макетная плата

Эта короткая статья расскажет о том, как устроена макетная плата и каким образом можно создать прототип устройства на макетной плате.

Читать далее

Подключение жидкокристаллического дисплея к Arduino

ЖК дисплей

ЖК дисплей

При создании собственного устройства не редко возникает необходимость оперативного вывода разнообразной информации. Например, если вы создаёте контроллер умного дома, то разумно оснастить прибор устройством вывода, позволяющим быстро узнать текущее состояние систем. Лучшим решением является жидкокристаллический дисплей. Энергопотребление при отключённой подсветке минимально а работа с дисплеем предельно проста и не требует сильного вмешательства в код программы. Фактически, вывод информации на ЖК дисплей не многим отличается от вывода в серийный порт. В статье рассмотрено подключение знакогенерирующего дисплея на базе популярного чипа HD44780 к контроллеру Arduino.

Читать далее

Подключение и использование SD карты c Arduino

SD модуль

SD модуль

Постоянная память, доступная пользователю на самой «навороченной» плате Arduino Mega всего 4 килобайта. Arduino Nano имеет всего 1 килобайт памяти. Этого хватит для запоминания нескольких переменных. А что если возникает задача, в которой необходимо хранить большие объёмы данных? Например, историю изменения температуры или телеметрию квадрокоптера? Идеальное решение проблемы — подключение к контроллеру SD карты. Вы получаете практически неограниченный объём для хранения любой информации. SD карту можно подключить к Arduino напрямую, припаяв провода прямо к контактам карты. Однако, проще и удобнее воспользоваться специальным модулем для работы с SD картой. В статье рассказано о подключении такого модуля к различным платам Arduino и работе с самой SD картой. Заказать модуль у проверенного мной продавца вы можете здесь по ссылке доступны модули и для полноразмерной SD карты и для microSD.

Читать далее

Транзистор

Транзистор IRF530

Транзистор

Транзистор — полупроводниковый прибор позволяющий с помощью слабого сигнала управлять более сильным сигналом. Из-за такого свойства часто говорят о способности транзистора усиливать сигнал. Хотя фактически, он ничего не усиливает, а просто позволяет включать и выключать большой ток гораздо более слабыми токами. Транзисторы весьма распространены в электронике, ведь вывод любого контроллера редко может выдавать ток более 40 мА, поэтому, даже 2-3 маломощных светодиода уже не получится питать напрямую от микроконтроллера. Тут на помощь и приходят транзисторы. В статье рассматриваются основные типы транзисторов, отличия P-N-P от N-P-N биполярных транзисторов, P-channel от N-channel полевых транзисторов, рассматриваются основные тонкости подключения транзисторов и раскрываются сферы их применения.
Читать далее

Как подключить сдвиговый регистр к Arduino (или увеличиваем число выводов микроконтроллера)

Микросхема сдвигового регистра

Микросхема сдвигового регистра

Рано или поздно каждый начинающий схемотехник, перейдя от простых обучающих примеров к реальным задачам задается вопросом: где же взять столько выходов микроконтроллера, сколько нужно? После подключения одного светодиода встает вопрос — а как подключить пять? десять? двадцать? Стандартных 14 выходов на Arduino Nano или даже 54 наArduino Mega легко может не хватить для решения прикладных задач. Неужели придется покупать еще один микроконтроллер, думать о синхронизации двух устройств? Конечно нет. Существует элегантное решение проблемы недостатка выводов — выходной сдвиговый регистр (например, микросхема 74HC595).

Читать далее

Как подключить часы реального времени к Arduino

Модуль часов реального времени

Модуль часов реального времени

Часы реального времени — модуль, который хранит текущую дату и не сбрасывает её при отключении питания благодаря встроенной батарейке. Вы могли слышать о часах на основе чипа DS1307. Этот чип отличается крайне низкой точностью хода часов. Отставание на один час в сутки — это слишком. Рекомендую использовать модуль на основе высокоточного чипа DS3231, который снабжён термометром для корректирования хода часов в зависимости от температуры. Точность хода часов этого чипа находится на уровне хороших наручных часов и составляет 2ppm при температуре окружающей среды 0°-40°. При этом, модуль совместим со всеми библиотеками, написанными для модуля на основе чипа DS1307. Статья рассказывает о подключении модуля к Arduino и взаимодействии с ними с помощью библиотеки Time. Купить такой модуль у проверенного мной продавца вы можете здесь.

Читать далее

Полупроводниковый диод

Диод — полупроводниковый прибор обладающий разной проводимостью в зависимости от направления тока. Иными словами, диод пропускает ток в одну сторону и не пропускает в другую. То есть ток идёт от анода (+) к катоду (-), но не наоборот (на самом деле и наоборот иногда идёт, всё сложно. Подробности в статье 🙂 ). Разумеется, диод рассчитан на определённое напряжение и ток, которое он может пропустить в прямом направлении и определённое напряжение, которому он способен сопротивляться в обратном. Полезно знать, что на корпусе диода катод обозначается цветным кольцом.

Диоды характеризуются двумя основными характеристиками: предельному обратному напряжению (Uобр) и максимальной силой тока (Imax), проходящей через него. Предельное обратное напряжение — максимальное напряжение на выводах диода, приложенное к нему в закрытом состоянии, которое он способен выдержать. Максимальный рабочий ток представляет собой ток при прямом включении диода, который диод может выдержать, не выходя из строя. Диоды широко применяются в электронике. Его основное свойство — пропускать ток только в одном направлении, определяет самое распространённое применение диода для выпрямления переменного тока. Однако, мы не станем останавливаться на выпрямителях слишком подробно. Статья рассказывает о применении диода в микроконтроллерных устройствах, разновидностях и способах подключения диода.
Читать далее

Как подключить драйвер светодиодов tlc5940 к Arduino

микросхема TLC594

микросхема TLC594

Из статьи вы узнаете, как подключить ШИМ генератор TLC5940 в качестве драйвера светодиодов к Ардуино, как подключить несколько драйверов в цепочке и как управлять ими с помощью библиотеки tlc5940. Также рассказано, как освободить SPI выводы Arduino, занимаемые микросхемой при стандартном подключении. Для повторения схемы, рассмотренной в статье, вам понадобятся: любой контроллер arduino (в статье используется Nano в качестве примера), макетная плата, соединительные провода, набор перемычек (желательно), как минимум один светодиодный драйвер, на каждый драйвер потребуется 16 светодиодов, резисторы на 2 кОм и на 10 кОм.

Купить микросхему у проверенного мной продавца можно здесь или сразу десяток со скидкой здесь.

Читать далее