You are on page 1of 2

#define BLUEPIN 9

#define REDPIN 10
#define GREENPIN 11
#define FADESPEED 7

int pushbotton = 1;
int buttonstate=0;
int lastbutton = 0;
int max_music_value=90;

void setup(){
pinMode(2, INPUT);pinMode(9, OUTPUT);pinMode(10, OUTPUT);pinMode(11, OUTPUT);
Serial.begin(9600);
}
void loop(){
buttonstate = digitalRead(2);

if(buttonstate != lastbutton){
if(buttonstate == HIGH){
pushbotton=0;
}

}
if(pushbotton==1){
int x= analogRead(A0);
int y= map(x,0,max_music_value,0,255);
if(x==0){
digitalWrite(BLUEPIN,LOW);
digitalWrite(REDPIN,LOW);
digitalWrite(GREENPIN,LOW);
}
if(x>0&&x<max_music_value/3){
analogWrite(GREENPIN,(y/2));
digitalWrite(REDPIN,LOW);
digitalWrite(BLUEPIN,LOW);
}
if(x>max_music_value/3&&x<max_music_value*2/3){
analogWrite(BLUEPIN,(y));
digitalWrite(REDPIN,LOW);
digitalWrite(GREENPIN,LOW);
}
if(x>max_music_value*2/3){
analogWrite(REDPIN,(y));
digitalWrite(BLUEPIN,LOW);
digitalWrite(GREENPIN,LOW);
}
Serial.println(x);
}
if(pushbotton==2){
int r,g,b;
buttonstate=digitalRead(2);
if(buttonstate!=lastbutton){
if(buttonstate==HIGH){
pushbotton++;
delay(500);
}
lastbutton=buttonstate;
if(pushbotton==3){
pushbotton=0;}
}
if(pushbotton==3){
digitalWrite(BLUEPIN,LOW);
digitalWrite(REDPIN,LOW);
digitalWrite(GREENPIN,LOW);}
for(r=0;r<256;r++){
analogWrite(REDPIN,r);
delay(FADESPEED);
}
for(b=255;b>0;b--){
analogWrite(BLUEPIN,b);
delay(FADESPEED);
}
for(g=0;g<256;g++){
analogWrite(GREENPIN,g);
delay(FADESPEED);
}
for(r=255;r>0;r--){
analogWrite(REDPIN,r);
delay(FADESPEED);
}
for(b=0;b<255;b++){
analogWrite(BLUEPIN,b);
delay(FADESPEED);
}
for(g=255;g>0;g--){
analogWrite(GREENPIN,g);
delay(FADESPEED);
}
if(pushbotton==3){
digitalWrite(BLUEPIN,LOW);
digitalWrite(REDPIN,LOW);
digitalWrite(GREENPIN,LOW);
}
if(pushbotton==3){
digitalWrite(BLUEPIN,LOW);
digitalWrite(REDPIN,LOW);
digitalWrite(GREENPIN,LOW);
}
if(pushbotton==0){
digitalWrite(BLUEPIN,LOW);
digitalWrite(REDPIN,LOW);
digitalWrite(GREENPIN,LOW);
}

}}

You might also like