Re: Аудиопроцессор R2S15902FP
Я ПЫТАЛСЯ ПОДКЛЮЧИТЬ r2s15902fp IC СОЕДИНЕНИЕ ПРИ ПОДКЛЮЧЕНИИ ЗВУК НЕ ПОЛУЧАЕТСЯ КАК РЕШИТЬ ДАННЫЕ НЕ ПОНИМАЮТСЯ ЧТО IC КАК РЕШИТЬ МОЮ ПРОБЛЕМУ
Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.
forum.rcl-radio.ru → Библиотеки → Аудиопроцессор R2S15902FP
Я ПЫТАЛСЯ ПОДКЛЮЧИТЬ r2s15902fp IC СОЕДИНЕНИЕ ПРИ ПОДКЛЮЧЕНИИ ЗВУК НЕ ПОЛУЧАЕТСЯ КАК РЕШИТЬ ДАННЫЕ НЕ ПОНИМАЮТСЯ ЧТО IC КАК РЕШИТЬ МОЮ ПРОБЛЕМУ
Опубликуйте скетч который Вы используете.
#define IR_1 0x807F827D // Кнопка вверх
#define IR_2 0x807FB04F // Кнопка вниз
#define IR_3 0x807F32CD // Кнопка >
#define IR_4 0x807F728D // Кнопка <
#define IR_5 0x807FB24D // Кнопка IN
#include <Wire.h>
#include <R2S15902FP.h>
#include <Encoder.h>
#include <EEPROM.h>
#include <MsTimer2.h>
#include <boarddefs.h>
#include <IRremote.h>
#include <LiquidCrystal_I2C.h> //Библиотека - [url]http://forum.rcl-radio.ru/misc.php?action=pan_download&item=45&download=1[/url]
LiquidCrystal_I2C lcd(0x27,16,2); // Устанавливаем дисплей
IRrecv irrecv(12); // указываем вывод модуля IR приемника
Encoder myEnc(9, 8);// DT, CLK
decode_results ir;
byte v1[8] = {31,31,31,31,31,31,31,31};
byte v2[8] = {31,31,31, 0, 0, 0, 0, 0};
byte v3[8] = { 0, 0, 0, 0, 0,31,31,31};
byte v4[8] = {31,31, 0, 0, 0, 0,31,31};
byte v5[8] = { 0, 0, 0, 0, 0, 0, 0, 0};
byte v7[8] = { 0, 0, 0, 0, 0, 0,31,31};
unsigned long time,oldPosition = -999,newPosition;
int menu,vol,vol_d,treb,treb_d,bass,bass_d,in;
byte w,w2,www,gr1,gr2;
byte a[2];
int out,vol_out,rf,lf,rt,lt,sab1,sab2,sl,sr;
byte i,d1,d2,d3,d4,d5,d6,e1,e2,e3;
void setup(){ irrecv.enableIRIn(); // запускаем модуль IR
lcd.init();lcd.backlight();
lcd.createChar(1, v1);lcd.createChar(2, v2);lcd.createChar(3, v3);lcd.createChar(4, v4);lcd.createChar(5, v5);lcd.createChar(7, v7);
lcd.setCursor(0,0);lcd.print(" R2S15902FP ");delay(2000);
Serial.begin(9600);
pinMode(DATA, OUTPUT); // D2
pinMode(CLK, OUTPUT); // D3
pinMode(10,INPUT);// МЕНЮ КНОПКА SW энкодера
pinMode(11,INPUT);// КНОПКА IN
MsTimer2::set(3, to_Timer);MsTimer2::start(); // АКТИВИРУЕМПРЕРЫВАНИЯ ДЛЯ ЭНКОДЕРА
vol = EEPROM.read(0);treb = EEPROM.read(1);bass = EEPROM.read(2);in= EEPROM.read(3);
rf = EEPROM.read(10);lf = EEPROM.read(11);rt = EEPROM.read(12);lt =EEPROM.read(13);sab1 = EEPROM.read(14);sab2 = EEPROM.read(24);
delay(100);cl();
audio();
}
void loop(){
if(digitalRead(10)==LOW){menu++;cl();time=millis();w=1;w2=1;if(menu>4){menu=0;}}//меню
if(digitalRead(11)==HIGH){in++;;cl();time=millis();w=1;w2=1;www=1;in_func();lcd.setCursor(0,0);lcd.print(" INPUT");lcd.print(in+1);audio();delay(2000);cl();}// КНОПКА ВЫБОРА ВХОДА I
if ( irrecv.decode( &ir )) {Serial.print("0x");Serial.println(ir.value,HEX);irrecv.resume();time=millis();w=1;}// IR приемник -чтение, в мониторе порта отображаются коды кнопок
if(ir.value==0){gr1=0;gr2=0;}// запрет нажатий не активных кнопок пульта
if(ir.value==IR_1){menu++;gr1=0;gr2=0;cl();time=millis();w=1;w2=1;if(menu>4){menu=0;}}//меню кнопка вверх
if(ir.value==IR_2){menu--;gr1=0;gr2=0;cl();time=millis();w=1;w2=1;if(menu<0){menu=4;}}//меню кнопка вниз
/////////////////////// vol
if(menu==0){
if(ir.value==IR_3){vol++;gr1=1;gr2=0;cl1();w2=1;vol_func();audio();}//кнопка >
if(ir.value==0xFFFFFFFF and gr1==1){vol++;gr2=0;cl1();w2=1;vol_func();audio();}// кнопка >>>>>>
if(ir.value==IR_4){vol--;gr1=0;gr2=1;cl1();w2=1;vol_func();audio();}//кнопка <
if(ir.value==0xFFFFFFFF and gr2==1){vol--;gr1=0;cl1();w2=1;vol_func();audio();}// кнопка <<<<<<
if (newPosition != oldPosition){oldPosition = newPosition;vol=vol+newPosition;myEnc.write(0);newPosition=0;time=millis();w=1;w2=1;vol_func();audio();}
vol_d = abs(vol-99);
a[0]= vol_d/10;a[1]=vol_d%10;
for(i=0;i<2;i++){
switch(i){
case 0: e1=9,e2=10,e3=11;break;
case 1: e1=13,e2=14,e3=15;break;}
switch(a[i]){
case 0: d1=1,d2=2,d3=1,d4=1,d5=3,d6=1;break;
case 1: d1=2,d2=1,d3=5,d4=7,d5=1,d6=7;break;
case 2: d1=2,d2=4,d3=1,d4=1,d5=3,d6=3;break;
case 3: d1=2,d2=4,d3=1,d4=3,d5=3,d6=1;break;
case 4: d1=1,d2=3,d3=1,d4=5,d5=5,d6=1;break;
case 5: d1=1,d2=4,d3=2,d4=3,d5=3,d6=1;break;
case 6: d1=1,d2=4,d3=2,d4=1,d5=3,d6=1;break;
case 7: d1=2,d2=2,d3=1,d4=5,d5=5,d6=1;break;
case 8: d1=1,d2=4,d3=1,d4=1,d5=3,d6=1;break;
case 9: d1=1,d2=4,d3=1,d4=3,d5=3,d6=1;break;
case 11: d1=5,d2=5,d3=5,d4=5,d5=5,d6=5;break;
}
lcd.setCursor(e1,0);lcd.write((uint8_t)d1);lcd.setCursor(e2,0);lcd.write((uint8_t)d2);lcd.setCursor(e3,0);lcd.write((uint8_t)d3);
lcd.setCursor(e1,1);lcd.write((uint8_t)d4);lcd.setCursor(e2,1);lcd.write((uint8_t)d5);lcd.setCursor(e3,1);lcd.write((uint8_t)d6);}
lcd.setCursor(0,0);lcd.print("VOLUME");
lcd.setCursor(0,1);;lcd.print("INPUT ");lcd.print(in+1);
}
///////////////////////// TREBLE +/-14 dB
/////////////////////////////////////////////////////////
if(menu==1){
if(ir.value==IR_3){treb++;gr1=1;gr2=0;cl1();w2=1;treb_func();audio();}//кнопка >
if(ir.value==0xFFFFFFFF and
gr1==1){treb++;gr2=0;cl1();w2=1;treb_func();audio();}// кнопка >>>>>>
if(ir.value==IR_4){treb--;gr1=0;gr2=1;cl1();w2=1;treb_func();audio();}//кнопка <
if(ir.value==0xFFFFFFFF and
gr2==1){treb--;gr1=0;cl1();w2=1;treb_func();audio();}// кнопка <<<<<<
if (newPosition != oldPosition) {
oldPosition = newPosition;
treb=treb+newPosition;myEnc.write(0);newPosition=0;time=millis();w=1;w2=1;treb_func();audio();}
treb_d = abs(treb-14);
a[0]= treb_d/10;a[1]=treb_d%10;
for(i=0;i<2;i++){
switch(i){
case 0: e1=9,e2=10,e3=11;break;
case 1: e1=13,e2=14,e3=15;break;}
switch(a[i]){
case 0: d1=1,d2=2,d3=1,d4=1,d5=3,d6=1;break;
case 1: d1=2,d2=1,d3=5,d4=7,d5=1,d6=7;break;
case 2: d1=2,d2=4,d3=1,d4=1,d5=3,d6=3;break;
case 3: d1=2,d2=4,d3=1,d4=3,d5=3,d6=1;break;
case 4: d1=1,d2=3,d3=1,d4=5,d5=5,d6=1;break;
case 5: d1=1,d2=4,d3=2,d4=3,d5=3,d6=1;break;
case 6: d1=1,d2=4,d3=2,d4=1,d5=3,d6=1;break;
case 7: d1=2,d2=2,d3=1,d4=5,d5=5,d6=1;break;
case 8: d1=1,d2=4,d3=1,d4=1,d5=3,d6=1;break;
case 9: d1=1,d2=4,d3=1,d4=3,d5=3,d6=1;break;
case 11: d1=5,d2=5,d3=5,d4=5,d5=5,d6=5;break;
}
lcd.setCursor(e1,0);lcd.write((uint8_t)d1);lcd.setCursor(e2,0);lcd.write((uint8_t)d2);lcd.setCursor(e3,0);lcd.write((uint8_t)d3);
lcd.setCursor(e1,1);lcd.write((uint8_t)d4);lcd.setCursor(e2,1);lcd.write((uint8_t)d5);lcd.setCursor(e3,1);lcd.write((uint8_t)d6);}
lcd.setCursor(0,0);lcd.print("TREBLE");
// lcd.setCursor(0,1);;lcd.print("INPUT ");lcd.print(in+1);
}
///////////////////////// BASS +/-14 dB
/////////////////////////////////////////////////////////
if(menu==2){
if(ir.value==IR_3){bass++;gr1=1;gr2=0;cl1();w2=1;bass_func();audio();}//кнопка >
if(ir.value==0xFFFFFFFF and gr1==1){bass++;gr2=0;cl1();w2=1;bass_func();audio();}// кнопка >>>>>>
if(ir.value==IR_4){bass--;gr1=0;gr2=1;cl1();w2=1;bass_func();audio();}//кнопка <
if(ir.value==0xFFFFFFFF and gr2==1){bass--;gr1=0;cl1();w2=1;bass_func();audio();}// кнопка <<<<<<
if (newPosition != oldPosition) {
oldPosition = newPosition;
bass=bass+newPosition;myEnc.write(2);newPosition=0;time=millis();w=1;w2=1;bass_func();audio();}
bass_d = abs(bass-14);
a[0]= bass_d/10;a[1]=bass_d%10;
for(i=0;i<2;i++){
switch(i){
case 0: e1=9,e2=10,e3=11;break;
case 1: e1=13,e2=14,e3=15;break;}
switch(a[i]){
case 0: d1=1,d2=2,d3=1,d4=1,d5=3,d6=1;break;
case 1: d1=2,d2=1,d3=5,d4=7,d5=1,d6=7;break;
case 2: d1=2,d2=4,d3=1,d4=1,d5=3,d6=3;break;
case 3: d1=2,d2=4,d3=1,d4=3,d5=3,d6=1;break;
case 4: d1=1,d2=3,d3=1,d4=5,d5=5,d6=1;break;
case 5: d1=1,d2=4,d3=2,d4=3,d5=3,d6=1;break;
case 6: d1=1,d2=4,d3=2,d4=1,d5=3,d6=1;break;
case 7: d1=2,d2=2,d3=1,d4=5,d5=5,d6=1;break;
case 8: d1=1,d2=4,d3=1,d4=1,d5=3,d6=1;break;
case 9: d1=1,d2=4,d3=1,d4=3,d5=3,d6=1;break;
case 11: d1=5,d2=5,d3=5,d4=5,d5=5,d6=5;break;
}
lcd.setCursor(e1,0);lcd.write((uint8_t)d1);lcd.setCursor(e2,0);lcd.write((uint8_t)d2);lcd.setCursor(e3,0);lcd.write((uint8_t)d3);
lcd.setCursor(e1,1);lcd.write((uint8_t)d4);lcd.setCursor(e2,1);lcd.write((uint8_t)d5);lcd.setCursor(e3,1);lcd.write((uint8_t)d6);}
lcd.setCursor(0,0);lcd.print("BASS");
// lcd.setCursor(0,1);;lcd.print("INPUT ");lcd.print(in+1);
}
///////////////////// IN
/////////////////////////////////////////////////////////////////////////
if(menu==3){
if(ir.value==IR_5){in++;gr1=0;gr2=0;cl();time=millis();w=1;w2=1;www=1;
in_func();lcd.setCursor(0,0);lcd.print(" INPUT ");lcd.print(in+1);audio();delay(2000);}// КНОПКА ВЫБОРА ВХОДА IN
if (newPosition != oldPosition) {
oldPosition = newPosition;
in=in-newPosition;myEnc.write(0);newPosition=0;time=millis();cl();w=1;w2=1;in_func();audio();}
lcd.setCursor(0,0);lcd.print("INPUT ");lcd.print(in+1);}
////////////////////////////////////////// out
/////////////////////////////////////////////////
if(menu==4){
if(digitalRead(11)==HIGH){out++;cl();time=millis();www=1;w=1;if(out>5){out=0;}audio();}
// перебор выходов кнопкой IN
if(ir.value==IR_5){out++;cl();time=millis();www=1;w=1;if(out>5){out=0;}audio();}
// перебор выходов кнопкой IN
switch(out){
case 0:vol_out=rf;break;
case 1:vol_out=lf;break;
case 2:vol_out=rt;break;
case 3:vol_out=lt;break;
case 4:vol_out=sab1;break;
case 5:vol_out=sab2;break;
}
if(ir.value==IR_3){vol_out++;gr1=1;gr2=0;cl1();w2=1;vol_out_func();audio();}//кнопка >
if(ir.value==0xFFFFFFFF and gr1==1){vol_out++;gr2=0;cl1();w2=1;vol_out_func();audio();}// кнопка >>>>>>
if(ir.value==IR_4){vol_out--;gr1=0;gr2=1;cl1();w2=1;vol_out_func();audio();}//кнопка <
if(ir.value==0xFFFFFFFF and gr2==1){vol_out--;gr1=0;cl1();w2=1;vol_out_func();audio();}// кнопка <<<<<<
if (newPosition != oldPosition) {
oldPosition = newPosition;
vol_out=vol_out-newPosition;myEnc.write(0);newPosition=0;time=millis();www=1;w=1;w2=1;vol_out_func();audio();}
lcd.setCursor(0,0);lcd.print("Volume OUT");lcd.setCursor(0,1);
switch(out){
case 0:rf=vol_out;lcd.print("RF: ");lcd.print(rf);break;
case 1:lf=vol_out;lcd.print("LF: ");lcd.print(lf);break;
case 2:rt=vol_out;lcd.print("RT: ");lcd.print(rt);break;
case 3:lt=vol_out;lcd.print("LT: ");lcd.print(lt);break;
case 4:sab1=vol_out;lcd.print("SUBW_1: ");lcd.print(sab1);break;
case 5:sr=vol_out;lcd.print("sr: ");lcd.print(sr);break;
case 6:sl=vol_out;lcd.print("sl: ");lcd.print(sl);break;
case 7:sab2=vol_out;lcd.print("SUBW_2: ");lcd.print(sab2);break;
}
if(www==1){audio();www=0;}
lcd.print(" dB ");}
if(millis()-time>10000 && w==1){
EEPROM.update(0,vol);EEPROM.update(1,treb);EEPROM.update(2,bass);EEPROM.update(3,in);
EEPROM.update(10,rf);EEPROM.update(11,lf);EEPROM.update(12,rt);EEPROM.update(13,lt);EEPROM.update(14,sab1);EEPROM.update(24,sab2);
menu=0;w=0;w2=1;cl();}
}
void cl1(){ir.value=0;delay(100);}
void vol_out_func(){if(vol_out>7){vol_out=7;}if(vol_out<0){vol_out=0;}}
void in_func(){if(in>3){in=0;}if(in<0){in=3;}}
void bass_func(){if(bass>14){bass=14;}if(bass<0){bass=0;}}
void treb_func(){if(treb>14){treb=14;}if(treb<0){treb=0;}}
void vol_func(){if(vol<0){vol=0;}if(vol>99){vol=99;}}
void cl(){ir.value=0;delay(300);lcd.clear();}
void to_Timer(){newPosition = myEnc.read()/4;}
void audio(){
Slot1(0,0,0,0,5,5,0);
// input selector 1...4 === int 0...3, in4 === multi in
//REC-Output Gain Control int 0...6 dB === int 0...3
//L/R Input 0 === IN1...3, 1 === IN4 MULTI
//ADC Input ATT 0...-6 dB === int 0...3
//bass int 0 === +14dB int 8 === 0dB int 15 === -14dB
//treble int 0 === +14dB int 8 === 0dB int 15 === -14dB
//Input Gain 0...14 dB === int 0...7
Slot2(rf,vol,lf,vol); // gain0, volume0, gain1, volume1
Slot3(rt,vol,lt,vol); // gain2, volume2, gain3, volume3
Slot4(sab1,vol,sab2,vol); // gain4, volume4, gain5, volume5
// gain 0...14 dB === int 0...7
// volume 0...-99 dB === int 0...100
}
Ошибок компиляции нет?
NO THE SKETCH IS FINE WORKING BUT THE PROCESSOR SOUND IS NOT COMING AFTER DATA SENDING TO THE PROCESSOR HOW TO SOLVE SIR....?
Загрузите тестовый скетч:
#include <R2S15902FP.h>
void setup(){ Serial.begin(9600);
pinMode(DATA, OUTPUT); // D2
pinMode(CLK, OUTPUT); // D3
delay(100);
}
void loop(){
audio();
delay(1000);
}
void audio(){
Slot1(0,0,0,0,5,5,0);
// input selector 1...4 === int 0...3, in4 === multi in
//REC-Output Gain Control int 0...6 dB === int 0...3
//ADC Input ATT 0...-6 dB === int 0...3
//L/R Input 0 === IN1...3, 1 === IN4 MULTI
//bass int 0 === +14dB int 8 === 0dB int 15 === -14dB
//treble int 0 === +14dB int 8 === 0dB int 15 === -14dB
//Input Gain 0...14 dB === int 0...7
Slot2(3,10,3,10); // gain0, volume0, gain1, volume1
Slot3(3,10,3,10); // gain2, volume2, gain3, volume3
Slot4(3,10,3,10); // gain4, volume4, gain5, volume5
// gain 0...14 dB === int 0...7
// volume 0...-99 dB === int 0...99
}
could you send correct library
-КАК РЕШИТЬ ЭТУ ПРОБЛЕМУ, Сэр....?
Библиотека - Данный контент доступен только зарегистрированным пользователям.
СЭР, У МЕНЯ ЕСТЬ СОМНЕНИЕ, ЧТО ТАКОЕ ДАННЫЕ CLK PINS IN SKETCH
CLK = pin arduino D3
КАКИЕ КОНТАКТЫ ДЛЯ ПОДКЛЮЧЕНИЯ ПРОЦЕСОРА R2S15902FP К ARDUINO
DATA = D2
CLK = D3
R2S15902FP pin 13 = arduino D2
R2S15902FP pin 14 = arduino D3
ПОЖАЛУЙСТА, МОЖЕТЕ ВЫ ЛУЧШИЙ ЖК-ЭСКИЗ R2S15902FP В ARDUINO ПОЛЬЗОВАТЕЛЬСКИЙ ЭСКИЗ ХАРАКТЕРА... ПОЖАЛУЙСТА, СЭР....
Тестовый скетч работает? R2S15902FP звук есть?
ДА, Сэр, РАБОТАЕТ....
СЭР, МОЖЕТЕ ЛИ ВЫ НАПИСАТЬ ВАРИАНТ USB В ЭТОМ ЭСКИЗЕ, ПОТОМУ ЧТО Я ХОЧУ ЭТОГО, И ВХОДНОЙ АУДИО НЕ ДЕЛИТСЯ, КОГДА Я ИЗМЕНЯЮ ВАРИАНТ ВХОДА.... И ПОЖАЛУЙСТА, НАПИШИТЕ USB И ЛЕВЫЙ И ПРАВЫЙ ОПЦИИ AUIDO ЭСКИЗ ПОЖАЛУЙСТА, СЭР, ПРИМИТЕ МОЙ ЗАПРОС....
http://forum.rcl-radio.ru/viewtopic.php?pid=6183#p6183 - работает?
Я не понимаю смысл последнего сообщения, напишите по английски и попробую перевести.
Sir i want usb option in that and also the audio input not dividing when i am divide the audio..sir please rite usb option and input dividing and write 2channel i mean left and right input 1 and input 2 please accept my request sir...
Я не понимаю, что за опция usb? Посмотрите даташит, посмотрите возможности микросхемы.
ok sorry for that...can you audio input diving and left and right separete option can you write in that sketch......please write sir
Коммутация отдельно правого канала и левого не возможна, даташит это не предусматривает. Я могу программировать только пользуясь инструкциями из даташита.
ok sir...thank you
forum.rcl-radio.ru → Библиотеки → Аудиопроцессор R2S15902FP
Форум работает на PunBB, при поддержке Informer Technologies, Inc
|