int SER_Pin = 8; //pin 14 on the 75HC595
int RCLK_Pin = 9; //pin 12 on the 75HC595 --> LATCH
int SRCLK_Pin = 10; //pin 11 on the 75HC595 --> CLOCK
int buttonPin;
//How many of the shift registers - change this
//#define number_of_74hc595s 5
//do not touch
#define numOfRegisterPins 40
boolean registers[40];
int Randomwaarde;
int del = 5 ;
void setup(){
pinMode(SER_Pin, OUTPUT);
pinMode(RCLK_Pin, OUTPUT);
pinMode(SRCLK_Pin, OUTPUT);
buttonPin = 7; //whatever pin your button is plugged into
pinMode(buttonPin, INPUT_PULLUP);
//reset all register pins
clearRegisters();
writeRegisters();
Serial.begin(9600);
randomSeed(analogRead(A3));
Randomwaarde = random(190, 210);
Serial.println(Randomwaarde);
}
//set all register pins to LOW
void clearRegisters(){
for(int i = numOfRegisterPins - 1; i >= 0; i--){
registers[i] = LOW;
}
}
//Set and display registers
//Only call AFTER all values are set how you would like (slow otherwise)
void writeRegisters(){
digitalWrite(RCLK_Pin, LOW);
for(int i = numOfRegisterPins - 1; i >= 0; i--){
digitalWrite(SRCLK_Pin, LOW);
int val = registers[i];
digitalWrite(SER_Pin, val);
digitalWrite(SRCLK_Pin, HIGH);
}
digitalWrite(RCLK_Pin, HIGH);
}
//set an individual pin HIGH or LOW
void setRegisterPin(int index, int val){
registers[index] = val;
}
void loop(){
//check button pressed, if so enter program condition (inside if statement)
if(digitalRead(buttonPin) == LOW) //functions based off of button pulling input pin LOW
{
for (int x=0; x<=39; x++)
{
while (del <= Randomwaarde)
{
setRegisterPin(x, HIGH);
writeRegisters();
delay(del);
setRegisterPin(x, LOW);
writeRegisters();
del = del +1;
}
delay(10000);
}
}
}
/*
int SER_Pin = 8; //pin 14 on the 75HC595
int RCLK_Pin = 9; //pin 12 on the 75HC595 --> LATCH
int SRCLK_Pin = 10; //pin 11 on the 75HC595 --> CLOCK
int buttonPin;
//How many of the shift registers - change this
//#define number_of_74hc595s 5
//do not touch
#define numOfRegisterPins 40
boolean registers[40];
int Randomwaarde;
int del = 5 ;
void setup(){
pinMode(SER_Pin, OUTPUT);
pinMode(RCLK_Pin, OUTPUT);
pinMode(SRCLK_Pin, OUTPUT);
buttonPin = 7; //whatever pin your button is plugged into
pinMode(buttonPin, INPUT_PULLUP);
//reset all register pins
clearRegisters();
writeRegisters();
Serial.begin(9600);
randomSeed(analogRead(A3));
Randomwaarde = random(190, 210);
Serial.println(Randomwaarde);
}
//set all register pins to LOW
void clearRegisters(){
for(int i = numOfRegisterPins - 1; i >= 0; i--){
registers[i] = LOW;
}
}
//Set and display registers
//Only call AFTER all values are set how you would like (slow otherwise)
void writeRegisters(){
digitalWrite(RCLK_Pin, LOW);
for(int i = numOfRegisterPins - 1; i >= 0; i--){
digitalWrite(SRCLK_Pin, LOW);
int val = registers[i];
digitalWrite(SER_Pin, val);
digitalWrite(SRCLK_Pin, HIGH);
}
digitalWrite(RCLK_Pin, HIGH);
}
//set an individual pin HIGH or LOW
void setRegisterPin(int index, int val){
registers[index] = val;
}
void loop(){
//check button pressed, if so enter program condition (inside if statement)
if(digitalRead(buttonPin) == LOW) //functions based off of button pulling input pin LOW
{
for (int x=0; x<=39; x++)
{
if (del <= Randomwaarde)
{
setRegisterPin(x, HIGH);
writeRegisters();
delay(del);
setRegisterPin(x, LOW);
writeRegisters();
del = del + 100 ;
}
}
delay(1000);
}
}
*/