//Pin connected to ST_CP of 74HC595
int latchPin = 11;
//Pin connected to SH_CP of 74HC595
int clockPin = 9;
////Pin connected to DS of 74HC595
int dataPin = 12;
int32_t leds;
int8_t i = 1;
int8_t deathPin = 2;
uint32_t startTime = 0;
bool onOff = 1;
void setup(){
Serial.begin(9600);
//set pins to output so you can control the shift register
pinMode(latchPin, OUTPUT);
pinMode(clockPin, OUTPUT);
pinMode(dataPin, OUTPUT);
pinMode(deathPin, OUTPUT);
startTime = millis();
}
void loop(){
if (millis() - startTime > 5000) {
startTime = millis();
digitalWrite(deathPin, onOff);
Serial.print(onOff);
if (onOff) Serial.println(" Doomed I tell you!!!");
else Serial.println(" All is Calm...");
onOff = !onOff;
}
int8_t speed_led = i;
int8_t force_led = i;
int8_t acc_led = i;
int8_t gyro_led = i;
int8_t result_led = i;
leds = (result_led << 12) | (gyro_led << 9) | (acc_led << 6) | (force_led << 3) | speed_led;
Serial.println(leds, BIN);
digitalWrite(latchPin, LOW);
shiftOut(dataPin, clockPin, MSBFIRST, (leds >> 8) & 0xFF);
shiftOut(dataPin, clockPin, MSBFIRST, leds & 0xFF);
//digitalWrite(latchPin, LOW);
digitalWrite(latchPin, HIGH);
i ++;
if (i == 8) i = 1;
delay(500);
}
Acceleration sensor
Power
Result
Speed
Force
Acc
Gyro