Показаны сообщения с ярлыком ардуино. Показать все сообщения
Показаны сообщения с ярлыком ардуино. Показать все сообщения

суббота, 19 сентября 2020 г.

DS3231 - будильник для Ардуино


В данной публикации я расскажу об использовании RTC модуля на базе DS3231 для вывода Ардуино (или отдельного микроконтроллера) из режима энергосбережения. Можно сказать, будем делать будильник для Ардуино.

понедельник, 7 сентября 2020 г.

LiquidCrystal_I2C_Menu - библиотека для создания меню на ЖК дисплее и Ардуино. Новые возможности

Меню на Ардуино


В одной из прошлых публикаций я писал о своей библиотеке LiquidCrystal_I2C_Ext для создания меню на текстовом LCD дисплее и энкодере вращения. Библиотека получилась довольно интересная. Только название, как выяснилось впоследствии, уже используется. Поэтому я принял решение переименовать её в LiquidCrystal_I2C_Menu. Кроме нового имени в ней появились и новые возможности. А недавно я сделал версию библиотеки для управления с помощью кнопок - LiquidCrystal_I2C_Menu_Btns. Итого на ваш выбор представлены две библиотеки, о которых пойдет речь в сегодняшней статье.

суббота, 1 августа 2020 г.

Еще раз про энергосбережение

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

пятница, 8 ноября 2019 г.

Радио на RDA5807M. Часть 1

RDA5807M Arduino

Микросхема RDA5807M - это FM радиоприемник нового поколения с поддержкой RDS/RBDS и цифровым управлением по I2C. Микросхема выполнена по CMOS технологии, что определяет ее минимальное энергопотребление. RDA5807M уже содержит все необходимые узлы и требует лишь небольшого числа внешних компонентов. А мощный аудиопроцессор обеспечивает оптимальное качество звука при различных условиях приема. Все это делает RDA5807M удачным выбором для носимых, портативных устройств.

понедельник, 24 июня 2019 г.

Немного кодокопания (прерывания, ISR, attachInterrupt)

В продолжение темы о прерываниях в AVR микроконтроллерах предлагаю покопаться в коде, генерируемом компилятором. Это поможет проверить на деле приведенный ранее теоретический материал, а также узнать новые интересные моменты. Для этого потребуется описанная в прошлой публикации доработка IDE Arduino для генерации ассемблерного листинга и справочник по языку ассемблера для AVR, доступный по ссылке http://ww1.microchip.com/downloads/en/devicedoc/atmel-0856-avr-instruction-set-manual.pdf. Итак, приступим.

вторник, 21 мая 2019 г.

Прерывания в Ардуино. Часть 1

Прерывания в Ардуино. Внешние прерывания

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

воскресенье, 12 мая 2019 г.

Бесполезная коробка на ATmega328P


Бесполезная коробка на ATmega328P

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

воскресенье, 30 декабря 2018 г.

Тактирование Ардуино от внутреннего RC-генератора

Arduino ATmega328P тактирование от внутреннего RC-генератора

При написании публикации про ATtiny85 я обратил внимание на то, как реализовано изменение частоты микроконтроллера: достаточно выбрать нужное значение тактовой частоты в меню IDE Ардуино и затем выполнить команду "Записать загрузчик". А почему бы не сделать так же для Ардуино? Чтобы можно было простыми действиями настроить ее на тактирование либо от внешнего резонатора на 16МГц, либо от внутреннего RC-генератора на 8МГц. Кстати при тактировании от внутреннего генератора микроконтроллер можно извлечь из Ардуино, тем самым значительно снизить энергопотребление. В общем, тема весьма интересная, подробности под катом.

четверг, 1 ноября 2018 г.

Знакомство с ATtiny85

ATtiny85
ATtiny85 - это 8-битный AVR микроконтроллер фирмы Atmel, представитель семейства tiny. Микроконтроллеры данного семейства, как следует из его названия, являются младшими в линейке AVR: у них меньшее число линий ввода-вывода, меньший объем памяти и ограниченный набор периферийных устройств по сравнению с микроконтроллерами mega/XMEGA. Но это окупается их меньшей стоимостью и малыми размерами. Кроме того tiny микроконтроллеры имеют ту же производительность, что и старшие микроконтроллеры семейства mega. Это делает их отличным выбором для создания устройств, не требующих широкого набора периферии, где размер и цена микроконтроллера имеют значение: tinyAVR находят применение в портативных навигаторах, плеерах, сотовых телефонах, спортивных гаджетах, бытовой технике, электронных игрушках, пультах дистанционного управления, интеллектуальных датчиках и во многих других устройствах. Но вернемся к ATtiny85 и ознакомимся с характеристиками данного микроконтроллера.

пятница, 12 октября 2018 г.

