Hy I maked.
My pioneer 3.3v tip,rin pin.
My 5v PWM 490hz Low RC 32kohm and 100nf 49HZ.
Not work, just band button.
My code:
int r=0;
const int VOL_UP=1;
const int VOL_DN=2;
const int NEXT_TR=3;
const int PREV_TR=4;
const int MUTE=5;
const int CALL_UP=6;
const int CALL_D=7;
const int MODE=8;
int elozo_gomb=0;
void setup() {
pinMode(12,INPUT); //ring
pinMode(A1,INPUT); //wheelADC
Serial.begin(9600);
}
void loop() {
int gomb_megnyomva = gomb_bekeres();
if(elozo_gomb != gomb_megnyomva)
{
delay(20);
gomb_megnyomva = gomb_bekeres();
if(elozo_gomb != gomb_megnyomva)
{
elozo_gomb=gomb_megnyomva;
if(gomb_megnyomva == 6 || gomb_megnyomva == 7)digitalWrite(12, HIGH);
switch(gomb_megnyomva) {
case VOL_UP: analogWrite(3,100); break; //
case VOL_DN: analogWrite(3,115); break; //
case NEXT_TR: analogWrite(3,73); break; //
case PREV_TR: analogWrite(3,87); break; //
case MUTE: analogWrite(3,17); break; //
case CALL_UP: analogWrite(3,73); break; //
case CALL_D: analogWrite(3,87); break; //
case MODE: analogWrite(3,42); break; //
default: analogWrite(3,0); break; // nothing
}
Serial.println(gomb_megnyomva);
Serial.println(digitalRead(12));
}
}
delay(5);
}
int gomb_bekeres()
{
r = analogRead(A1);
if (r>=963 && r<=966) return(VOL_UP);
if (r>=977 && r<=980) return(VOL_DN);
if (r>=897 && r<=900) return(NEXT_TR);
if (r>=935 && r<=938) return(PREV_TR);
if (r>=887 && r<=890) return(MUTE);
if (r>=911 && r<=914) return(CALL_UP);
if (r>=927 && r<=931) return(CALL_D);
if (r>=999 && r<=1002) return(MODE);
if (r>=410 && r<=414) return(MODE);
return (0);
}
Why not work my pioneer with pwm????