Серия «Arduino»

AD7793 + термопара + термометр сопротивления (Arduino)

AD7793 — малошумящий 24-разрядный сигма-дельта АЦП с тремя дифференциальными аналоговыми входами. АЦП AD7793 предназначен для высокоточного измерения постоянного напряжения, может применяться для измерения напряжения термопар и других датчиков с выходным напряжением в несколько единиц или десятков мВ.

Перед прочтением статьи рекомендую ознакомится с двумя первыми статьями про АЦП AD7793:

В статье AD7793 + термопара (Arduino) был рассмотрен пример создания простого но высокоточного измерителя-регулятора температуры с применением в качестве датчика термопару. Большая разрядность АЦП AD7793 и линейность характеристики позволяет весьма точно измерять постоянное напряжение которое не превышает единиц мВ. Ранее описанный измеритель-регулятор преобразует ЭДС термопары в температуру с погрешностью не более ±0,2…±0,3 °С на всем диапазоне, а погрешность измерения ЭДС термопары не превышает 5…10 мкВ.

В этой статье будет рассмотрен пример использования АЦП AD7793 в качестве измерителя-регулятора с использованием датчика термометра сопротивлений.

Для примера была выбрана номинальная статическая характеристика (НСХ) 100П, при желании можно добавить в измеритель-регулятор еще несколько номинальных статических характеристик (НСХ).

Измеритель-регулятор с датчиком термосопротивления не будет отдельным уст-вом, он дополнит уже ранее описанный в термометр-регулятор с использованием в качестве датчиков термопары ТХА и ТХК.

AD7793 + термопара + термометр сопротивления (Arduino) Arduino, Электроника, Самоделки, Теплотехника, Длиннопост

АЦП AD7793 содержит два программируемых источника тока номиналами 10 мкА, 210 мкА, 1 мА. Токовые выходы IOT1 и IOT2 могут независимо работать друг от друга, а источники тока могут быть направлены в один токовый выход.

IO REGISTER управляет работой токовых выходов и источника тока.

AD7793 + термопара + термометр сопротивления (Arduino) Arduino, Электроника, Самоделки, Теплотехника, Длиннопост

Биты IEXCDIR1 IEXCDIR0 позволяю выбрать режим работы токовых выходов, а биты IEXCEN1 IEXCEN0 задают номиналы тока.

AD7793 + термопара + термометр сопротивления (Arduino) Arduino, Электроника, Самоделки, Теплотехника, Длиннопост

В рассматриваемом примере оба источника тока в 1 мА перенаправлены на выход IOT1, что в сумме дает ток 2 мА. Ток подается на термосопротивление, на котором вход АЦП IN2 измеряет падение напряжения, исходя из полученного значения вычисляется сопротивление термометра сопротивления и программно высчитывается температура.

Для уменьшения влияния измерительных проводов используется 4-х проводная схема подключения, при этом пары измерительных проводов соединяются непосредственно на клеммах термосопротивления.

Управление измерителем-регулятором очень простое, кнопка энкодера переключает тип датчика (ХА, ХК, 100П), а поворот ручки энкодера изменяет температуру регулирования. Выбранный последним тип датчика и температура регулирования заносятся в энергонезависимую память.

Внутренние источники тока имею отличную стабильность, но не очень высокую точность выходного тока, поэтому для получения высокой точности измерения температуры при использовании термосопротивления необходимо произвести калибровку.

/// калибровка

  • float gis=0.2;

  • float i_1ma = 1.0137;

  • float r_0_kall = 0.29;

Гистерезис gis общий для всех датчиков, i_1ma калибровочный коэффициент источника тока, фактически это точное значение тока который выдает один источник тока, настраивать этот коэффициент необходимо при подключении ко входу сопротивления 300…400 Ом, меняя коэффициент необходимо добиться максимально точных показаний омметра измерителя-регулятора. r_0_kall — калибровка нуля, для его определения необходимо ко входу подключить сопротивление номиналом 1…5 Ом, а r_0_kall это погрешность измерения. Например, если Вы подключили ко входу сопротивление 1 Ом, а на дисплее Вы видите показание 0,71 Ом, то калибровочный коэффициент нуля будет 0,29. Для точного определения калибровочных значений необходимо повторить ранее описанную процедуру калибровки 2-3 раза.

AD7793 + термопара + термометр сопротивления (Arduino) Arduino, Электроника, Самоделки, Теплотехника, Длиннопост
  1. Температура измеренная термометром сопротивления

  2. Омметр

  3. Индикатор нагрева

  4. Тип датчика

  5. Температура регулирования

Результаты измерений

На вход измерителя регулятора подключен магазин сопротивлений МСР-60М (0,02%)

AD7793 + термопара + термометр сопротивления (Arduino) Arduino, Электроника, Самоделки, Теплотехника, Длиннопост

300 Ом

AD7793 + термопара + термометр сопротивления (Arduino) Arduino, Электроника, Самоделки, Теплотехника, Длиннопост

200 Ом

AD7793 + термопара + термометр сопротивления (Arduino) Arduino, Электроника, Самоделки, Теплотехника, Длиннопост

100 Ом

AD7793 + термопара + термометр сопротивления (Arduino) Arduino, Электроника, Самоделки, Теплотехника, Длиннопост

50 Ом

AD7793 + термопара + термометр сопротивления (Arduino) Arduino, Электроника, Самоделки, Теплотехника, Длиннопост

Тест точности измерения сопротивления и точности преобразования сопротивления в температуру

AD7793 + термопара + термометр сопротивления (Arduino) Arduino, Электроника, Самоделки, Теплотехника, Длиннопост

Как видно из таблицы максимальная погрешность при измерении температуры не превышает 0,13 °С при диапазоне 1050 °С (-200…+850 °С), что дает относительную погрешность в 0,0123%. При измерении сопротивления в диапазоне от 0 до 400 Ом относительная погрешность не превысила 0,01%. Полученная погрешность будет немного выше, так как магазин сопротивлений имеет класс точности 0,02%.

Скетч - http://rcl-radio.ru/?p=128979

Показать полностью 10

AD7793 миллиомметр (Arduino)

AD7793 — малошумящий 24-разрядный сигма-дельта АЦП с тремя дифференциальными аналоговыми входами. АЦП AD7793 предназначен для высокоточного измерения постоянного напряжения, может применяться для измерения напряжения термопар и других датчиков с выходным напряжением в несколько единиц или десятков мВ.

