Адирондак. Сделай сам
Давно мечтал сделать. Возился долго, но получилось по-моему неплохо. Адирондак. Действительно очень удобное кресло. Думаю сделать пару и организовать зону отдыха. Если кому интересно можете поспрашать. Помогу чем могу.
Давно мечтал сделать. Возился долго, но получилось по-моему неплохо. Адирондак. Действительно очень удобное кресло. Думаю сделать пару и организовать зону отдыха. Если кому интересно можете поспрашать. Помогу чем могу.
Детали напечатаны на 3D-принтере, а дизайн, видимо, взят от C-3PO из «Звездных войн»
Источник : Первый научный
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)
Ниже показан тестовый скетч который содержит пример вывода текста и цифр. В тестовом скетче используется библиотека U8glib которая доступна для установки через менеджер библиотек Arduino IDE , библиотека так же содержит большое количество примеров.
#include <Wire.h>
#include <U8glib.h> // https://github.com/olikraus/u8glib/
U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_DEV_0|U8G_I2C_OPT_FAST);
int i;
char s[6];
void setup() {
Wire.begin();
// u8g.setRot180();
}
void loop(void) {
u8g.firstPage();
do {
u8g.setFont(u8g_font_profont15r);
u8g.drawStr( 0, 12, "OLED 1.3 128x64");
u8g.setFont(u8g_font_profont11r);
u8g.drawStr( 0, 25, "SH1106 U8glib");
u8g.drawStr( 0, 37, "RCL-RADIO.RU");
u8g.setFont(u8g_font_profont22r);
u8g.drawLine(0, 45, 128, 45);
u8g.setPrintPos(0, 64);
u8g.print(-3.14);
// u8g.print(2023);
}
while( u8g.nextPage() );
delay(500);
}
Взять с собой побольше вкусняшек, запасное колесо и знак аварийной остановки. А что сделать еще — посмотрите в нашем чек-листе. Бонусом — маршруты для отдыха, которые можно проехать даже в плохую погоду.
S/PDIF (Sony/Philips Digital Interface) – распространенный и стандартизированный интерфейс, предназначенный для передачи цифрового звука между доступными компонентами, звуковыми картами, ресиверами и аудиоаппаратурой.
I2S — стандарт интерфейса электрической последовательной шины, использующийся для соединения цифровых аудиоустройств. Применяется для передачи PCM-аудиоданных между интегральными схемами в электронном устройстве. Шина I2S передает по разным линиям сигналы синхронизации и сигналы данных, что приводит к снижению фазового дрожания, типичного для систем связи, восстанавливающих сигналы синхронизации из целого потока.
NTP3000(А) — полнофункциональный цифровой аудио усилитель (класса D), включающий силовой каскад для
системы стерео усилителей. В NTP3000(А) интегрирована система цифровой обработки аудиосигнала (ЦАП), высокоточный цифровой ШИМ-модулятор и два мощных полномостовых каскада питания МОП-транзисторов.
NTP3000(А) поддерживает формат передачи цифровых данных I2S (I²S — стандарт интерфейса электрической последовательной шины, использующийся для соединения цифровых аудиоустройств) с частотой дискретизации от 8 кГц до 192 кГц, с разрешением до 24 бит.
Усилитель выдает 2 x 30 Вт, оснащен цифровым регулятором громкости, баланса, имеет 7-и полосный эквалайзер, так же доступны функции MUTE и STANDBY.
Структурная схема усилителя
Параметры ресивера CS8416:
Напряжение питания:
+3.3 V Analog Supply (VA)
+3.3 V Digital Supply (VD)
+3.3 V or +5.0 V Digital Interface Supply (VL)
Входной формат данных: S/PDIF
Выходной формат данных:
Left-Justified
Right-Justified
I2S (аппаратно настроен)
Разрядность 16 — 24 бит (аппаратно настроен на 24 бит)
Частота дискредитации 32 — 192 кГц (аппаратно настроен на 192 кГц)
Фильтр De-emphasis:
No De-emphasis (аппаратно настроен)
32 kHz
48 kHz
44.1 kHz
Кол-во входов: 8 (аппаратно поддерживает 4)
Основные параметры усилителя NTP3000(A):
Напряжение питания основной логики 1,8 В
Напряжение питания аналоговое 1,8 В
Напряжение питания цифровое 1,8 В
Напряжение питания для каскадов ввода/вывода 3,3 В
Напряжение питания для силового каскада 7… 30 В (6 А)
Выходная мощность для выхода 2.0 2х30 Вт
Выходная мощность для выхода 2.1 1х30 Вт + 2х15 Вт
Входной сигнал I2S 24 бит 192 кГц
7 полосный эквалайзер
Динамический диапазон 100 дБ
Частота дискретизации от 8 до 192 кГц
Коэффициент гармоник (THD+N / 1W, 1kHz) 0,01%
Управление цифровое I2C
Ресивер CS8416 имеет цифровой интерфейс управления, но может быть сконфигурирован аппаратно. В данном примере ресивер сконфигурирован аппаратно и имеет выходной формат I2S 24 бит с частотой дискредитации 192 кГц. При аппаратной настройке в ресивере доступно 4 входа S/PDIF (8 входов при программном управлении).
Коммутация входами осуществляется при помощи пинов RSEL1 и RSEL0 микросхемы ресивера , при этом лог. 1 подается с питания VL (+5 В), а логический ноль с DGND.
Ресивер работает независимо от Arduino, в схеме присутствует индикатор режима работы светодиод D1, при подключении коаксиального кабеля с источником цифрового сигнала светодиод гаснет, при отключении кабеля загорается.
Усилитель NTP3000(А) имеет цифровое управление I2C, может определятся по двум I2C адресам. Для выбора адреса необходимо на вход AD микросхемы подать лог 0 или 1.
Интерфейс последовательной шины I2S в данной схеме состоит из трех сигналов — BCK, WCK, SDATA.
WCK — выбор ПК / ЛК
BCK — синхроимпульсы
SDATA — данные
Схема ресивера
Схема усилителя
Схема управления
Схема источника питания
Для каждого источника питания рекомендуется использовать отдельный стабилизатор, например усилитель имеет три источника питания 1,8 В, для каждого необходим отдельный стабилизатор.
Для управления работой усилителя и ресивера используется плата Arduino Nano, три кнопки и энкодер (модуль KY-040), так же управление полностью продублировано ИК пультом, информация о текущих настройка отображается на дисплее LCD1602 с платой I2C.
На дисплей выводится три меню, переключение меню осуществляется при помощи кнопки энкодера.
Меню индикаторов громкости (от 0 до 92) и коммутатора входов
Регулировка громкости осуществляется при помощи энкодера.
Меню эквалайзера, регулировка уровня усиления или ослабления выбранной полосы осуществляется при помощи энкодера, выбор полосы происходит при нажатии на кнопку INPUT/EQ_F. Меню эквалайзера содержит графический индикатор регулировки полос.
Меню регулировки баланса
Режим MUTE
Режим STANDBY
Так как предусмотрена управляемая яркость подсветки дисплея, то можно установить яркость подсветки в основном режиме и в режиме STANDBY (как правило с пониженной яркостью подсветки), регулировка яркости подсветки осуществляется через скетч:
#define BRIG_H 200 // Яркость 0…255 POWER ON
#define BRIG_L 50 // Яркость 0…255 POWER OFF
Подсветка — убрать перемычку с модуля I2C PCF8574 и подключить вывод модуля к цифровому выходу Arduino D6. Перед подключением замерить ток подсветки который не должен превышать 20 мА (у моего модуля ток не более 15 мА, замер производить между контактами перемычки).
ИК пульт дублирует работу энкодера и кнопок. Для управления усилителем подойдет практически любой пульт ИК, для поддержки Вашего пульта необходимо прописать коды кнопок в скетч:
#define IR_1 0x2FDD02F // Кнопка вверх
#define IR_2 0x2FD32CD // Кнопка вниз
#define IR_3 0x2FD906F // Кнопка >
#define IR_4 0x2FDF20D // Кнопка <
#define IR_5 0x2FD6A95 // Кнопка IN
#define IR_6 0x2FDEA15 // Кнопка MUTE
#define IR_7 0x2FD00FF // Кнопка STANDBY (POWER)
Для получения кодов кнопок Вашего пульта загрузите скетч и откройте монитор порта, при нажатии кнопки пульта его код будет отображен в мониторе порта.
Усилитель в настройке не нуждается, помимо занесения в скетч кодов кнопок пульта и параметров подсветки дисплея можно подкорректировать в скетче общее усиление усилителя:
#define GAIN 80 // 10 — 126 КОЭФФИЦИЕНТ УСИЛЕНИЯ УСИЛИТЕЛЯ
Скетч - http://rcl-radio.ru/?p=130078