Hi everyone. I want to do christmas light (Multiple loop-fade effect, full open etc. ) with one or multiple buttons. I searched forum, use multiple code together but didnt work. Anyone help me?
I want;
- When ı push button, one loop must start work, ıf ı push same button, the 1. loop stop and 2. loop must start work. if ı push same button, the 2. loop stop and 3. loop must start work.
- IF, ı dont push any button, current loop is permanently work.
Sry for English. Ty for help.
My code is:
int ledPin = 3;
int ledPin2 = 5;
int ledPin3 = 6;
int ledPin4 = 9;
int p1 = 12;
int p2 = 13;
int p3 = 7;
int st = 8;
int goahead = 0;
int program1 = 0;
int program2 = 0;
int program3 = 0;
void setup() {
pinMode(ledPin, OUTPUT);
pinMode(ledPin2, OUTPUT);
pinMode(ledPin3, OUTPUT);
pinMode(ledPin4, OUTPUT);
pinMode(st, INPUT);
pinMode(p1, INPUT);
pinMode(p2, INPUT);
pinMode(p3, INPUT);
}
void loop() {
goahead = digitalRead(st);
if (goahead == HIGH)
delay(90);
{
program1= digitalRead(p1);
program2 = digitalRead(p2);
program3 = digitalRead(p3);
if (program1 == HIGH)
{
for (int fadeValue = 0 ; fadeValue <= 255; fadeValue = fadeValue+5) {
analogWrite(ledPin, fadeValue);
delay(30);
}
for (int fadeValue = 255 ; fadeValue >= 0; fadeValue = fadeValue-5) {
analogWrite(ledPin, fadeValue);
delay(30);
}
for (int fadeValue = 0 ; fadeValue <= 255; fadeValue = fadeValue+5) {
analogWrite(ledPin2, fadeValue);
delay(30);
}
for (int fadeValue = 255 ; fadeValue >= 0; fadeValue = fadeValue-5) {
analogWrite(ledPin2, fadeValue);
delay(30);
}
for (int fadeValue = 0 ; fadeValue <= 255; fadeValue = fadeValue+5) {
analogWrite(ledPin3, fadeValue);
delay(30);
}
for (int fadeValue = 255 ; fadeValue >= 0; fadeValue = fadeValue-5) {
analogWrite(ledPin3, fadeValue);
delay(30);
}
for (int fadeValue = 0 ; fadeValue <= 255; fadeValue = fadeValue+5) {
analogWrite(ledPin4, fadeValue);
delay(30);
}
for (int fadeValue = 255 ; fadeValue >= 0; fadeValue = fadeValue-5) {
analogWrite(ledPin4, fadeValue);
delay(30);
}
}
else if (program2 == HIGH)
{
analogWrite(ledPin, 255);
analogWrite(ledPin2, 255);
analogWrite(ledPin3, 255);
analogWrite(ledPin4, 255);
delay(100);
analogWrite(ledPin, 0);
analogWrite(ledPin2, 0);
analogWrite(ledPin3, 0);
analogWrite(ledPin4, 0); }
else if (program3 == HIGH)
{
for (int fadeValue = 0 ; fadeValue <= 255; fadeValue = fadeValue+5) {
analogWrite(ledPin, fadeValue);
delay(30);
}
for (int fadeValue = 255 ; fadeValue >= 0; fadeValue = fadeValue-5) {
analogWrite(ledPin, fadeValue);
delay(30);
}
for (int fadeValue = 0 ; fadeValue <= 255; fadeValue = fadeValue+5) {
analogWrite(ledPin3, fadeValue);
delay(30);
}
for (int fadeValue = 255 ; fadeValue >= 0; fadeValue = fadeValue-5) {
analogWrite(ledPin3, fadeValue);
delay(30);
}
for (int fadeValue = 0 ; fadeValue <= 255; fadeValue = fadeValue+5) {
analogWrite(ledPin2, fadeValue);
delay(30);
}
for (int fadeValue = 255 ; fadeValue >= 0; fadeValue = fadeValue-5) {
analogWrite(ledPin2, fadeValue);
delay(30);
}
for (int fadeValue = 0 ; fadeValue <= 255; fadeValue = fadeValue+5) {
analogWrite(ledPin4, fadeValue);
delay(30);
}
for (int fadeValue = 255 ; fadeValue >= 0; fadeValue = fadeValue-5) {
analogWrite(ledPin4, fadeValue);
delay(30);
}
}
}
}