Добавлена схема и пплата опторазвязок. И код для работы с ней.
This commit is contained in:
@@ -15,6 +15,14 @@
|
||||
#define RELAY_OUT_BT_RIGHT 9
|
||||
#define RELAY_OUT_MP3_LEFT 11
|
||||
#define RELAY_OUT_MP3_RIGHT 12
|
||||
// Индикаторы включения (подключения) входов
|
||||
#define OPTOCOUPLE_USB 13
|
||||
#define OPTOCOUPLE_COAX 14
|
||||
#define OPTOCOUPLE_BT 15
|
||||
// Входы звукового сигнала для анализатора спектра
|
||||
#define AUDIO_IN_L 0
|
||||
#define AUDIO_IN_R 1
|
||||
|
||||
|
||||
// Кнопки
|
||||
#define BTN_MENU 2 // Кнопка меню
|
||||
@@ -37,13 +45,6 @@
|
||||
byte posOffset[16] = {2, 3, 4, 6, 8, 10, 12, 14, 16, 20, 25, 30, 35, 60, 80, 100};
|
||||
// ---------------- НАСТРОЙКИ ----------------
|
||||
|
||||
// ---------------------- ПИНЫ ----------------------
|
||||
#define AUDIO_IN_L 0 // пин, куда подключен звук
|
||||
#define AUDIO_IN_R 1 // пин, куда подключен звук
|
||||
#define POT_PIN 7 // пин потенциометра настройки
|
||||
// ---------------------- ПИНЫ ----------------------
|
||||
|
||||
|
||||
// --------------- БИБЛИОТЕКИ ---------------
|
||||
#define LOG_OUT 1
|
||||
#include <FHT.h> // преобразование Хартли
|
||||
@@ -106,6 +107,12 @@ void setup() {
|
||||
pinMode(RELAY_OUT_BT_RIGHT, OUTPUT);
|
||||
pinMode(RELAY_OUT_MP3_LEFT, OUTPUT);
|
||||
pinMode(RELAY_OUT_MP3_RIGHT, OUTPUT);
|
||||
|
||||
// Входы индикаторов с USB ЦАП
|
||||
pinMode(OPTOCOUPLE_USB, INPUT_PULLUP);
|
||||
pinMode(OPTOCOUPLE_COAX, INPUT_PULLUP);
|
||||
// Вход индикатора с BlueTooth адаптера
|
||||
pinMode(OPTOCOUPLE_BT, INPUT_PULLUP);
|
||||
|
||||
// lcdVuMeter.createChar(5,znak_l);
|
||||
// lcdVuMeter.begin(16, 2);// lcdVuMeter 16X2
|
||||
@@ -181,9 +188,23 @@ void lcdChars() {
|
||||
lcdVuMeter.createChar(7, v8);
|
||||
}
|
||||
|
||||
|
||||
// Получаем тип подключенного входа к USB ЦАПу
|
||||
String setUSBinput() {
|
||||
return "Input: USB";
|
||||
if (!digitalRead(OPTOCOUPLE_USB) && usb) {
|
||||
return "Input: USB";
|
||||
} else if (!digitalRead(OPTOCOUPLE_COAX) && usb) {
|
||||
return "Input: Coax";
|
||||
} else {
|
||||
return "Input: None";
|
||||
}
|
||||
}
|
||||
// Получаем статус подключения устройства к bluetooth
|
||||
String setBTstatus() {
|
||||
if (!digitalRead(OPTOCOUPLE_BT) && bluetooth) {
|
||||
return "Connected";
|
||||
} else {
|
||||
return "Connecting..";
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -315,12 +336,13 @@ void loop() {
|
||||
if(!menuShow){
|
||||
if(usb){
|
||||
lcdService.print("USB DAC");
|
||||
lcdService.setCursor(0,1);
|
||||
lcdService.print(setUSBinput());
|
||||
// actionUSB();
|
||||
}
|
||||
if(bluetooth){
|
||||
lcdService.print("Bluetooth");
|
||||
lcdService.setCursor(0,1);
|
||||
lcdService.print(setBTstatus());
|
||||
// actionBT();
|
||||
}
|
||||
if(mp3){
|
||||
@@ -344,23 +366,8 @@ void loop() {
|
||||
delay(100);
|
||||
while (!digitalRead(BTN_EXECUTE));
|
||||
}
|
||||
// Тут будет код обработки данных от USB DAC для индикации режима его работы
|
||||
// if (digitalRead(8) && usb) {
|
||||
// lcdService.setCursor(0,1);
|
||||
// lcdService.print("Coaxial");
|
||||
// } else if (digitalRead(9) && usb) {
|
||||
// lcdService.setCursor(0,1);
|
||||
// lcdService.print("Optical");
|
||||
// } else if (digitalRead(10) && usb) {
|
||||
// lcdService.setCursor(0,1);
|
||||
// lcdService.print("Audio ");
|
||||
// } else {
|
||||
// lcdService.setCursor(0,1);
|
||||
// lcdService.print(" ");
|
||||
// }
|
||||
// lcdService.setCursor(11,1);
|
||||
// lcdService.print(digitalRead(8), digitalRead(9));
|
||||
if (GAIN_CONTROL) gain = map(analogRead(POT_PIN), 0, 1023, 0, 150);
|
||||
|
||||
// if (GAIN_CONTROL) gain = map(analogRead(POT_PIN), 0, 1023, 0, 150);
|
||||
|
||||
analyzeAudio(); // функция FHT, забивает массив fht_log_out[] величинами по спектру
|
||||
|
||||
|
Reference in New Issue
Block a user