Arduino
66 постов
66 постов
На рисунке показана схема простого трехканального терморегулятора. В примере используется 3 цифровых датчика температуры DS18B20, энкодер и LCD2004 с модулем I2C.
Терморегулятор основан на плате Arduino Nano, но можно использовать более дешевый аналог — плату LGT8F328P-LQFP32 MiniEVB.
Как использовать плату LGT8F328P-LQFP32 MiniEVB в среде Arduino IDE рассказано в http://rcl-radio.ru/?p=129966.
Управление трехканальный терморегулятором очень простое и осуществляется при помощи кнопки энкодера. В первой , второй и третьей строке дисплея LCD2004 (с модулем I2C) отображаются показания 3-х цифровых датчиков температуры, а так же температура включения и выключения нагревательного элемента, отдельно для каждого канала. Управление нагревательными элементами осуществляется при помощи 3-х реле. Реле к плате Arduino осуществляется через транзисторный ключ или напрямую если Вы используете модуль реле (с транзисторным ключом). В четвертой строке дисплея отображается состояние 3-х реле.
При включении терморегулятора, температура начинает повышаться до значения Toff, далее температура снижается до значения Ton, нагрев снова включается и цикл повторяться по новой.
Значения температур регулирования сохраняются в энергонезависимой памяти микроконтроллера.
Скетч - http://rcl-radio.ru/?p=130777
0,91″ I2C 128×32 OLED — это компактный дисплей, который использует технологию OLED (Organic Light Emitting Diode) для отображения изображений. Дисплей имеет интерфейс I2C, который обеспечивает простое подключение к микроконтроллерам и другим устройствам.
Основные характеристики дисплея:
— Разрешение 128×32 пикселей.
— Размер дисплея 0,91 дюйма (около 2,3 см).
— Яркость до 150 кд/м².
— Контрастность 2000:1.
— Угол обзора 160 градусов.
— Поддержка интерфейса I2C с адресом 0x3C.
Дисплей 0,91″ I2C 128×32 OLED обеспечивает четкое и яркое отображение информации, которое может быть использовано в широком спектре приложений. Он легко подключается к различным устройствам, таким как Arduino, Raspberry Pi и другим микроконтроллерам.
Дополнительно, OLED-дисплей имеет низкое энергопотребление, что позволяет использовать его в батарейных устройствах. Он также обладает быстрым временем отклика и высокой контрастностью, что делает его идеальным для использования в приложениях, где требуется быстрое и точное отображение информации.
В целом, дисплей 0,91″ I2C 128×32 OLED является отличным выбором для тех, кто ищет компактный и яркий OLED-дисплей с простым подключением по интерфейсу I2C.
В частотомере используется плата разработчика LGT8F328P-LQFP32 MiniEVB, как использовать плату в среде программирования Arduino IDE рассказано в — http://rcl-radio.ru/?p=129966
LGT8F328P-LQFP32 MiniEVB — это плата разработки, основанная на микроконтроллере LGT8F328P с 32 выводами в корпусе LQFP32. Это мощный микроконтроллер, который обеспечивает высокую производительность и широкие возможности для разработки.
Основные характеристики платы LGT8F328P-LQFP32 MiniEVB:
— Микроконтроллер LGT8F328P с тактовой частотой до 32 МГц и 32 Кбайт памяти Flash.
— Поддержка интерфейсов SPI, I2C, UART, ADC и PWM.
— Встроенный USB-интерфейс для программирования и отладки.
— Низкое энергопотребление и поддержка режима сна.
— Поддержка работы от внешнего источника питания 5 В или от USB-порта.
LGT8F328P-LQFP32 MiniEVB — это отличная плата разработки для начинающих и опытных разработчиков, которые хотят создавать проекты на основе микроконтроллера LGT8F328P. Она обеспечивает легкую разработку и отладку приложений, поддерживает широкий спектр интерфейсов и имеет удобный USB-интерфейс для программирования и отладки.
Кроме того, плата LGT8F328P-LQFP32 MiniEVB имеет компактный размер и низкое энергопотребление, что позволяет использовать ее в различных приложениях, включая портативные устройства и системы автоматизации.
На вход D5 подается сигнал уровня TTL, а на выходе D11 присутствует импульсный сигнала (меандр) для тестирования работы частотомера.
Схема частотомера
При прошивке микроконтроллера рекомендую ознакомится со следующей статьей — LGT8F328P-LQFP32 MiniEVB в Arduino IDE , версия платы не ниже 2.0.0
Далее изменить файл библиотеки OLED_I2C, для этого необходимо открыть для редактирования файл OLED_I2C.cpp и изменить параметр как показано на скриншоте:
Значение выделенной строки 0х12 необходимо заменить на 0х02.
При наличии очень точного импульсного генератора можно откалибровать частотомер при помощи значения счетного регистра:
#define CAL 62499; //62499 = 1 sec
Максимальная частота измерения мне не известна, так нет в наличии генератора с выходной частотой более 10 МГц.
Скетч - http://rcl-radio.ru/?p=130750
На базе Arduino Nano (Uno) с использованием аудиопроцессора BD37534FV можно собрать очень качественный регулятор тембра (три полосы) и громкости. Аудиопроцессор BD37534FV имеет три стерео входа и шесть выходов, два из которых выходы для двух сабвуферов.
Технические характеристики аудиопроцессора BD37534FV:
Напряжение питания от 7 до 9,5 В (10 В макс.)
Ток потребления … 38 мА
Коэффициент нелинейных искажений (выходы фронт, тыл) … 0,001 % (при входном сигнале 1Vrms 400Hz-30KHz)
Коэффициент нелинейных искажений (выход сабвуфера) … 0,002 % (при входном сигнале 1Vrms 400Hz-30KHz)
Выходное напряжение шума (FRONT,REAR) … 3.8 μVrms
Выходное напряжение шума (SUBWOOFER) … 4.8 μVrms
Перекрестные помехи между каналами … -100 дБ
Входное сопротивление … 100 кОм
Максимальное выходное напряжение … 2.3 Vrms
Перекрестные помехи между селекторами входов … -100 дБ
Предусилитель входа от 0 до 20 дБ
Режим MUTE … -105 дБ
Регулировка громкости от -79 до 15 дБ
Регулировка тембра ВЧ, СЧ, НЧ … ± 20 дБ
Аттенюатор выходов от -79 до 15 дБ
Тонкомпенсация предусилитель от 0 до 20 дБ
Сдвиг центральной полосы регуляторов тембра
Изменение добротнности регуляторов тембра
Фазовый сдвиг ФНЧ
Управление I2C
Информация о параметрах аудиопроцессора будет выводится на дисплей 0.96′ I2C 128X64 OLED.
Дисплей 0.96′ I2C 128X64 OLED на контроллере SSD1306 — это миниатюрный OLED-дисплей с разрешением 128×64 пикселей, который подключается к микроконтроллеру по интерфейсу I2C. Он имеет контроллер SSD1306, который управляет отображением изображений на дисплее.
Для подключения дисплея к микроконтроллеру необходимо использовать интерфейс I2C. Для этого на дисплее есть два вывода — SDA (Serial Data) и SCL (Serial Clock), которые подключаются к соответствующим пинам микроконтроллера.
Дисплей имеет маленький размер и низкое потребление энергии, что позволяет использовать его в различных проектах, где важна компактность и низкое энергопотребление. Он также может использоваться в качестве отладочного инструмента для вывода информации о работе микроконтроллера.
Дисплей также имеет высокую контрастность и яркость, что обеспечивает четкое и яркое отображение на дисплее. Он также имеет широкий угол обзора, что позволяет удобно просматривать информацию на дисплее из разных углов.
Кроме того, дисплей имеет низкую цену и широкое распространение, что делает его доступным для использования в различных проектах. Он может использоваться для создания часов, термометров, вольтметров, амперметров, датчиков и других устройств.
В целом, дисплей 0.96′ I2C 128X64 OLED на контроллере SSD1306 — это удобный и надежный дисплей, который обеспечивает яркое и четкое отображение информации. Он подходит для использования в различных проектах, где необходимо компактное и энергоэффективное решение для отображения информации.
Регулировка параметров аудиопроцессора BD37534FV будет осуществляться при помощи 4 кнопок и энкодера KY-040, дополнительно будет использован ИК пульт который будет полностью дублировать кнопки и энкодер.
В примере использована плата разработчика Arduino NANO которую можно заменить на более дешевый аналог — LGT8F328P-LQFP32 MiniEVB.
Схема регулятора громкости и тембра на аудиопроцессоре BD37534FV достаточно проста и состоит из модулей в которых уже установлены все необходимые компоненты. Если Вы будете использовать ИК датчик и энкодер как отдельные компоненты, то перед сборкой регулятора громкости и тембра добавьте все необходимые компоненты которые установлены на модулях (в основном это подтягивающие резисторы).
Дополнительно в проекте предусмотрен выход STANDBY для управление работой усилителя мощности.
Так же следует отметить что работа коммутатора входов ограничены 3-я стерео входами.
Аудиопроцессор BD37534FV содержит большое кол-во настроек, поэтому для удобства использования в примере используется два меню, первое меню основное, на него выводятся данные о состоянии громкости и тембра, во второе меню выводятся все остальные параметры аудиопроцессора.
Перебор параметров осуществляется при помощи кнопки энкодера, переход во второе меню осуществляется при помощи кнопки SET. Кнопка INPUT переключает вход (по кругу от 1 до 3) и позволяет регулировать предусилитель входов. Кнопка MUTE отключает выходы аудиопроцессора, а кнопка POWER так же отключает выходы аудиопроцессора, а так же меняет состояние выхода STANDBY и полностью гасит дисплей.
Тембр ВЧ
Тембр СЧ
Тембр НЧ
INPUT
Выбор центральной полосы ВЧ
Выбор центральной полосы СЧ
Выбор центральной полосы НЧ
Выбор центральной полосы фильтра сабвуфера
Выбор центральной полосы LOUDNESS (тонкомпенсация)
Добротность фильтра для ВЧ
Добротность фильтра для СЧ
Добротность фильтра для НЧ
Предусилитель LOUDNESS
Усилители-аттенюаторы выходов
Скетч - http://rcl-radio.ru/?p=130653
Ранее в статьях http://rcl-radio.ru/?p=112670 и http://rcl-radio.ru/?p=112468 рассматривались примеры создания регуляторов громкости на аудиопроцессоре LC75341 с использованием дисплеяLCD1602 и OLED 0.96″, в этом примере будет показан пример создания регулятора громкости с использованием дисплея OLED 1.3″.
OLED 1.3″ I2C 128х64 дисплей обладает высокой контрастностью, высоким разрешением и низким энергопотреблением. В OLED дисплее отсутствует дополнительный слой подсветки всей поверхности экрана. Каждый пиксел, формирующий изображение, испускает самостоятельное свечение.
Чип драйвера — SH1106, который обеспечивает связь I2C.
Параметры дисплея SH1106:
Технология дисплея: OLED
Разрешение дисплея: 128 на 64 точки
Диагональ дисплея: 1,3 дюйма
Угол обзора > 170°
Напряжение питания: 3,3 В ~ 5.0 В
Мощность: 0,08 Вт
Габариты: 35.7 х 30.9 х 4.0 мм
Вес: 7 грамм
Подключение OLDE дисплея к плате Arduino Nano (Uno):
VCC > 5V
GND > GND
SCL > A5 (I2C)
SDA > A4 (I2C)
Для использования дисплея OLED 1.3″ Вам необходима библиотека U8glib , ее можно установить с источника — https://github.com/olikraus/u8glib/ или установить при помощи менеджера библиотек как показано в — http://rcl-radio.ru/?p=130369.
Регулятор громкости содержит два основных блока, первый блок микроконтроллерный (Arduino Nano или плата LGT8F328P-LQFP32 MiniEVB) с органами управления и индикации, второй блок плата аудиопроцессора.
Основные параметры регулятора громкости и тембра на LC75341:
Регулировка громкости от -79 до 0 дБ (шаг 1 дБ)
Независимая регулировка громкости (баланс)
Входной предварительный усилитель входа от 0 до +30 дБ (шаг 2 дБ)
4-х канальный коммутатор входов
Регулировка тембра BASS от 0 до +20 дБ (шаг 2 дБ)
Регулировка тембра TREBLE от -10 до +10 дБ (шаг 2 дБ)
Напряжение питания от 5 до 10 В
Управление цифровое 3-Wire (CL, DI, CE) (макс. тактовая частота до 500 кГц)
Входное сопротивление 50 кОм
Коэффициент нелинейных искажений 0,01% (макс.)
Основное управление параметрами аудиопроцессора будет осуществляться при помощи энкодера (KY-040) и 3-х кнопок, так же будет применен ИК пульт который будет дублировать энкодер и кнопки управления.
В регуляторе громкости на аудиопроцессоре LC75341 реализованы следующие функции:
Регулировка громкости от 0 до 75 шагов (1 шаг равен 1 дБ, регулировка от -75 до 0 дБ)
Регулировка тембра ВЧ от -10 до +10 дБ
Регулировка тембра НЧ от 0 до 20 дБ
Регулировка баланса -4…+4 дБ
Входной предварительный усилитель с регулировкой от 0 до +30 дБ раздельно для каждого входа.
4-е стерео входа
Режим MUTE
Режим STANDBY с выходом управления ST-BY
4-е лог. выхода для управления источниками входных сигналов
Гашение дисплея при не активности органов управления в течении 30 сек (для активации режима гашения дисплея необходимо в режиме POWER OFF нажать и удерживать кнопку энкодера, далее нажать кнопку INPUT. При активации режима на дисплее появится надпись OLED_OFF, при отключении режима отключения дисплея появится надпись OLED_ON).
Сохранение всех настроек в энергонезависимой памяти
Схема регулятора громкости
Скетч - http://rcl-radio.ru/?p=130783
Модуль RRD_102v 2.0 FM радиоприёмника на ИМС RDA5807M отлично работает совместно с ARDUINO или любым микроконтроллером. К плате подключается антенна (или кусок проволоки длиной 20 см), звуковой сигнал через разделительные конденсаторы подается на наушники или усилитель. В данном варианте питание 3,3 В подается непосредственно с платы Arduino Nano.
Управление чипом цифровое, по I2C интерфейсу.
Характеристики FM-тюнера RDA5807m:
* Все в одном корпусе, практически не требуется внешних компонентов
* КМОП технология
* Максимальная полоса частот от 50 МГц до 115 МГц
* Настраиваемый шаг между каналами – 200 кГц, 100 кГц, 50 кГц, 25 кГц
* Поддерживает RDS/RBDS
* Высококачественный АЦП
* Синтезатор частот полностью встроен в микросхему
* Автоматическая регулировка усиления
* Цифровое адаптивное подавление шума
* Поддержка выхода звука как в моно, так и в стерео
* Индикатор уровня сигнала (Receive signal strength indicator — RSSI) и SNR
* Усилитель низких частот
* Регулировка звука и функция mute
* Цифровой интерфейс I2C
* Нагрузка на выходе звукового канала 32 Ом
* Встроенный LDO регулятор
* Корпус MSOP (10 выводов)
Электрические параметры FM тюнера RDA5807m:
* Напряжение питания — 3 вольта (от 1,8 до 3,6 вольт)
* Температура окружающей среды — от -20 до +75 градусов Цельсия
* Ток потребления в рабочем режиме — до 21 мА
* Ток потребления в спящем режиме – 5 мкА
* Коэффициент нелинейных искажений – 0,15 – 0,2 %
* Максимальная частота I2C – 400 кГц
Радиоприемник работает в частотном диапазоне от 87 до 108 МГц, управление приемником осуществляется при помощи двух кнопок и энкодера KY-040 (модуль), информация выводится на OLED дисплей с разрешением 128 на 64 точки, диагональ дисплея 1,3 дюйма, чип драйвера — SH1106 I2C.
Параметры дисплея SH1106:
Технология дисплея: OLED
Разрешение дисплея: 128 на 64 точки
Диагональ дисплея: 1,3 дюйма
Угол обзора > 170°
Напряжение питания: 3,3 В ~ 5.0 В
Мощность: 0,08 Вт
Габариты: 35.7 х 30.9 х 4.0 мм
Вес: 7 грамм
Радиоприемник поддерживает следующие режимы работы:
Частотный диапазон 87 до 108 МГц
Автоматический поиск станций и запоминание частот в EEPROM
Подстройка (ручная настройка) частоты станции
Регулировка громкости 0-15 шагов
Кол-во каналов 10
Управление радиоприемником разделено на несколько меню. Основные два меню, это меню регулировки громкости и выбора канала. Переключение основных меню осуществляется при помощи кнопки энкодера.
Меню настроек содержит меню авто поиска станций и меню ручной подстройки частоты канала. Переход и выход из меню настроек осуществляется при помощи кнопки SET.
Дополнительно имеется POWER, активируется кнопкой POWER, позволяет перевести радиомодуль в беззвучный режим, отключает экран и подает команду STANDBY для отключения усилителя.
Меню громкости
Меню выбора канала
При переходе в меню авто поиска Вы увидите следующую надпись, для активации режима авто поиска необходимо нажать кнопку энкодера, для пропуска этого режима и перехода в меню подстройки частоты выбранного канала нажмите кнопку SET.
Авто поиск
Меню подстройки частоты выбранной станции
Скетч - http://rcl-radio.ru/?p=130883
На рисунке показана схема простых часов на семисегментных индикаторах. Выполнены часы на базе Arduino Nano. В часах можно использовать практически любые (с током свечения сегмента не более 20 мА) семисегментные индикаторы с общим катодом, в частности в проекте используются индикаторы 5161AS.
В часах используется модуль DS3231 который представляет собой часы реального времени.
Как видно на схеме, один из индикаторов перевернут, так его сегмент-точка служит частью двоеточия, которое отображает такт хода секунд. Так как индикатор перевернут необходимо изменить его распайку его контактов.
Управление часами осуществляется тремя кнопка SET, UP и DW. При нажатии на кнопку SET часы переходят в режим коррекции времени, а кнопки UP и DW увеличиваю или уменьшают значение минут или часов. Если не переходить в режим коррекции времени, то кнопки UP и DW позволяют менять яркость свечения индикаторов.
Дополнительно имеется возможность использовать ночной режим работы индикаторов, в нем устанавливается минимально возможная яркость свечения индикаторов с 23 до 7 часов. Для активации этого режима в параметре NIGHT нужно установить 1.
#define NIGHT 1
Скетч - http://rcl-radio.ru/?p=130909