LiquidCrystal_I2C_Ext - библиотека для создания меню на Ардуино

Я обратил внимание, что тема создания меню на Ардуино и ЖК дисплее весьма популярна. И ей уже посвящена одна из моих публикаций. Но я понимаю, что для новичков адаптация моего скетча может показаться нетривиальной задачей. Поэтому я решил написать библиотеку для создания меню на Ардуино и ЖК дисплее с I2C управлением, которую было бы легко использовать даже начинающему ардуинщику.

среда, 10 октября 2018 г.

Прошивка USBasp

avrdude: warning: cannot set sck period, please check for usbasp firmware update

Если при использовании USBasp в логе avrdude у вас появляется сообщение
avrdude: warning: cannot set sck period, please check for usbasp firmware update, но при этом программатор исправно выполняет команды, то, скорее всего, проблема в устаревшей прошивке USBasp. В этой статье я по шагам расскажу, как обновить прошивку USBasp, используя Ардуино в качестве программатора.

четверг, 13 сентября 2018 г.

Программатор USBasp

Программатор USBasp
Сегодня речь пойдет о программаторе USBasp - популярном программаторе для микроконтроллеров фирмы Atmel серии AVR. Как заявляет его создатель на домашней странице проекта, USBasp работает на различных платформах (Windows, Linux, Mac OS X), не требует дополнительных компонентов и обеспечивает скорость программирования до 5 кбит/с. Кроме того его схема довольно проста и желающие могут собрать этот программатор самостоятельно. Либо можно заказать готовый на Aliexpress, как я и поступил. Обошелся он мне в $1.70 вместе с переходником на ICSP разъем.

воскресенье, 19 августа 2018 г.

Что такое Фьюзы. Чтение и запись фьюзов Ардуино

Что такое фьюзы
Сегодня я хочу рассказать о том, что такое фьюзы, за что они отвечают и как их можно прочитать и записать в Ардуино. Рекомендую также заглянуть в предыдущую публикацию, т.к. работа с фьюзами возможна только через программатор.

четверг, 19 июля 2018 г.

Arduino as ISP - программатор из Ардуино

Arduino as ISP - программатор из Ардуино

Есть у меня пара идей для будущих публикаций, но в них будет использоваться программатор. Поэтому сегодня я расскажу о том, как превратить Ардуино в ISP программатор, для чего он нужен и как им пользоваться. А в качестве примера будет описана процедура прошивки загрузчика в Ардуино.

воскресенье, 24 июня 2018 г.

Генератор сигналов на AD9833

Генератор AD9833
AD9833 - это программируемый генератор сигналов с низким энергопотреблением. Позволяет генерировать сигналы с частотой до 12.5МГц синусоидальной, треугольной и прямоугольной формы. Программирование осуществляется с использованием трехпроводного интерфейса SPI и не составляет труда. Ниже приведены основные характеристики микросхемы:

понедельник, 2 апреля 2018 г.

Библиотека Low-Power

После предыдущих публикаций я не могу не упомянуть о библиотеке Low-Power. Данная библиотека предназначена для управления режимами энергосбережения Ардуино. Чтобы перевести Ардуино в интересующий режим достаточно вызвать соответствующую функцию:

воскресенье, 25 февраля 2018 г.

Режимы энергосбережения Ардуино

Продолжаем тему минимизации энергопотребления Ардуино и теперь пора разобраться в режимах работы МК. Все AVR микроконтроллеры поддерживают различные режимы энергосбережения. Их описание можно найти в документации к МК в разделе Power Management and Sleep Modes. ATmega328P имеет 6 режимов:

Уменьшаем энергопотребление Ардуино

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

суббота, 3 февраля 2018 г.

Что такое подтягивающий (стягивающий) резистор

Чтобы ответить на этот вопрос давайте посмотрим на следующую схему:
Мы бы хотели отслеживать нажатие кнопки для выполнения каких-то действий. Для этого мы подключили линию +5В через резистор и кнопку к цифровому выводу Ардуино, полагая, что при нажатии на кнопку ток потечет через нее и Ардуино считает на цифровом входе 2 сигнал высокого уровня. Соответственно, при размыкании контакта мы рассчитываем получить на входе сигнал низкого уровня. Так ли это? Проверим.

четверг, 4 января 2018 г.

Текстовое меню на Ардуино

Текстовое меню для Ардуино на ЖК дисплее и энкодере вращения

В данной публикации я хочу поделиться опытом создания текстового меню на Ардуино. Я буду использовать жидкокристаллический I2C дисплей 20x4 и энкодер вращения KY-040 в качестве элемента управления. О подключении энкодера к Ардуино и подавлении дребезга контактов было написано уже достаточно, с подключением дисплея вопросов тоже быть не должно. Поэтому сегодня я уделю внимание именно программной реализации.