Hello. I am very new to arduino c programming and any help is very much appreciated.
I am doing this project in school where we are to create an advertisement board with 4 7-segment displays and 8 LEDs.
I used four 595 shift registered cascaded together to control the 7-segents, through a bunch of sequences, making it look like running text.
When i started working on the addition of the 8 LEDs however, i experienced a problem:
I cant seem to bypass the 7-Segment FOR loop and force LEDs to be on their own so to speak. Either the LEDS have to be inside of my FOR loop through normal digitalWrite(HIGH/LOW) but then they run with the same frequency as the shiftOut(), or, if I create another FOR loop with array for LEDs, they take over, and shifting does not happen.
What i want is LEDs to be running back and forth while the 7-segments are doing their own thing through my 595's.
Any suggestions are welcome!
I am uploding the code that i have per today, where LEDs are running synchronized with shiftOUT.
Thank you.
int ser=13;
int clk=3;
int latch=4;
int led1 = 2;
int led2 = 5;
int led3 = 6;
int led4 = 7;
int led5 = 9;
int led6 = 10;
int led7 = 11;
int led8 = 12;
int sekv[24] = {62,95,3,99,115,1,95,119,62,0,62,0,62,0,62,0,115,0,115,0,115,0,115,0};
int sekv1[24] = {95,3,99,115,1,95,119,62,95,0,95,0,95,0,95,0,1,0,1,0,1,0,1,0};
int sekv2[24] = {3,99,115,1,95,119,62,95,3,0,3,0,3,0,3,0,95,0,95,0,95,0,95,0};
int sekv3[24] = {99,115,1,95,119,62,95,3,99,0,99,0,99,0,99,0,119,0,119,0,119,0,119,0};
void setup() {
// put your setup code here, to run once:
pinMode(ser, OUTPUT);
pinMode(clk, OUTPUT);
pinMode(latch, OUTPUT);
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(led3, OUTPUT);
pinMode(led4, OUTPUT);
pinMode(led5, OUTPUT);
pinMode(led6, OUTPUT);
pinMode(led7, OUTPUT);
pinMode(led8, OUTPUT);
}
void loop()
{ for (int i = 0; i < 24; i++)
{
digitalWrite (led1, HIGH);
delay (50);
digitalWrite (led1, LOW);
digitalWrite (led2, HIGH);
delay (50);
digitalWrite (led2, LOW);
digitalWrite (led3, HIGH);
delay (50);
digitalWrite (led3, LOW);
digitalWrite (led4, HIGH);
delay (50);
digitalWrite (led4, LOW);
delay (50);
digitalWrite (led5, HIGH);
delay (50);
digitalWrite (led5, LOW);
digitalWrite (led6, HIGH);
delay (50);
digitalWrite (led6, LOW);
digitalWrite (led7, HIGH);
delay (50);
digitalWrite (led7, LOW);
digitalWrite (led8, HIGH);
delay (50);
digitalWrite (led8, LOW);
digitalWrite(latch, LOW);
shiftOut(ser, clk, LSBFIRST, sekv3*);*
shiftOut(ser, clk, LSBFIRST, sekv2*);*
shiftOut(ser, clk, LSBFIRST, sekv1*);*
shiftOut(ser, clk, LSBFIRST, sekv*);*
delay(400);
digitalWrite(latch, HIGH);
}
}
prosjekta.ino (1.74 KB)