Перед прочтением статьи рекомендую ознакомится с тремя первыми статьями про АЦП AD7793:

На базе AD7793 с использованием Arduino Nano можно собрать миллиомметр с диапазоном измерения от 0,0000 до 32,000 Ом.

AD7793 миллиомметр (Arduino) Arduino, Электроника, Самоделки, Длиннопост

Схема миллиомметра

AD7793 миллиомметр (Arduino) Arduino, Электроника, Самоделки, Длиннопост

Вход АЦП сконфигурирован как несимметричный вход, предусилитель АЦП имеет коэффициент усиления равный 1, частота опроса 4,17 Гц.

Для точного измерения необходимо иметь эталонное сопротивление 100 Ом (манганин) через которое подается ток на измеряемое сопротивление, от точности эталонного сопротивления зависит точность прибора. Если нет возможности очень точно изготовить (намотать из манганиновой проволоки) эталонное сопротивление, то откалибровать прибор можно при помощи другого эталонного сопротивления 1…30 Ом с классом точности не менее 0.02 %.

Для упрощения конструкции прибора напряжение на эталонное сопротивление 100 Ом подается от источника питания +5 В Arduino, которое также является аналоговым напряжением питания АЦП AD7793, а так как в АЦП имеется возможность контроля этого напряжения, то оно становится опорным, так как перед каждым замером сопротивления производится измерения аналогового напряжения питания АЦП которое также подается на эталонное сопротивление.

Для получения большой точности при измерении сопротивлений миллиомметр нуждается в калибровке:

#define R_100 99.969

#define K_0 0.0015

#define K_AVDD 6.065

K_AVDD — калибровочный коэффициент напряжения подаваемого на эталонное сопротивление, так как оно является аналоговым напряжением питания АЦП и имеется возможность его измерять, то необходимо очень точно произвести калибровку результата его измерения. Для этого измерьте напряжение подаваемое на эталонное сопротивление, откройте монитор порта и сравните его с измеренным значением.

AD7793 миллиомметр (Arduino) Arduino, Электроника, Самоделки, Длиннопост

AVDD — напряжением аналогового питания АЦП (выделено красным)

Измените K_AVDD таким образом, чтобы напряжение подаваемое на эталонное сопротивление соответствовало напряжению AVDD в мониторе порта.

R_100 — точное значение эталонного сопротивления.

K_0 — калибровка нуля. Замкните вход омметра, если показания не равны нулю, то укажите в K_0 погрешность нуля.

Результаты измерений

AD7793 миллиомметр (Arduino) Arduino, Электроника, Самоделки, Длиннопост
AD7793 миллиомметр (Arduino) Arduino, Электроника, Самоделки, Длиннопост
AD7793 миллиомметр (Arduino) Arduino, Электроника, Самоделки, Длиннопост
AD7793 миллиомметр (Arduino) Arduino, Электроника, Самоделки, Длиннопост

Скетч - http://rcl-radio.ru/?p=128992

Показать полностью 6

Дисплей 12864b v2.0 (Arduino)

Графический дисплей 12864b v2.0 (ST7920) представляет собой ЖК-матрицу с разрешением в 128  на 64 точек, предназначен для вывода графической и текстовой информации. Поддерживает 8/4-битный параллельный режим работы и поставляется вместе с микросхемой контроллера/драйвера ST7290. Также дисплей поддерживает последовательный режим работы по шине PSB (программный SPI), именно в этом режиме будет работать описанный в этой статье дисплей.

Дисплей 12864b v2.0 (Arduino) Arduino, Электроника, Самоделки, Длиннопост

Основное напряжение питания +5 В, дополнительное 3,3 В используется для подсветки дисплея. Рассматриваемый в статье дисплей на плате имеет регулятор контрастности, но может поставляться и без него, тогда на вход Vo подается напряжение с потенциометра (см. схему).

Дисплей 12864b v2.0 (Arduino) Arduino, Электроника, Самоделки, Длиннопост

Встроенный потенциометр

Дисплей 12864b v2.0 (Arduino) Arduino, Электроника, Самоделки, Длиннопост

Подключение дисплея к Arduino Nano:

Дисплей 12864b v2.0 (Arduino) Arduino, Электроника, Самоделки, Длиннопост

При работе с дисплее можно использовать библиотеку U8glib , в папке библиотеки много различных примеров скетчей. Установить библиотеку можно через менеджер библиотек Arduino IDE.

Дисплей 12864b v2.0 (Arduino) Arduino, Электроника, Самоделки, Длиннопост

Пример 1

Дисплей 12864b v2.0 (Arduino) Arduino, Электроника, Самоделки, Длиннопост

#include <U8glib.h>

#include "rus6x10.h" // http://forum.rcl-radio.ru/misc.php?action=pan_download&amp;i... 

U8GLIB_ST7920_128X64 u8g(10, 11, 12, U8G_PIN_NONE); // настройка пинов 

