Re: Тестовый запуск PT2322 PT2323
Так же Вы можете размещать статьи на сайте rcl-radio.ru и делать ссылки на форум к теме Вашей статьи.
Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.
forum.rcl-radio.ru → Проблемы с загрузками скетча → Тестовый запуск PT2322 PT2323
Так же Вы можете размещать статьи на сайте rcl-radio.ru и делать ссылки на форум к теме Вашей статьи.
Здравствуйте! Столкнулся с проблемкой при сборке устройства, работает скетч только при запитке ардуино от ПК, при подключении через адаптеры для питания ( разные пробовал, от 5 до 9в) просто виснет как будто... на кнопки не реагирует, добавил управление диодом в скетч, виснет после любого нажатия на кнопку, с PTшками связь не устанавливается(не меняют алгоритм работы), только при питании ардуино от ПК.. ну или при отключении SDA SCL, начинает откликаться...
сижу вспоминаю, вроде в первые дни теста также было....
#include <Wire.h>
#include <EEPROM.h>
#include <PT2323.h>
#include <PT2322.h>
PT2323 pt0;
PT2322 pt1;
int vol,in,power,mute,w;
unsigned long times;
void setup(){
Wire.begin();
if(EEPROM.read(100)!=0){for(int i=0;i<101;i++){EEPROM.update(i,0);}}// очистка памяти при первом включении
pinMode(2,INPUT); // VOLUME + // D2
pinMode(3,INPUT); // VOLUME - // D3
pinMode(4,INPUT); // INPUT // D4
pinMode(5,INPUT); // POWER // D5
pinMode(6,OUTPUT); // выход управления питания усилителя (STANDBY)
pinMode(13,OUTPUT);//красный диод
vol=EEPROM.read(0);
in=EEPROM.read(1);
audio1();audio2();
delay(500);
}
void loop(){
//// регуировка громкости
if(digitalRead(2)==HIGH&&power==0){digitalWrite(13,LOW);vol++;;if(vol>79){vol=79;}audio2();w=1;times=millis();}// 79 максимальная громкость
if(digitalRead(3)==HIGH&&power==0){digitalWrite(13,LOW);vol--;if(vol<0){vol=0;}audio2();w=1;times=millis();}// 0 минимум громкости
//// выбор входа
if(digitalRead(4)==HIGH&&power==0){digitalWrite(13,LOW);in++;if(in>3){in=0;}audio1();w=1;times=millis();}// если in = 5 то включен шести канальный вход
//// POWER
if(digitalRead(5)==HIGH&&power==0){power=1;mute=1;audio1();digitalWrite(6,LOW);;delay(500);} // OFF
if(digitalRead(5)==HIGH&&power==1){digitalWrite(6,HIGH);delay(500);power=0;mute=0;audio1();delay(500);audio2();delay(500);} // ON
//LED
if(digitalRead(2)==LOW&&digitalRead(3)==LOW&&digitalRead(4)==LOW&&power==0){digitalWrite(13,HIGH);} //ON+blink
if(power==1){digitalWrite(13,LOW);} //off
/// EEPROM
if(millis()-times>5000&&mute==0&&w==1){EEPROM.update(0,vol);EEPROM.update(1,in);w=0;}
delay(200);
}
void audio1(){
pt0.setInput(in);
pt0.setMute(0,0,0,0,0,0,mute);
pt0.setFeature(1,1);
}
void audio2(){
pt1.setFront_lk_att(0);// att front L
pt1.setFront_rk_att(0);// att front R
pt1.setCenter_att(1); // att center
pt1.setRear_lk_att(0); // att rear L
pt1.setRear_rk_att(0); // att rear R
pt1.setSub_att(0); // att sub
pt1.setFunc(0,1,1); // mute,3d,тембр on/off
pt1.setBass(1); // BASS -14...0...14 dB (int -7...0...7)
pt1.setMiddle(1); // MIDDLE -14...0...14 dB (int -7...0...7)
pt1.setTreble(1); // TREBLE -14...0...14 dB (int -7...0...7)
pt1.setVol(vol); // 0...79
}
При внешнем питании на плате Ардуино горят светодиоды? Вы используете вход VIN для питания Ардуино (7-12В)?
При внешнем питании на плате Ардуино горят светодиоды? Вы используете вход VIN для питания Ардуино (7-12В)?
Светодиоды горят, питаю через порт usb(5в) либо через гнездо 5.5 на ардуино(9в)
Сейчас испробовал все возможные «легко подключаемые» бп дома, от телефонов итп, никакого эффекта, дольше всего не зависала на бп от айпада 5.1в 2а, но все равно плата усилителя не реагировала на нажатие кнопок...
Начитался что линии i2c нужна подтяжка питания, может в этом дело? Вот только на ардуино 5в, а на усилителе 9в
И странно что при питании от пк никакой подтяжки не требуется
Вернитесь к тестовому скетчу
#include <Wire.h>
#include <PT2323.h>
#include <PT2322.h>
PT2323 pt0;
PT2322 pt1;
int mute = 0;
int in = 0; // 0...4
int ddd = 1; // 0...1
int bass = 0; // -7...7
int mid = 0; // -7...7
int treb = 0; // -7...7
int vol = 65; // 0...79
void setup(){
Wire.begin();delay(500);
audio1();audio2();
}
void loop(){
}
void audio1(){
pt0.setInput(in);
pt0.setMute(0,0,0,0,0,0,mute);
pt0.setFeature(1,1);
}
void audio2(){
pt1.setFront_lk_att(abs(0));// att front L
pt1.setFront_rk_att(abs(0));// att front R
pt1.setCenter_att(abs(0)); // att center
pt1.setRear_lk_att(abs(0)); // att rear L
pt1.setRear_rk_att(abs(0)); // att rear R
pt1.setSub_att(abs(0)); // att sub
pt1.setFunc(0,ddd,0); // mute,3d,тембр on/off
pt1.setBass(bass); // BASS -14...0...14 dB (int -7...0...7)
pt1.setMiddle(mid); // MIDDLE -14...0...14 dB (int -7...0...7)
pt1.setTreble(treb); // TREBLE -14...0...14 dB (int -7...0...7)
pt1.setVol(vol); // 0...79
}
Обновите прошивку, проверьте звук при питании от ПК, если звук есть (на выходе аудиопроцессора), то подключите к USB зарядку от сотового, проверьте звук, если звук есть, то подайте +5В на вход 5V арудино, проверьте звук, далее подайте на вход VIN ардуино напряжение от 7 до 12 В.
Смотрите, подключил ардуино к ПК, затем дал питание на аудиопроцессор, затем залил тест прошивку. звук появился.
Далее не отключая ардуино от ПК убрал питание с аудиопроцессора, и подал заново, звук появился только после нажатие на ресет на ардуино.
далее отключил ардуино от пк, а усилитель выкл вкл. при подключении от любого бп - тишина. диоды на ардуино горят.
В тестовой скетче отправка команд в аудиопроцессор происходит только при старте программы, то есть Вы должны снача подать питание на аудиопроцессор а потом подать питание на ардуино
В тестовой скетче отправка команд в аудиопроцессор происходит только при старте программы, то есть Вы должны снача подать питание на аудиопроцессор а потом подать питание на ардуино
не работает при питании от внешних бп через любые разьемы питания
Я добавил отправку запроса к аудиопроцессорам каждые 2 секунды в цикле, а так же мигание светодиода на плате ардуино, проверьте.
#include <Wire.h>
#include <PT2323.h>
#include <PT2322.h>
PT2323 pt0;
PT2322 pt1;
int mute = 0;
int in = 0; // 0...4
int ddd = 1; // 0...1
int bass = 0; // -7...7
int mid = 0; // -7...7
int treb = 0; // -7...7
int vol = 65; // 0...79
void setup(){
pinMode(13,OUTPUT);
Wire.begin();delay(500);
audio1();audio2();
}
void loop(){
audio1();audio2();
delay(1000);
digitalWrite(13,LOW);
delay(1000);
digitalWrite(13,HIGH);
}
void audio1(){
pt0.setInput(in);
pt0.setMute(0,0,0,0,0,0,mute);
pt0.setFeature(1,1);
}
void audio2(){
pt1.setFront_lk_att(abs(0));// att front L
pt1.setFront_rk_att(abs(0));// att front R
pt1.setCenter_att(abs(0)); // att center
pt1.setRear_lk_att(abs(0)); // att rear L
pt1.setRear_rk_att(abs(0)); // att rear R
pt1.setSub_att(abs(0)); // att sub
pt1.setFunc(0,ddd,0); // mute,3d,тембр on/off
pt1.setBass(bass); // BASS -14...0...14 dB (int -7...0...7)
pt1.setMiddle(mid); // MIDDLE -14...0...14 dB (int -7...0...7)
pt1.setTreble(treb); // TREBLE -14...0...14 dB (int -7...0...7)
pt1.setVol(vol); // 0...79
}
при питании от пк - включает усилитель, моргает секунд 10-15 потом перестает
при питании от бп моргает - звука нет, моргает кстатит уже продолжительное время
Временно отключите шину i2c, светодиод должен моргать каждую секунду, не переставая. Если не перестает моргать то сделайте подтяжку шины i2c через резисторы 4,7К на +5 В.
Временно отключите шину i2c, светодиод должен моргать каждую секунду, не переставая. Если не перестает моргать то сделайте подтяжку шины i2c через резисторы 4,7К на +5 В.
при питании от бп моргает не переставая. при отключении шины от ардуино и запитке от пк - перестала зависать
подтяжку делать со стороны аудиопроцессора? есть возможность провести повод от ардуино до платы усилитея
Подтяжку лучше делать ближе к ардуино, дли провода шины не должна превышать 30 см
у меня длинна провода составляет 45 см, будет работать? странный вопрос))))))) ладно, сейчас закончу дроссель для бп, и подтяну
на ардуино вызвонил 2 выхода i2c, подтянуть на свобоный можно?
Да, будет, какой то аудиопроцессор скорее всего подсаживает линию i2c, надо делать подтяжку. Она есть в арудино, но бывает что не достаточно.
Сделал красиво, не помогло) стала виснуть даже от пк, 4.7ком
Длинна провода 15 см
Так же улучшил питание аудиопроцессоров, было 7.5, сейчас 9.0, попробую ещё улучшить проводники от регулятора напряжения до аудиопроцессоров , но что то мне кажется не там собака зарыта
Также на cref установлены новые 10мкф, а насчёт подтяжки даже в датащите написано, может подтянуть 9в со стороны аудиопроцессоров?))
Ой, не Привильно картиночки загрузил
Вообще у меня есть осцилограф и я мог бы глянуть что там происходит, но я не умею им пользоваться, и нет щупа....
В тестовом скетче период ожидания 500 мс.
У Вас другая проблема, возможно подтяжка совсем и не нужна, от ПК USB у Вас все работало, как только подаете внешнее питание начинается сбой, проверьте +5В на плате арудино при подачи 9 В на вход VIN
У Вас не работают аудиопроцессоры или зависает цикл программы (мигание светодиода как индикатор работы цикла)?
У Вас не работают аудиопроцессоры или зависает цикл программы (мигание светодиода как индикатор работы цикла)?
Зависает цикл, и при питании от бп не запускаются аудиопроцессоры
При питании от пк аудиопроцессоры запускаются, но происходит зависание через короткое время(после установки подтяжки)
Между штекером и vin падение примерно 1 вольт
Отключите аудиопроцессоры от шины 2ic, посмотрите будет ли зависать цикл
Отключите аудиопроцессоры от шины 2ic, посмотрите будет ли зависать цикл
не зависает
Уберите подтягивающие резисторы, подключите только PT2323, проверьте. Потом только PT2322.
Уберите подтягивающие резисторы, подключите только PT2323, проверьте. Потом только PT2322.
Думаете микросхемы могут шалить?
forum.rcl-radio.ru → Проблемы с загрузками скетча → Тестовый запуск PT2322 PT2323
Форум работает на PunBB, при поддержке Informer Technologies, Inc
|