the red and black represent power and ground.
the real problem is the picture of my schismatic is too large.
so im not sure how to give you enough information.
sorry
any help would be greatly appreciated .
int delayTime;
byte data = 0;
int sensorPin_2 = 2; //knob style pot
int sensorPin = 1; //knob style pot
int datapin = 2; // D8 in picture provided
int clockpin = 3;// D9
int latchpin = 4;//D10
void setup()
{
pinMode(datapin, OUTPUT);
pinMode(clockpin, OUTPUT);
pinMode(latchpin, OUTPUT);
}
void loop()
{
oneOnAtATime();
}
void shiftWrite(int desiredPin, boolean desiredState)
{
bitWrite(data,desiredPin,desiredState);
shiftOut(datapin, clockpin, MSBFIRST, data);
digitalWrite(latchpin, HIGH);
digitalWrite(latchpin, LOW);
}
void oneOnAtATime()
{
int index;
int index_2;
int sensorValue;
int sensorValue_2;
sensorValue = analogRead(sensorPin);
sensorValue_2 = analogRead(sensorPin_2);
if ((sensorValue > 501) && (sensorValue_2 < 501) &! (sensorValue_2 < 401))
{
for(index = 0; index <= 3; index++)
{
shiftWrite(index, HIGH);
shiftWrite(index+4, HIGH);
delay(delayTime);
shiftWrite(index, LOW);
shiftWrite(index+4, LOW); } // action A
if ((sensorValue >= 501) && (sensorValue < 551)) {
delayTime = 27;}
if ((sensorValue >= 552) && (sensorValue < 602)) {
delayTime = 22;}
if ((sensorValue >= 603) && (sensorValue < 653)) {
delayTime = 20;}
if ((sensorValue >= 654) && (sensorValue < 704)) {
delayTime = 18;}
if ((sensorValue >= 705) && (sensorValue < 755)) {
delayTime = 16;}
if ((sensorValue >= 756) && (sensorValue < 806)) {
delayTime = 14;}
if ((sensorValue >= 807) && (sensorValue < 858)) {
delayTime = 12;}
if ((sensorValue >= 859) && (sensorValue < 909)) {
delayTime = 10;}
if ((sensorValue >= 910) && (sensorValue < 960)) {
delayTime = 8;}
if ((sensorValue >= 961) || (sensorValue > 1020)) {
delayTime = 6;}
}
else if((sensorValue < 401) && (sensorValue_2 < 501) &! (sensorValue_2 < 401))
{
for(index = 3; index >= 0; index--)
{
shiftWrite(index, HIGH);
shiftWrite(index+4, HIGH);
delay(delayTime);
shiftWrite(index, LOW);
shiftWrite(index+4, LOW); }
if ((sensorValue <= 401) && (sensorValue > 360)) {
delayTime = 27;}
if ((sensorValue <= 359) && (sensorValue > 320)) {
delayTime = 22;}
if ((sensorValue <= 319) && (sensorValue > 280)) {
delayTime = 20;}
if ((sensorValue <= 279) && (sensorValue > 240)) {
delayTime = 18;}
if ((sensorValue <= 239) && (sensorValue > 200)) {
delayTime = 16;}
if ((sensorValue <= 199) && (sensorValue > 160)) {
delayTime = 14;}
if ((sensorValue <= 159) && (sensorValue > 120)) {
delayTime = 12;}
if ((sensorValue <= 119) && (sensorValue > 80)) {
delayTime = 10;}
if ((sensorValue <= 79) && (sensorValue > 40)) {
delayTime = 8;}
if ((sensorValue <= 39) || (sensorValue < 2)) {
delayTime = 6;}
}
else if((sensorValue_2 > 501) && (sensorValue < 501) &! (sensorValue < 401)) //Rotate Right
{
shiftWrite(index, HIGH);
shiftWrite(index+7, HIGH);
delay(delayTime);
shiftWrite(index, LOW);
shiftWrite(index+7, LOW);
shiftWrite(index+1, HIGH);
shiftWrite(index+6, HIGH);
delay(delayTime);
shiftWrite(index+1, LOW);
shiftWrite(index+6, LOW);
shiftWrite(index+2, HIGH);
shiftWrite(index+5, HIGH);
delay(delayTime);
shiftWrite(index+2, LOW);
shiftWrite(index+5, LOW);
shiftWrite(index+3, HIGH);
shiftWrite(index+4, HIGH);
delay(delayTime);
shiftWrite(index+3, LOW);
shiftWrite(index+4, LOW); } // action A
if ((sensorValue_2 >= 501) && (sensorValue_2 < 551)) {
delayTime = 27;}
if ((sensorValue_2 >= 552) && (sensorValue_2 < 602)) {
delayTime = 22;}
if ((sensorValue_2 >= 603) && (sensorValue_2 < 653)) {
delayTime = 20;}
if ((sensorValue_2 >= 654) && (sensorValue_2 < 704)) {
delayTime = 18;}
if ((sensorValue_2 >= 705) && (sensorValue_2 < 755)) {
delayTime = 16;}
if ((sensorValue_2 >= 756) && (sensorValue_2 < 806)) {
delayTime = 14;}
if ((sensorValue_2 >= 807) && (sensorValue_2 < 858)) {
delayTime = 12;}
if ((sensorValue_2 >= 859) && (sensorValue_2 < 909)) {
delayTime = 10;}
if ((sensorValue_2 >= 910) && (sensorValue_2 < 960)) {
delayTime = 8;}
if ((sensorValue_2 >= 961) || (sensorValue_2 > 1020)) {
delayTime = 6;}
else if((sensorValue_2 < 401) && (sensorValue < 501) &! (sensorValue < 401)) //Rotate Left
{
shiftWrite(index+3, HIGH);
shiftWrite(index+4, HIGH);
delay(delayTime);
shiftWrite(index+3, LOW);
shiftWrite(index+4, LOW);
shiftWrite(index+2, HIGH);
shiftWrite(index+5, HIGH);
delay(delayTime);
shiftWrite(index+2, LOW);
shiftWrite(index+5, LOW);
shiftWrite(index+1, HIGH);
shiftWrite(index+6, HIGH);
delay(delayTime);
shiftWrite(index+1, LOW);
shiftWrite(index+6, LOW);
shiftWrite(index, HIGH);
shiftWrite(index+7, HIGH);
delay(delayTime);
shiftWrite(index, LOW);
shiftWrite(index+7, LOW); }
if ((sensorValue_2 <= 401) && (sensorValue_2 > 360)) {
delayTime = 27;}
if ((sensorValue_2 <= 359) && (sensorValue_2 > 320)) {
delayTime = 22;}
if ((sensorValue_2 <= 319) && (sensorValue_2 > 280)) {
delayTime = 20;}
if ((sensorValue_2 <= 279) && (sensorValue_2 > 240)) {
delayTime = 18;}
if ((sensorValue_2 <= 239) && (sensorValue_2 > 200)) {
delayTime = 16;}
if ((sensorValue_2 <= 199) && (sensorValue_2 > 160)) {
delayTime = 14;}
if ((sensorValue_2 <= 159) && (sensorValue_2 > 120)) {
delayTime = 12;}
if ((sensorValue_2 <= 119) && (sensorValue_2 > 80)) {
delayTime = 10;}
if ((sensorValue_2 <= 79) && (sensorValue_2 > 40)) {
delayTime = 8;}
if ((sensorValue_2 <= 39) || (sensorValue_2 < 2)) {
delayTime = 6;}
}