Hi,
I need help making program that will run specifed function when switch is on. So, when switch1 is on(button1 pressed) case 1 will run. Please look down at my program. I was using variable var to specify if switche on some port is low or high and that putted var into switch..case
Hardware setup is: all middle pins of switch are up to ground, and other switch pin is thought 10k resistor on Vin(power supply) and same pin is on digitalpins 0-4.
Problem is that program does not work every time. What am I doing wrong?
I am also interested what will happen if two switches at same time are on?
(ignore rest of program)
const int ledPin1 = 11;
const int ledPin2 = 10;
const int ledPin3 = 9;
const int ledPin4 = 6;
const int ledPin5 = 5;
const int button1 = 0;
const int button2 = 1;
const int button3 = 2;
const int button4 = 3;
const int button5 = 4;
int state1;
int state2;
int state3;
int state4;
int state5;
int brightness1 = 10;
int brightness2 = 10;
int brightness3 = 250;
int brightness4 = 10;
int brightness5 = 250;
int fadeAmount1 = 5;
int fadeAmount2 = 5;
int fadeAmount3 = 5;
int fadeAmount4 = 5;
int fadeAmount5 = 5;
int brightness6 = 10;
int brightness7 = 10;
int brightness8 = 10;
int brightness9 = 10;
int brightness10 = 10;
int fadeAmount6 = 5;
int fadeAmount7 = 5;
int fadeAmount8 = 5;
int fadeAmount9 = 5;
int fadeAmount10 = 5;
const int potPin1 = 1;
const int potPin2 = 2;
int var;
int pot1;
int pot2;
void setup(){
pinMode(ledPin1, OUTPUT);
pinMode(ledPin2, OUTPUT);
pinMode(ledPin3, OUTPUT);
pinMode(ledPin4, OUTPUT);
pinMode(ledPin5, OUTPUT);
pinMode(button1, INPUT);
pinMode(button2, INPUT);
pinMode(button3, INPUT);
pinMode(button4, INPUT);
pinMode(button5, INPUT);
}
void loop(){
state1 = digitalRead(button1);
state2 = digitalRead(button2);
state3 = digitalRead(button3);
state4 = digitalRead(button4);
state5 = digitalRead(button5);
pot1 = analogRead(potPin1);
pot2 = analogRead(potPin2);
pot2 = map(pot2, 0, 1023, 1, 255);
if (state1 == LOW){
var = 1;
}
else{
var = 0;
}
if (state2 == LOW){
var = 2;
}
else{
var = 0;
}
if (state3 == LOW){
var = 3;
}
else{
var = 0;
}
if (state4 == LOW){
var = 4;
}
else{
var = 0;
}
if (state5 == LOW){
var = 5;
}
else{
var = 0;
}
switch (var) {
case 1:
analogWrite(ledPin1, pot2);
analogWrite(ledPin2, pot2);
analogWrite(ledPin3, pot2);
analogWrite(ledPin4, pot2);
analogWrite(ledPin5, pot2);
delay(pot1);
digitalWrite(ledPin1, LOW);
digitalWrite(ledPin2, LOW);
digitalWrite(ledPin3, LOW);
digitalWrite(ledPin4, LOW);
digitalWrite(ledPin5, LOW);
delay(pot1);
;
break;
case 2:
analogWrite(ledPin1, pot2);
analogWrite(ledPin2, pot2);
analogWrite(ledPin3, pot2);
analogWrite(ledPin4, pot2);
analogWrite(ledPin5, pot2);
;
break;
case 3:
analogWrite(ledPin1, brightness1);
analogWrite(ledPin2, brightness2);
analogWrite(ledPin3, brightness3);
analogWrite(ledPin4, brightness4);
analogWrite(ledPin5, brightness5);
brightness1 = brightness1 + fadeAmount1;
brightness2 = brightness2 + fadeAmount2;
brightness3 = brightness3 + fadeAmount3;
brightness4 = brightness4 + fadeAmount4;
brightness5 = brightness5 + fadeAmount5;
if (brightness1 == 10 || brightness1 == 255) {
fadeAmount1 = -fadeAmount1 ; }
if (brightness2 == 10 || brightness2 == 255) {
fadeAmount2 = -fadeAmount2 ; }
if (brightness3 == 10 || brightness3 == 255) {
fadeAmount3 = -fadeAmount3 ; }
if (brightness4 == 10 || brightness4 == 255) {
fadeAmount4 = -fadeAmount4 ; }
if (brightness5 == 10 || brightness5 == 255) {
fadeAmount5 = -fadeAmount5 ; }
delay(pot1);
;
break;
case 4:
analogWrite(ledPin1, brightness6);
analogWrite(ledPin2, brightness7);
analogWrite(ledPin3, brightness8);
analogWrite(ledPin4, brightness9);
analogWrite(ledPin5, brightness10);
brightness6 = brightness6 + fadeAmount6;
brightness7 = brightness7 + fadeAmount7;
brightness8 = brightness8 + fadeAmount8;
brightness9 = brightness9 + fadeAmount9;
brightness10 = brightness10 + fadeAmount10;
if (brightness6 == 10 || brightness6 == 255) {
fadeAmount6 = -fadeAmount6 ; }
if (brightness7 == 10 || brightness7 == 255) {
fadeAmount7 = -fadeAmount7 ; }
if (brightness8 == 10 || brightness8 == 255) {
fadeAmount8 = -fadeAmount8 ; }
if (brightness9 == 10 || brightness9 == 255) {
fadeAmount9 = -fadeAmount9 ; }
if (brightness10 == 10 || brightness10 == 255) {
fadeAmount10 = -fadeAmount10 ; }
delay(pot1);
;
break;
}
}