You are on page 1of 2

// Zafira steering wheel control interface for Aftermarket car stereo

// Available from Sony, Pioneer and Kenwood stalk adapter or remote inputs
// 2015 - Dr. Clone
int analogPin= 0;
int raw= 0;
int Vin= 5;
int Source= 3;
int Display= 4;
int Next= 5;
int Previous= 6;
int VolumeUp= 7;
int VolumeDown= 8;
int currentButton = 0;
float Vout= 0;
float R1= 1000;
float R2= 0;
float buffer= 0;
void setup() {
pinMode(Source, OUTPUT);
pinMode(Display, OUTPUT);
pinMode(Next, OUTPUT);
pinMode(Previous, OUTPUT);
pinMode(VolumeUp, OUTPUT);
pinMode(VolumeDown, OUTPUT);
Serial.begin(9600);
}
void loop() {
currentButton = getButton();
Serial.print("Button: ");
Serial.println(currentButton);
Serial.print("Vout: ");
Serial.println(Vout);
Serial.print("R2: ");
Serial.println(R2);
Serial.println("Vin: ");
Serial.println(Vin);

if(currentButton == 1) {
digitalWrite(Next, HIGH);
}else{
digitalWrite(Next, LOW);
}
if(currentButton == 2) {
digitalWrite(Previous, HIGH);
}else{
digitalWrite(Previous, LOW);
}
if(currentButton == 3) {
digitalWrite(Source, HIGH);
}else{
digitalWrite(Source, LOW);
}

if(currentButton == 4) {
digitalWrite(Display, HIGH);
}else{
digitalWrite(Display, LOW);
}
if(currentButton == 5) {
digitalWrite(VolumeDown, HIGH);
}else{
digitalWrite(VolumeDown, LOW);
}
if(currentButton == 6) {
digitalWrite(VolumeUp, HIGH);
}else{
digitalWrite(VolumeUp, LOW);
}
delay(250);
}
int getButton() {
raw= analogRead(analogPin);
if(raw) {
buffer= raw * Vin;
Vout= (buffer)/1024.0;
buffer= (Vin/Vout) -1;
R2= R1/buffer;
}
if (R2
return
}
if (R2
return
}
if (R2
return
}
if (R2
return
}
if (R2
return
}
if (R2
return
}
return
}

> 400 && R2 < 500) {


1;
> 600 && R2 < 900) {
2;
> 1000 && R2 < 2000) {
3;
> 200 && R2 < 300) {
4;
> 50 && R2 < 100) {
5;
> 150 && R2 < 200) {
6;
0;

You might also like