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
25.4.2017 v 19:48
#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.