void draw() {

u8g.setRot180();

u8g.setFont(u8g_font_unifont);

u8g.drawStr(15, 12, "RCL-RADIO.RU");

u8g.drawLine(0, 15, 128, 15);

u8g.setFont(u8g_font_6x12);

u8g.drawStr(45, 25, "ST7920");

u8g.setColorIndex(1);

u8g.drawBox(0, 35, 128, 20);

u8g.setFont(u8g_font_unifont);

u8g.setColorIndex(0);

u8g.drawStr(35, 50, "ARDUINO");

u8g.setColorIndex(1);

u8g.setFont(rus6x10);

u8g.drawStr(45, 64, "ПРИВЕТ");

void setup() { } 

void loop() {

u8g.firstPage();

do { draw(); }

while( u8g.nextPage() );

}

Для поддержки русского шрифта скачайте архив шрифта и распакуйте его в папку со скетчем.

Пример 2

Ниже показан пример создания простых часов, в примере используется модуль часов реального времени DS3231. Время устанавливается по времени компиляции.

Дисплей 12864b v2.0 (Arduino) Arduino, Электроника, Самоделки, Длиннопост

Для поддержки семисегментных цифр скачайте архив шрифта и распакуйте его в папку со скетчем.

Скетч - http://rcl-radio.ru/?p=129018

Показать полностью 6

Дисплей 2X16 VFD (Arduino)

Дисплей VDF1602 (16T202DA1E) выполнен на базе вакуумно-люминесцентного индикатора, который может отображать ASCII символы в 2 строки (16 знаков в 1 строке) каждый символ в виде матрицы 5х7 пикселей.

Дисплей 16T202DA1E программно полностью совместим с дисплеем LCD1602 контроллере HD44780, поэтому использует стандартную библиотеку LiquidCrystal которая интегрирована в Arduino IDE.

Дисплей 2X16 VFD (Arduino) Arduino, Электроника, Программирование, Самоделки, Видео, YouTube, Длиннопост
Дисплей 2X16 VFD (Arduino) Arduino, Электроника, Программирование, Самоделки, Видео, YouTube, Длиннопост
Дисплей 2X16 VFD (Arduino) Arduino, Электроника, Программирование, Самоделки, Видео, YouTube, Длиннопост
Дисплей 2X16 VFD (Arduino) Arduino, Электроника, Программирование, Самоделки, Видео, YouTube, Длиннопост
Дисплей 2X16 VFD (Arduino) Arduino, Электроника, Программирование, Самоделки, Видео, YouTube, Длиннопост

Для правильной работы базе вакуумно-люминесцентного индикатора требуется два источника питания, это питание сеток и анодов напряжением 12-27 В и питание катода (нити накала) переменным напряжением от 1,2 до 5 В (в зависимости от типа ВЛИ). В дисплее 16T202DA1E все необходимые источники для правильной работы ВЛИ уже встроены в плату, поэтому для питания дисплея Вам понадобится только одно напряжение в 5 В. Так же в отличии от LCD1602 в дисплее 16T202DA1E нет вывода Vo (регулировка контрастности), что делает подключение дисплея к Arduino Nano еще проще.

Дисплей 2X16 VFD (Arduino) Arduino, Электроника, Программирование, Самоделки, Видео, YouTube, Длиннопост

Распиновка дисплея

Дисплей 2X16 VFD (Arduino) Arduino, Электроника, Программирование, Самоделки, Видео, YouTube, Длиннопост

Как ранее отмечалось дисплей полностью совместим с библиотекой LiquidCrystal, но в дисплее имеется дополнительно программная регулировка яркости свечения индикатора которую так же можно использовать при помощи библиотеки LiquidCrystal

Ниже показан тестовый скетч который поддерживает ступенчатую регулировку яркости (25, 50, 75, 100 %).

#include <LiquidCrystal.h> /* подключаем встроенную в Arduino IDE библиотеку для дисплея LCD 16x2 */ 

LiquidCrystal lcd(12, 11, 5, 6, 7, 8); /* номер вывода дисплея(вывод Arduino): RS(12),E(11),D4(5),D5(6),D6(7),D7(8) */ 

void setup() {

lcd.begin(16, 2);// указываем тип дисплея LCD 16X2

Brightness(100);

lcd.setCursor(1,0); // положение курсора - нулевая строка, первый символ lcd.print("HELLO!!!");// вывод на экран

delay(1000);

lcd.noDisplay();

delay(1000);

lcd.display();

void loop() {

lcd.setCursor(0,0); // положение курсора - нулевая строка, первый символ

lcd.print("RCL-RADIO.RU");// вывод на экран

lcd.setCursor(0,1);// положение курсора - первая срока, первый символ

lcd.print("ARDUINO ");// ввод на экран 

delay(500);// пауза 500 мс

for (int n=25;n<=100;n+=25){

lcd.setCursor(9,1);

lcd.print("BR ");

lcd.print(n);

lcd.print("% ");

Brightness(n);delay(1000);

} } 

void Brightness(byte brig){

switch(brig){

case 25 : lcd.command(0b00101011);break;

ase 50 : lcd.command(0b00101010);break;

case 75 : lcd.command(0b00101001);break; c

ase 100 : lcd.command(0b00101000);break;

} }

Для регулировки яркости используется дополнительная функция управления дисплеем:

Brightness(byte brig);

Переменная brig  может иметь значение 25, 50, 75 и 100 (% яркости)

Примеры использования дисплея 16T202DA1E

Простые часы DS3231

Дисплей 2X16 VFD (Arduino) Arduino, Электроника, Программирование, Самоделки, Видео, YouTube, Длиннопост
Дисплей 2X16 VFD (Arduino) Arduino, Электроника, Программирование, Самоделки, Видео, YouTube, Длиннопост

Простые часы DS3231 с кнопками коррекции времени

Дисплей 2X16 VFD (Arduino) Arduino, Электроника, Программирование, Самоделки, Видео, YouTube, Длиннопост

Простые часы DS3231 + BMP280 (с кнопками коррекции времени)

Дисплей 2X16 VFD (Arduino) Arduino, Электроника, Программирование, Самоделки, Видео, YouTube, Длиннопост
Дисплей 2X16 VFD (Arduino) Arduino, Электроника, Программирование, Самоделки, Видео, YouTube, Длиннопост

Индикатор уровня звукового сигнала (VU метр)

Дисплей 2X16 VFD (Arduino) Arduino, Электроника, Программирование, Самоделки, Видео, YouTube, Длиннопост
Дисплей 2X16 VFD (Arduino) Arduino, Электроника, Программирование, Самоделки, Видео, YouTube, Длиннопост

Скетчи - http://rcl-radio.ru/?p=129034

Показать полностью 13 1

Прошивка LGT8F328P-SSOP20 через Arduino

Плата LGT8F328P-SSOP20 основана на китайском микроконтроллер LGT8F328p и является клоном популярной AVR ATmega328p (Arduino NANO). Микроконтроллер LGT8F328p практически полностью совместим с микроконтроллером ATmega328p и обладает рядом дополнительных функций и возможностей превышающих ATmega328p.

Прошивка LGT8F328P-SSOP20 через Arduino Arduino, Электроника, Программирование, Самоделки, Длиннопост

Основные характеристики LGT8F328P

  • FLASH (ПЗУ): 32 Кбайт

  • SRAM (ОЗУ): 2 Кбайт

  • E2PROM (EEPROM): 0K / 1K / 2K / 4K / 8K (эмуляция)

  • PWM (ШИМ): 8

  • Частота: 32 МГц

  • АЦП: 9 пинов, 12 бит

  • ЦАП: 1 пин, 8 бит

  • Силовые пины: 4 (до 80 мА)

  • Таймеры 2x 8bit, 2x 16bit

  • UART: 1

  • SPI: 1

  • I2C: 1

  • PLL: 1

  • Опорное напряжение: 1.024В / 2.048В / 4.09В ± 0,5%

  • Логический уровень: 5В

Для прошивки LGT8F328P-SSOP20 через Arduino (Nano или UNO) необходимо поэтапно выполнить несколько действий:

  1. Добавим поддержку платы LGT8F328P-SSOP20 в Arduino IDE, для этого добавим ссылку в менеджер плат

https://raw.githubusercontent.com/dbuezas/lgt8fx/master/pack...

Прошивка LGT8F328P-SSOP20 через Arduino Arduino, Электроника, Программирование, Самоделки, Длиннопост

Далее в менеджере плат находим плату lgt8fx и устанавливаем ее:

Прошивка LGT8F328P-SSOP20 через Arduino Arduino, Электроника, Программирование, Самоделки, Длиннопост

2. Откройте для редактирования файл — HardwareSerial.h
Найти его можно в Arduino\hardware\arduino\avr\cores\arduino\

Прошивка LGT8F328P-SSOP20 через Arduino Arduino, Электроника, Программирование, Самоделки, Длиннопост

Найдите в файле строку:
#define SERIAL_RX_BUFFER_SIZE 64
и замените ее на:
#define SERIAL_RX_BUFFER_SIZE 250
сохраните файл.

3. Приготовьте плату Arduino Nano или UNO

Откройте в примерах скетч — LarduinoISP (если скетча нет в примерах, выберите в менеджере плат плату LGT8F328P, скетч должен появиться в примерах, откройте его,  после чего в менеджере плат выберите плату Arduino)

Загрузите скетч плату Arduino.

Верните в исходное состояние файл HardwareSerial.h и сохраните файл.

Подключите электролитический конденсатор 47 мкФ к плате Arduino между контактами RST и GND.

4. Подключение плату LGT8F328P-SSOP20 к плате Arduino:

GND  GND
VCC  +5V
SWD  D12
RST  D10
SWC  D13

Настройте параметры платы LGT8F328P-SSOP20 в Arduino IDE как показано на скриншоте:

Прошивка LGT8F328P-SSOP20 через Arduino Arduino, Электроника, Программирование, Самоделки, Длиннопост

Если необходимо записать загрузчик нажмите — Записать загрузчик.
Если необходимо записать скетч нажмите — Загрузить через программатор.

Загрузите скетч BLINK, после загрузки скетча на плате LGT8F328P-SSOP20 должен начать мигать светодиод.

void setup() {

pinMode(LED_BUILTIN, OUTPUT); }

void loop() { digitalWrite(LED_BUILTIN, HIGH); delay(1000); digitalWrite(LED_BUILTIN, LOW); delay(100); }

Прошивка LGT8F328P-SSOP20 через Arduino Arduino, Электроника, Программирование, Самоделки, Длиннопост
Прошивка LGT8F328P-SSOP20 через Arduino Arduino, Электроника, Программирование, Самоделки, Длиннопост

http://rcl-radio.ru/?p=129239

Показать полностью 6

ATtiny45 Arduino IDE

ATtiny45 — низкопотребляющий 8 битный КМОП микроконтроллер с AVR RISC архитектурой. Выполняя команды за один цикл, ATtiny45 достигает производительности 1 MIPS при частоте задающего генератора 1 МГц, что позволяет разработчику оптимизировать отношение потребления к производительности.

Характеристики:

  • Высокопроизводительный, экономичный 8-разр. AVR-микроконтроллер

  • Усовершенствованная RISC-архитектура
    — Обширный набор из 120 инструкций большинство которых выполняются за один цикл
    — 32 x 8 универсальных регистров общего назначения
    — Полностью статическая работа

  • Энергонезависимые памяти программ и данных
    — Внутрисистемно программируемая флэш-память программ размером 4 кбайт с износостойкостью 10 тыс. циклов запись/стирание
    — 256 байт внутрисистемно-программируемого ЭСППЗУ с износостойкостью 100 тыс. циклов записи/стирания
    — 256 байт внутреннего статического ОЗУ
    — Программируемые биты защиты флэш-памяти и ЭСППЗУ

  • Отличительные особенности периферийных устройств
    — 8-разр. таймер-счетчик с предделителем и двумя каналами ШИМ
    — 8-разр. высокоскоростной таймер-счетчик с отдельным предварительным делителем 2 высокочастотных выхода ШИМ с отдельными регистрами задания порога сравнения

  • Программируемый генератор паузы
    — Универсальный последовательный интерфейс с отдельным детектором условия старт
    — 10-разр. АЦП

  • 4 несимметричных канала

  • 2 дифференциальных канала с программируемым усилением (1x, 20x)
    — Программируемый сторожевой таймер с отдельным встроенным генератором
    — Встроенный аналоговый компаратор

  • Специальные функции микроконтроллера
    — Встроенная отладочная система debugWIRE
    — Внутрисистемное программирование через порт SPI
    — Внешние и внутренние источники прерываний
    — Экономичные режимы: холостой ход (Idle), уменьшение шумов АЦП (ADC Noise Reduction) и пониженная мощность (Power-down)
    — Усовершенствованная схема сброса при подаче питания
    — Программируемая схема контроля напряжения питания
    — Встроенный калиброванный генератор

  • Ввод-вывод и корпуса
    — Шесть программируемых линий ввода-вывода
    — 8-выв. корпус PDIP и 8-выв. SOIC

  • Рабочее напряжение
    — 1.8 — 5.5В для ATtiny45V
    — 2.7 — 5.5В для ATtiny45

  • Градации по быстродействию
    — ATtiny45V: 0 — 4 МГц при 1.8 — 5.5В, 0 — 10 МГц при 2.7 — 5.5В
    — ATtiny45: 0 — 10 МГц при 2.7 — 5.5В, 0 — 20 МГц при 4.5 — 5.5В

  • Малый потребляемый ток
    — Активный режим: 1 МГц, 1.8В: 450 мкА
    — Режим пониженной мощности: 0.1 мкА при 1.8В

ATtiny45 Arduino IDE Arduino, Электроника, Программирование, Самоделки, Длиннопост

Микроконтроллер ATtiny45 отлично подходит для маленьких и дешевых проектов, а поддержка средой программирования Arduino IDE заметно упрощает работу с микроконтроллером.

Для поддержки ATtiny45 в Arduino IDE необходимо выполнить несколько простых операций:

  • Добавление поддержки платы

Откройте в Arduino IDE вкладку Файл > Настройки и добавьте ссылку для менеджера плат

https://raw.githubusercontent.com/damellis/attiny/ide-1.6.x-...

ATtiny45 Arduino IDE Arduino, Электроника, Программирование, Самоделки, Длиннопост

Далее перейдите во вкладку Инструменты > Плата > Менеджер плат

ATtiny45 Arduino IDE Arduino, Электроника, Программирование, Самоделки, Длиннопост

Выберите и установите пакет новых плат ATtiny45, ATtiny85, ATtiny44, ATtiny84

Далее в Инструменты > Плата выберите плату ATtiny45.

Установите параметры платы как показано на скриншоте:

ATtiny45 Arduino IDE Arduino, Электроника, Программирование, Самоделки, Длиннопост
  • Для прошивки скетча  Вам понадобится программатор USBAsp

ATtiny45 Arduino IDE Arduino, Электроника, Программирование, Самоделки, Длиннопост

Схема подключения

ATtiny45 Arduino IDE Arduino, Электроника, Программирование, Самоделки, Длиннопост

Распиновка программатора USBAsp

ATtiny45 Arduino IDE Arduino, Электроника, Программирование, Самоделки, Длиннопост
ATtiny45 Arduino IDE Arduino, Электроника, Программирование, Самоделки, Длиннопост

Для удобства использования и прошивки микроконтроллера ATtiny45 можно воспользоваться отладочной платой HW-260.

ATtiny45 Arduino IDE Arduino, Электроника, Программирование, Самоделки, Длиннопост

В настройках платы нужно выбрать поддержку Attiny45 и установить частоту  8 MHz internal, остальные параметры менять не нужно. Далее необходимо выставить нужные фьюзы для микроконтроллера, чтобы он всегда работал на выбранной Вами частоте. Для этого в настройках Arduino IDE выберите программатор USBasb и нажмите Инструменты > Записать загрузчик. Эту операцию необходимо проводить всего один и снова повторить если Вы будете менять частоту работы микроконтроллера.

Для загрузки скетча в настройках Arduino IDE выберите программатор USBasb и во вкладке Скетч нажмите на Загрузить через программатор (или просто нажать кнопку — Загрузить)

Для примера, можно загрузить простой скетч мигания светодиода, к выводу 3 (PB4) контроллера подключите светодиод через резистор 200 Ом.

void setup() {

pinMode(4, OUTPUT);

void loop() {

digitalWrite(4, HIGH);

delay(1000);

digitalWrite(4, LOW);

delay(1000);

}

После загрузки скетча, светодиод начнет мигать.

Для нормальной работы микроконтроллера необходимо подать напряжение VCC через резистор 10 кОм на вход RST микроконтроллера.

ATtiny45 Arduino IDE Arduino, Электроника, Программирование, Самоделки, Длиннопост

Примеры использования

ЧАСЫ ATTINY45+DS3231 С КНОПКАМИ КОРРЕКЦИИ ВРЕМЕНИ

ATtiny45 Arduino IDE Arduino, Электроника, Программирование, Самоделки, Длиннопост
ATtiny45 Arduino IDE Arduino, Электроника, Программирование, Самоделки, Длиннопост

ПРОСТОЕ РЕЛЕ ВРЕМЕНИ 0…99 МИН

Кнопками (+/-) можно задавать время от 1 до 99 минут, при установки времени таймера сразу же активируется реле, при обнулении таймера реле отключает нагрузку.

ATtiny45 Arduino IDE Arduino, Электроника, Программирование, Самоделки, Длиннопост
ATtiny45 Arduino IDE Arduino, Электроника, Программирование, Самоделки, Длиннопост

DHT11 ДАТЧИК ТЕМПЕРАТУРЫ И ВЛАЖНОСТИ

ATtiny45 Arduino IDE Arduino, Электроника, Программирование, Самоделки, Длиннопост

ATtiny45 Arduino IDE Arduino, Электроника, Программирование, Самоделки, Длиннопост

ATtiny45 Arduino IDE Arduino, Электроника, Программирование, Самоделки, Длиннопост

ВОЛЬТМЕТР 0…5 В

3.3V

ATtiny45 Arduino IDE Arduino, Электроника, Программирование, Самоделки, Длиннопост

1.8 V

ATtiny45 Arduino IDE Arduino, Электроника, Программирование, Самоделки, Длиннопост

ATtiny45 Arduino IDE Arduino, Электроника, Программирование, Самоделки, Длиннопост

ЧАСЫ С БОЛЬШИМИ ЦИФРАМИ И ДАТЧИКОМ ТЕМПЕРАТУРЫ ATTINY45+LCD1602_I2C+DS18B20+DS3231

ATtiny45 Arduino IDE Arduino, Электроника, Программирование, Самоделки, Длиннопост
ATtiny45 Arduino IDE Arduino, Электроника, Программирование, Самоделки, Длиннопост
ATtiny45 Arduino IDE Arduino, Электроника, Программирование, Самоделки, Длиннопост
ATtiny45 Arduino IDE Arduino, Электроника, Программирование, Самоделки, Длиннопост

Скетчи - http://rcl-radio.ru/?p=129389

Показать полностью 24

TDA7719 + LCD2004 + DS3231 + IR + ENCODER (Arduino)

Ранее в http://rcl-radio.ru/?p=62993 описывался пример использования аудиопроцессора TDA7719 под управлением Arduino Nano с дисплеем LCD1602, на этой странице будет рассмотрен аналогичный пример но с использованием дисплея LCD2004 c I2C модулем на базе микросхем PCF8574, что позволяет подключать символьный дисплей LCD2004 к плате Arduino всего по двум проводам SDA и SCL (А4 и А5).

TDA7719 + LCD2004 + DS3231 + IR + ENCODER (Arduino) Arduino, Электроника, Самоделки, Аудиотехника, Длиннопост

ИМС TDA7719 представляет собой Hi-Fi аудиопроцессор с программируемой матрицей входов, имеет 6 аудио выходов, независимый аттенюатор для каждого выхода и входа, три полосы регулировки тембра с изменяемой центральной частотой и добротностью, полосовой фильтр для сабвуферов (два выхода) с фазоинвертором, тонкомпенсация. При подачи на вход стерео сигнала аудиопроцессор после обработки преобразует его в квадро и дополнительные два канала для сабвуферов.

Аудиопроцессор имеет следующие технические характеристики:

  • Напряжение питания от 7,5 до 10 В

  • Ток потребления 35 мА

  • Сопротивление по входу 100 кОм

  • Коэффициент гармоник не более 0,01%

  • Разделение каналов 90 дБ

  • Отношение сигнал\шум 104 дБ

  • Регулировка тембра:

    • ВЧ ± 15 дБ, шаг регулировки 1 дБ, центральные частоты  10.0 12.5 15.0 17.5 кГц

    • СЧ ± 15 дБ, шаг регулировки 1 дБ, центральные частоты 500 1000 1500 и 2500 Гц, добротность  0.5 0.75 1 и 1.25

    • НЧ ± 15 дБ, шаг регулировки 1 дБ, центральные частоты 60 80 100 и 200 Гц, добротность 1.0 1.25 1.5 и 2.0

  • Тонкомпенсация:

    • Аттенюатор от -15 до 0 дБ

    • Полосы частот — FLAT (линейная) 400 800 и 2400 Гц

  • Сабвуфер:

    • Два канала (R и L)

    • Частоты полосового фильтра — FLAT 80 120 и 160 Гц

    • Фазовый сдвиг дискретно от 0 до 180 °

  • Регулировка громкости от -63 до 0 дБ

  • Раздельная регулировка каждого выхода от -16 до 0 дБ

  • Раздельная регулировка входов от -15 до + 15 дБ

  • Кол-во стерео входов 6 (программно может быть изменена)

  • Выходы:

    • ПК фронт

    • ЛК фронт

    • ПК тыл

    • ЛК тыл

    • ПК сабвуфера

    • ЛК сабвуфера

Ниже показан пример использования TDA7719 совместно с Arduino Nano. Управление аудиопроцессором происходит при помощи энкодера KY-040 и четырех кнопок, информация выводится на LCD дисплея LCD2004_I2C.

TDA7719 + LCD2004 + DS3231 + IR + ENCODER (Arduino) Arduino, Электроника, Самоделки, Аудиотехника, Длиннопост

Управление аудиопроцессором разбито на три меню:

  • Меню 1

    • Регулировка громкости от -63 до 0 дБ с индикатором активного входа

    • Регулировка BASS (НЧ) от -15 до 15 дБ

    • Регулировка MIDDLE (СЧ) от -15 до 15 дБ

    • Регулировка TREBLE (ВЧ) от -15 до 15 дБ

  • Меню 2

    • Аттенюатор выхода ЛК тыл от -16 до 0 дБ

    • Аттенюатор выхода ПК тыл от -16 до 0 дБ

    • Аттенюатор выхода ЛК фронт от -16 до 0 дБ

    • Аттенюатор выхода ПК фронт от -16 до 0 дБ

    • Аттенюатор выхода сабвуфера ПК от -16 до 0 дБ

    • Аттенюатор выхода сабвуфера ЛК от -16 до 0 дБ

    • Тонкомпенсация (loudness) аттенюатор от -15 до 0 дБ

    • Полоса частот — FLAT (линейная), 400, 800 и 2400 Гц

  • Меню 3

    • Выбор центральной частоты для BASS 60, 80, 100 и 200 Гц

    • Выбор центральной частоты для MIDDLE 500 ,1000, 1500 и 2500 Гц

    • Выбор центральной частоты для TREBLE 10.0 ,12.5, 15.0 и 17.5 кГц

    • Выбор центральной частоты для сабвуфера FLAT (линейная), 80, 120 и 160 Гц

    • Добротность для BASS 1.0, 1.25, 1.5 и 2.0

    • Добротность для MIDDLE 0.5, 0.75, 1 и 1.25

  • Дополнительные опции

    • Программно активно 3 входа которые имеют независимые предусилители в диапазоне от -15 до 15 дБ, активный вход отображается в меню 1 в строке регулировки громкости

    • Режим MUTE

    • Режим STANDBY

      • Изменение яркости подсветки экрана, уровень яркости изменяется в скетче

      • Часы в режиме POWER OFF

      • Коррекция времени часов

    • Управление всеми параметра (кроме коррекции времени часов) продублированы ИК пультом

Меню 1

TDA7719 + LCD2004 + DS3231 + IR + ENCODER (Arduino) Arduino, Электроника, Самоделки, Аудиотехника, Длиннопост

Меню 2

TDA7719 + LCD2004 + DS3231 + IR + ENCODER (Arduino) Arduino, Электроника, Самоделки, Аудиотехника, Длиннопост

Меню 3

TDA7719 + LCD2004 + DS3231 + IR + ENCODER (Arduino) Arduino, Электроника, Самоделки, Аудиотехника, Длиннопост

Mute

TDA7719 + LCD2004 + DS3231 + IR + ENCODER (Arduino) Arduino, Электроника, Самоделки, Аудиотехника, Длиннопост

Standby

TDA7719 + LCD2004 + DS3231 + IR + ENCODER (Arduino) Arduino, Электроника, Самоделки, Аудиотехника, Длиннопост

Меню выбора входа

TDA7719 + LCD2004 + DS3231 + IR + ENCODER (Arduino) Arduino, Электроника, Самоделки, Аудиотехника, Длиннопост

Так как предусмотрена управляемая яркость подсветки дисплея, то можно установить яркость подсветки в основном  режиме и в режиме STANDBY (как правило с пониженной яркостью подсветки), регулировка яркости подсветки осуществляется через скетч:

#define BRIG_H 200 // Яркость 0…255 POWER ON
#define BRIG_L 50 // Яркость 0…255 POWER OFF

TDA7719 + LCD2004 + DS3231 + IR + ENCODER (Arduino) Arduino, Электроника, Самоделки, Аудиотехника, Длиннопост

Подсветка — убрать перемычку с модуля I2C PCF8574 и подключить вывод модуля к цифровому выходу Arduino D6. Перед подключением замерить ток подсветки который не должен превышать 20 мА (у моего модуля ток не более 15 мА, замер производить между контактами перемычки).

Максимальный выходной ток одного выхода Arduino Nano не должен превышать 40 мА.

В проекте используются часы реального времени DS3231, текущее время выводится в режиме STANDBY.

Установить текущее время можно двумя способами:

  • Установки времени через скетч:

Раскомментируйте строку:

clock.setDateTime(__DATE__, __TIME__); // Устанавливаем время на часах, основываясь на времени компиляции скетча

загрузите скетч, далее закомментируйте строку:

// clock.setDateTime(__DATE__, __TIME__); // Устанавливаем время на часах, основываясь на времени компиляции скетча

повторно загрузите скетч.

  • Установка времени кнопками:

Перейдите в режим STANDBY, нажать и удерживать кнопку энкодера, нажимать кнопки:
SET — обнуление секунд
IN — коррекция минут
MUTE — коррекция часов

ИК пульт дублирует работу энкодера и кнопок. Для управления регулятором подойдет практически любой пульт ИК, для поддержки Вашего пульта необходимо прописать коды кнопок в скетч:

#define IR_1 0x33B8A05F // Кнопка вверх

#define IR_2 0x33B8609F // Кнопка вниз

#define IR_3 0x33B810EF // Кнопка >

#define IR_4 0x33B8E01F // Кнопка <

#define IR_5 0x33B850AF // Кнопка IN

#define IR_6 0x33B844BB // Кнопка SET

#define IR_7 0x33B8946B // Кнопка MUTE

#define IR_8 0x33B800FF // Кнопка STANDBY (POWER)

Для получения кодов кнопок Вашего пульта загрузите скетч и откройте монитор порта, при нажатии кнопки пульта его код будет отображен в мониторе порта.

TDA7719 + LCD2004 + DS3231 + IR + ENCODER (Arduino) Arduino, Электроника, Самоделки, Аудиотехника, Длиннопост

В проекте предусмотрен выход STANDBY для управления режим STANDBY усилителя мощности, а так же режим MUTE. Все параметры сохраняются в энергонезависимую память, сохранение происходит после 10 секунд не активности органов управления.

TDA7719 + LCD2004 + DS3231 + IR + ENCODER (Arduino) Arduino, Электроника, Самоделки, Аудиотехника, Длиннопост
TDA7719 + LCD2004 + DS3231 + IR + ENCODER (Arduino) Arduino, Электроника, Самоделки, Аудиотехника, Длиннопост

Скетч - http://rcl-radio.ru/?p=129453

Показать полностью 11

Как это устроено: современное производство по приготовлению безалкогольного пива

От маленького зернышка до мягкой пены в бокале — рассказываем, как мы готовим безалкогольное пиво!

Как это устроено: современное производство по приготовлению безалкогольного пива Напитки, Как это сделано, Пиво, Балтика пиво, Производство, Российское производство, Завод, Видео, YouTube, Длиннопост, Изготовление, Блоги компаний

Вот так выглядят здоровые колосья, из которых мы получаем зерна для безалкогольного пива

Этап 1. Подготовительный

Мы начинаем с отбора семян

Из них вырастет ячмень. Из ячменя будет сделан солод, из которого мы приготовим безалкогольное пиво. Чтобы получить большой хороший урожай, важно выбрать правильные сорта. Наши сорта «Грэйс», «Гузель», «Евгения» и «Фатима» устойчивы к болезням, вредителям и внезапным майским похолоданиям :) Из таких семян вырастут крупные колосья с большим количеством зерен.

И выбираем место для посевов

Ячмень — это не петербуржец! Ему важно солнце и чтобы температура была выше 10 градусов минимум 150 дней в году. Такие условия есть в 17 регионах России, включая Тульскую, Рязанскую, Липецкую и Воронежскую область, а также Приморский край. Для своих полей мы выбираем земли, которые богаты черноземом — самой плодородной почвой.

Также почву нужно подготовить

В лаборатории мы тестируем почву на уровень кислотности и других показателей, которые влияют на растения. Это помогает подобрать правильные экологичные удобрения, которые ускоряют рост зерна и повышают урожайность. После этого можно переходить к посеву.

Этап 2. Выращивание и сбор урожая

Контроль на каждом этапе роста

Как это устроено: современное производство по приготовлению безалкогольного пива Напитки, Как это сделано, Пиво, Балтика пиво, Производство, Российское производство, Завод, Видео, YouTube, Длиннопост, Изготовление, Блоги компаний

Спутниковые снимки ячменных полей «Балтики»

Разве может человек уследить за полями в несколько тысяч гектаров? Может, если на помощь ему приходят современные технологии! Мы наблюдаем за ростом ячменя со спутника: каждую неделю наши сотрудники получают фотоотчет, на котором виден прогресс.

Как это устроено: современное производство по приготовлению безалкогольного пива Напитки, Как это сделано, Пиво, Балтика пиво, Производство, Российское производство, Завод, Видео, YouTube, Длиннопост, Изготовление, Блоги компаний

А вот так выглядит созревший урожай — можно собирать!

Сбор и хранение

Урожай собирают с помощью уборочных комбайнов и отправляют на хранение в элеваторы. Это здания с подходящей температурой и влажностью, чтобы зерно в них не испортилось. В одном таком элеваторе помещается до 10 000 тонн зерна!

Как это устроено: современное производство по приготовлению безалкогольного пива Напитки, Как это сделано, Пиво, Балтика пиво, Производство, Российское производство, Завод, Видео, YouTube, Длиннопост, Изготовление, Блоги компаний

Элеватор для хранения изнутри, на фото сотрудница открывает специальный люк для проветривания

Этап 3. Соложение

Это когда зерно превращается в солод. Из элеваторов ячмень поступает на солодовню. Здесь он проходит контроль качества, очистку. Далее зерна замачивают в воде в течение нескольких циклов. Затем ячмень проращивают в специальных ящиках — обычно на это уходит от пяти дней. Из этих ростков вполне может развиться новое растение. Но это не наша цель! Поэтому отправляем пророщенный ячмень на сушку, а если нам нужно получить карамельный солод, то на обжарку. Теперь — это солод!

Как это устроено: современное производство по приготовлению безалкогольного пива Напитки, Как это сделано, Пиво, Балтика пиво, Производство, Российское производство, Завод, Видео, YouTube, Длиннопост, Изготовление, Блоги компаний

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

Этап 4. Варка

Готовый солод отправляется в варочный цех. Здесь его измельчают, смешивают с водой, нагревают, фильтруют и кипятят. На этапе кипячения в получившуюся смесь добавляют хмель для вкуса и аромата.

Как это устроено: современное производство по приготовлению безалкогольного пива Напитки, Как это сделано, Пиво, Балтика пиво, Производство, Российское производство, Завод, Видео, YouTube, Длиннопост, Изготовление, Блоги компаний

Добро пожаловать в варочный цех!

Для приготовления безалкогольного пива часто используют два вида хмеля: горький и ароматический. Их добавляют в начале и в конце кипячения соответственно.

Этап 5. Брожение

Думаете, что после варки безалкогольное пиво уже готово? А вот и нет! Далее оно отправляется в бродильный цех, в котором расположены цилиндро-конические танки из нержавеющей стали. Там в будущий напиток добавляют дрожжи. Процесс брожения б/а пива занимает от 7 до 14 дней в зависимости от вида дрожжей. Но получившийся продукт — это еще не безалкогольное пиво. Перед тем, как попасть в бутылку, напиток должен созреть.

Как это устроено: современное производство по приготовлению безалкогольного пива Напитки, Как это сделано, Пиво, Балтика пиво, Производство, Российское производство, Завод, Видео, YouTube, Длиннопост, Изготовление, Блоги компаний

Вот так выглядят бродильные танки

Этап 6. Созревание

Этап особого творчества для пивоваров, когда будущее безалкогольное пиво приобретает свой окончательный вкус и аромат. На этом этапе за счет использования специальных дрожжей мы получаем безалкогольное пиво, в котором присутствует менее 0,5% спирта.

Как это устроено: современное производство по приготовлению безалкогольного пива Напитки, Как это сделано, Пиво, Балтика пиво, Производство, Российское производство, Завод, Видео, YouTube, Длиннопост, Изготовление, Блоги компаний

Этап 7. Фильтрация

Как только безалкогольное пиво созрело, приступаем к фильтрации. Это многоуровневый процесс. Сначала напиток попадает в сепаратор, где отделяются крупные взвеси и дрожжи. Далее проходит через кизельгур — фильтрующий материал, который помогает хорошо отделить оставшиеся дрожжи и белковую взвесь. Последний стадия — тонкая фильтрация. В результате фильтрации пиво осветляется, становится прозрачным. По окончании фильтрации  безалкогольное пиво поступает в специальные накопительные емкости — форфасы. Здесь оно ожидает своей очереди поступления на линию розлива.

Как это устроено: современное производство по приготовлению безалкогольного пива Напитки, Как это сделано, Пиво, Балтика пиво, Производство, Российское производство, Завод, Видео, YouTube, Длиннопост, Изготовление, Блоги компаний

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

Этап 8. Розлив

Напиток готов! Теперь его можно разливать по упаковкам. Но, перед тем как разлить, в зависимости от сорта, следует процесс пастеризации. Это кратковременный нагрев, который замедляет жизнедеятельность микроорганизмов, чтобы увеличить срок годности напитка.

Для розлива мы используем стеклянные бутылки, алюминиевые банки и кеги для ресторанов. А еще сами производим ПЭТ бутылки из компактных заготовок. Упаковка перед розливом проверяется специальным оборудованием — инспекторами. Брак не пройдет!

Как это устроено: современное производство по приготовлению безалкогольного пива Напитки, Как это сделано, Пиво, Балтика пиво, Производство, Российское производство, Завод, Видео, YouTube, Длиннопост, Изготовление, Блоги компаний

Выбор упаковки не влияет на вкус напитка: один сорт может разливаться по  бутылкам и банкам


Теперь вы знаете больше о пивоварении! Ищите безалкогольную «Балтику» в любимых магазинах и на маркетплейсах.

Реклама ООО «Пивоваренная компания «Балтика»» 18+, ИНН: 7802849641

Показать полностью 9 1

ATtiny45 + TEA5767 + TM1637 (FM radio)

ATtiny45 + TEA5767 + TM1637 (FM radio) Arduino, Электроника, Самоделки, Длиннопост

TEA5767 производимая компанией NXP применяется для конструирования низковольтных FM-радио тюнеров. В составеTEA5767 имеются внутренние цепи выделения промежуточной частоты и демодуляции принимаемого сигнала, что позволяет обходиться минимальным набором внешних компонентов.

Технические параметры TEA5767:

  • Напряжение питания от 2,5 до  5 В

  • Потребляемый ток при Uпит = 5 В 12,8 мА

  • Чувствительность 2 мкВ

  • Отношение сигнал/шум  54 дБ

  • Разделение между стереоканалами 24 дБ

  • Коэффициент гармоник 0,4 %

  • Диапазон принимаемых частот от 76 МГц до 108 МГц

  • Шины управления: I2C или 3-х проводная

Используя радио модуль, индикатор и микроконтроллер ATtiny45 можно собрать простое FM-радио.

ATtiny45 + TEA5767 + TM1637 (FM radio) Arduino, Электроника, Самоделки, Длиннопост

Радио приемник управляется всего одной кнопкой, которая позволяет по кругу переключать заранее записанные каналы. Частота канала выводится на индикаторный модуль TM1637. К выходу модуля радиоприемника необходимо подключить любой маломощный усилитель, например можно использовать модуль усилителя PAM8403 с регулятором громкости.

ATtiny45 + TEA5767 + TM1637 (FM radio) Arduino, Электроника, Самоделки, Длиннопост

Последний выбранный канал сохраняется в энергонезависимой памяти.

Перед прошивкой микроконтроллера рекомендую ознакомится со статьей — http://rcl-radio.ru/?p=129389 (общие сведения о микроконтроллере ATtiny45, прошивка при помощи Arduino IDE).

Перед загрузкой скетча необходимо записать в него выбранные для радио каналы:

float ch[]={104.4, 101.9, 102.5, 88.0, 101.5, 105.0, 103.9, 105.7};

и указать кол-во выбранных каналов:

#define CH 8

ATtiny45 + TEA5767 + TM1637 (FM radio) Arduino, Электроника, Самоделки, Длиннопост

Усилитель PAM8403

ATtiny45 + TEA5767 + TM1637 (FM radio) Arduino, Электроника, Самоделки, Длиннопост

Скетч - http://rcl-radio.ru/?p=129530

Показать полностью 4
Отличная работа, все прочитано!