Hi all
I am running a sequence which includes a 'countdown timer' on a LED matrix.
After this has run, no other code will run. The plan is to have a relay activate.
No matter what I do, nothing will run after the matrix sequence has complete.
Any help would be greatly appreciated - hopefully just missing something simple.
many thanks
int buttonPin2 = 3;
int buttonPin3 = 4;
int buttonPin1 = 2;
int redPin = 12;
int yellowPin = 11;
int buttonState1 = 0;
int buttonState2 = 0;
int buttonState3 = 0;
int bluePin = 13;
#include <Servo.h>
Servo myservo;
Servo myservo2;
int pos = 0;
#include <LedControl.h>
int DIN = 8;
int CS = 7;
int CLK = 10;
LedControl lc=LedControl(DIN,CLK,CS,0);
void setup() {
// put your setup code here, to run once:
pinMode(yellowPin, OUTPUT);
pinMode(redPin, OUTPUT);
pinMode(bluePin, OUTPUT);
pinMode(buttonPin1, INPUT);
pinMode(buttonPin2, INPUT);
pinMode(buttonPin3, INPUT);
lc.shutdown(0,false); //The MAX72XX is in power-saving mode on startup
lc.setIntensity(0,15); // Set the brightness to maximum value
lc.clearDisplay(0);
myservo.attach(9);
myservo2.attach(6);
}
void loop() {
myservo2.write (0);
buttonState1 = digitalRead(buttonPin1);
buttonState2 = digitalRead(buttonPin2);
buttonState3 = digitalRead(buttonPin3);
if (buttonState1 && buttonState2 && buttonState3 == HIGH) {
digitalWrite(yellowPin, HIGH);
digitalWrite(redPin, HIGH);
digitalWrite(bluePin, HIGH);
delay(500);
digitalWrite(yellowPin, LOW);
delay(500);
digitalWrite(redPin, LOW);
delay(500);
digitalWrite(bluePin, LOW);
myservo.write (180);
delay (100);
myservo.write (170);
delay (100);
myservo.write (160);
delay (100);
myservo.write (150);
delay (100);
myservo.write (140);
delay (100);
myservo.write (130);
delay (100);
myservo.write (120);
delay (100);
myservo.write (110);
delay (100);
myservo.write (100);
delay (100);
myservo.write (90);
delay (100);
myservo.write (80);
delay (100);
myservo.write (70);
delay (100);
myservo.write (60);
delay (100);
myservo.write (50);
delay (100);
myservo.write (40);
delay (100);
myservo.write (30);
delay (100);
myservo.write (20);
delay (100);
myservo.write (10);
delay (100);
myservo.write (0);
delay (100);
myservo.write (10);
delay (100);
myservo.write (20);
delay (100);
myservo.write (30);
delay (100);
myservo.write (60);
delay (100);
myservo.write (20);
delay (100);
myservo.write (180);
delay (100);
myservo.write (170);
delay (100);
myservo.write (160);
delay (100);
myservo.write (150);
delay (100);
myservo.write (140);
delay (100);
myservo.write (130);
delay (100);
myservo.write (120);
delay (100);
myservo.write (110);
delay (100);
myservo.write (100);
delay (100);
myservo.write (90);
delay (100);
myservo.write (80);
delay (100);
myservo.write (70);
delay (100);
myservo.write (60);
delay (100);
myservo.write (50);
delay (100);
myservo.write (40);
delay (100);
myservo.write (30);
delay (100);
myservo.write (20);
delay (100);
myservo.write (10);
delay (100);
myservo.write (0);
delay (100);
myservo.write (10);
delay (100);
myservo.write (20);
delay (100);
myservo.write (30);
delay (100);
myservo.write (60);
delay (100);
myservo.write (20);
delay (100);
ledMatrix();
myservo2.write (90);
}
else
{
digitalWrite(yellowPin, LOW);
digitalWrite(redPin, LOW);
digitalWrite(bluePin, LOW);
myservo2.write (0);
}
}
void printByte(byte character [])
{
int i = 0;
for(i=0;i<8;i++)
{
lc.setRow(0,i,character[i]);
}
}
void ledMatrix(){
byte a[8]= {0, 0x5e, 0x52, 0x52, 0x52, 0x52, 0x5e, 0,}; //makes 10
byte b[8]= {0x0, 0x3c, 0x24, 0x24 , 0x3c, 0x4, 0x3c, 0x0,}; //makes 9
byte c[8]= {0x18, 0x24, 0x24, 0x18, 0x24, 0x24, 0x18, 0x0,}; //makes 8
byte d[8]= {0x0, 0x3c, 0x4, 0x4, 0x4, 0x4, 0x4, 0x0,}; //makes 7
byte e[8] = {0x0, 0x3c, 0x20, 0x20, 0x3c, 0x24, 0x3c, 0x0,}; //number 6
byte f[8] = {0x0, 0x3c, 0x20, 0x3c, 0x4, 0x4, 0x3c, 0x0,}; //number 5
byte g[8]= {0x0, 0x24, 0x24, 0x3c, 0x4, 0x4, 0x4, 0x0,}; //makes 4
byte h[8]= {0x0, 0x38, 0x4, 0x4, 0x38, 0x4, 0x4, 0x38,}; //makes star 3
byte i[8]= {0x0, 0x18, 0x24, 0x4, 0x18, 0x20, 0x3c, 0x0,}; //makes 2
byte j[8] = {0x0, 0x8, 0x18, 0x8, 0x8, 0x8, 0x1c, 0x0,}; //number 1
byte k[8] = {0x0, 0x3c, 0x24, 0x24, 0x24, 0x24, 0x3c, 0x0,}; //number 0
printByte(a);
delay(1000);
printByte(b);
delay(1000);
printByte(c);
delay(1000);
printByte(d);
delay(1000);
printByte(e);
delay(1000);
printByte(f);
delay(1000);
printByte(g);
delay(1000);
printByte(h);
delay(1000);
printByte(i);
delay(1000);
printByte(j);
delay(1000);
printByte(k);
delay(1000);
lc.clearDisplay(0);
}