Тема: 7318
Здравствуйте! парни подскажите где косяк.Произвольно идет переключение с громкости на басс на вч и так по кругу.
https://cloud.mail.ru/public/rzGc/WEZZzWpPL
Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Здравствуйте! парни подскажите где косяк.Произвольно идет переключение с громкости на басс на вч и так по кругу.
https://cloud.mail.ru/public/rzGc/WEZZzWpPL
У Вас кнопка энкодера постоянно переключает меню, проверьте наличие 3-х подтягивающих резисторов по 10кОм на платке энкодера.
Спасибо.Я что подключаю энкодер, что его отключаю. тоже самое.В данный момент не чего не подключено на атмегу не энкодер не ифк,не плата 7318.идет моргание.Пробовал подключять все в сборе тоже самое.А так большое спасибо за ваши труды
И еще, имеется индикатор M202MD15A он 20-2 что нужно изменить в скейче 16х02 на 20х2.будут ли отображатся последние строчки.Спасибо. https://cloud.mail.ru/public/uYiy/dCojkdqYE
Без энкодера будет переключаться меню, для проверки на пин ардуино куда подключен выход sw энкодера через резистор 4,7к подайте +5В, переключение должно прекратится.
Спасибо разобрался.Плохой контакт на энкодере 10к сопротивления.(слепой уже 7-десяток)Хотелось бы запустить M202MD15A нехватает тямы не горят последние 4- сигмента
Опубликуйте скетч который Вы используете.
Скетч Ваш,меняю 16х2 на 20х2 (lcd.begin(16, 2);) у них как я понял распиновка одинаковая
Да, распиновка одинаковая
lcd.begin(20, 2);
20,2 прописываю все равно не горят 4-строки на анализаторе(рис выше там видно что в конце не горят 4-строки) А так все работает вся инфо показывает.Где копать не знаю
заменить
byte posOffset[16] = {2,3,4,6,8,9,11,13,15,17,19,21,23,25,27,29};// средний спектр
на
byte posOffset[20] = {2,3,4,6,8,9,11,13,15,17,19,21,23,25,27,29, 32,34,37,40};// средний спектр
заменить
/////// SPECTR /////////////////////////////////////////////////////////
if(spek==1){
analyzeAudio();
for (int pos = 0; pos < 16; pos++) {
if (fht_log_out[posOffset[pos]] > maxValue) maxValue = fht_log_out[posOffset[pos]];
lcd.setCursor(pos, 0);
int posLevel = map(fht_log_out[posOffset[pos]], LOW_PASS, gain_sp*0.9, 0, 15);posLevel = constrain(posLevel, 0, 15);
urr[pos] = posLevel;
if(urr[pos]<ur[pos]){ur[pos]=ur[pos]-1;}
else{ur[pos] = posLevel;}
if (ur[pos] > 7){lcd.write((uint8_t)ur[pos] - 8);lcd.setCursor(pos, 1);lcd.write((uint8_t)7);}
else {lcd.print(" ");lcd.setCursor(pos, 1);lcd.write((uint8_t)ur[pos]);}
}
if (AUTO_GAIN) {
if (millis() - gainTimer > 10) {
maxValue_f = maxValue * k + maxValue_f * (1 - k);
if(maxValue_f > LOW_PASS) gain_sp = maxValue_f;else gain_sp = DEF_GAIN;gainTimer = millis();}}
}/// end spec
на
/////// SPECTR /////////////////////////////////////////////////////////
if(spek==1){
analyzeAudio();
for (int pos = 0; pos < 20; pos++) {
if (fht_log_out[posOffset[pos]] > maxValue) maxValue = fht_log_out[posOffset[pos]];
lcd.setCursor(pos, 0);
int posLevel = map(fht_log_out[posOffset[pos]], LOW_PASS, gain_sp*0.9, 0, 19);posLevel = constrain(posLevel, 0, 19);
urr[pos] = posLevel;
if(urr[pos]<ur[pos]){ur[pos]=ur[pos]-1;}
else{ur[pos] = posLevel;}
if (ur[pos] > 7){lcd.write((uint8_t)ur[pos] - 8);lcd.setCursor(pos, 1);lcd.write((uint8_t)7);}
else {lcd.print(" ");lcd.setCursor(pos, 1);lcd.write((uint8_t)ur[pos]);}
}
if (AUTO_GAIN) {
if (millis() - gainTimer > 10) {
maxValue_f = maxValue * k + maxValue_f * (1 - k);
if(maxValue_f > LOW_PASS) gain_sp = maxValue_f;else gain_sp = DEF_GAIN;gainTimer = millis();}}
}/// end spec
analyzeAudio();
for (int pos = 0; pos < 20; pos++) {
Если прописываю в анализаторе с 16 на 20 то получается что просто загорелись 4-строчки последние на максимуме.
Изменил-скеч выше ваш,последние 4 строки не реагируют горят уже не на полную чуть выше середины.Может проблема в библиотеке У вас она идет стандартная lsd1602
Дай бог тебе здоровья.Не внимательность, пропустил средний спектр прописал все заработало.Как я понял что если стоит такой знак // значить функция не активна.Я имею в виду широкий,узкий спектр.СПАСИБО большое что помог.
Еще вопрос про Анализатор.Если прогонять его генератором то нет явно выделение частот.Что можно добавить и где копать.Ваш анализатор применен по Фурье.Пробовал А0 привязывать через 10к к 3.3 вольтам,к REW 10к-не получается.
И где изменить на бассе, высоких, чтобы позиция менялась не через 2-строчки а через одну.Т.е. у вас 2-4-6 ит.д.А нужно 1.2.3.4.
Увеличьте частоту опроса аналогового входа
ADCSRA = 0b11010110;
замените на
ADCSRA = 0b11010011;
Здравствуйте.Я уже вам надоел наверное.Но охота добить проект до конца. Проблемы с анализатором спектра,самопроизвольное дерганье происходит.Помех нет, питание отличное,осцилограмма на входе ардуино тоже без помех.
https://cloud.mail.ru/public/Gx9f/VVULZxCCd
Вы подаете синус?
Да
Верните параметр
ADCSRA = 0b11010110;
как было, посмотрите результат.
Менял, пробовал днем также.И делал запись генератора и подовал на вход мр-3 произвольные скачки.
У Вас ранее все более менее работало, Вы что то поменяли?
Нет,нечего не менял-даже пробовал на 16х2 тоже самое.-ардуину менял не помогло
Блин и нет не кого кто бы повторил посмотреть что у него.Попробую на уно может ардуинки гонят
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Форум работает на PunBB, при поддержке Informer Technologies, Inc
|