Close

Odpověď na: Posuvný registr 74HC595 pomoc

Úvodní stránka Fórum Vaše projekty Arduino Posuvný registr 74HC595 pomoc Odpověď na: Posuvný registr 74HC595 pomoc

#11237
RomanB
Účastník

int latchPin = 4;
int clockPin = 5;
int dataPin = 6;
int vstup = 7;   //pridal jsem si vstup jako podminku

int index=0;

byte data[] =
{
  B10000000,
  B11000000,
  B11100000,
  B11110000,
  B11111000,
  B11111100,
  B11111110,
  B11111111,
};

byte data2[1] =

{
  B11111111,
};

unsigned long staryMillis = 0;        

const long interval = 800;

unsigned long novyMillis = millis();

void setup() {
  
  Serial.begin(9600);
  pinMode(latchPin, OUTPUT);
  pinMode(clockPin, OUTPUT);
  pinMode(dataPin, OUTPUT);
  pinMode(vstup, INPUT_PULLUP);
  
}

void loop() {
  
  
boolean podminka = digitalRead(vstup);  

//**********************************************************************  

 unsigned long novyMillis = millis();
 
  if (novyMillis - staryMillis >= interval && podminka==0) {
   
      staryMillis = novyMillis; 

       
      digitalWrite(latchPin, LOW);

      shiftOut(dataPin, clockPin, MSBFIRST, data[index]);
      
      if (index > 6)  { shiftOut(dataPin, clockPin, MSBFIRST, data[7]); index = 7;  }
    
      digitalWrite(latchPin, HIGH);
      
 Serial.println(index);   
 //Serial.println(staryMillis);
 //Serial.println(novyMillis);
 
      index=index+1;
 
}
//**********************************************************************
 if (novyMillis - staryMillis >= interval && podminka==1) {
   
      staryMillis = novyMillis; 
      
      index = 0;
      
      digitalWrite(latchPin, LOW);
      
      shiftOut(dataPin, clockPin, MSBFIRST, data2[index]);
      
       
 Serial.println(index);   
 //Serial.println(staryMillis);
 //Serial.println(novyMillis);

}
//********************************************************************** 
 
}//konec smycky

Vyzkoušej toto. Jako podmínku jsem použil tlačítko: 0 je stlačeno.