Close

Odpověď na: Časovane spinaní pinu

Úvodní stránka Fórum Vaše projekty Arduino Časovane spinaní pinu Odpověď na: Časovane spinaní pinu

#10910
hogen
Účastník

Tak jsem to zkoušel,ale moc jsem to nepochopil.Můžeš prosím na to mrknout,jestli to má alespoň trochu hlavu a patu,nebo je tu úplnej nesmysl.Díky

// zpozdeni tlacitka
// v1
// by JP 2016
// program po stisku tlačítka rozsvítí LED diodu a nechá jí 5s rozsvícenou, pak ji zhasne a opět čeká na stisk tlačítka

const int LED = 13; // led dioda
const int TLACITKO = 10; // tlacitko proti zemi
const int TLACITKO1 = 11; // tlacitko proti zemi
const int TLACITKO2 = 12; // tlacitko proti zemi

boolean CEKAM = false; // kdyz je true tak ceka na zhasnuti.
unsigned long OLDTIME = 0; // strojní čas posledního stitku tlačítka
unsigned long ZPOZDENI = 5000; // čas zpoždění zahsnutí LED diody v ms.
unsigned long MYTIME = 0; // aktuální čas -zpoždění

unsigned long OLDTIME1= 0; // strojní čas posledního stitku tlačítka
unsigned long ZPOZDENI1 = 10000; // čas zpoždění zahsnutí LED diody v ms.
unsigned long MYTIME1 = 0; // aktuální čas -zpoždění

unsigned long OLDTIME2= 0; // strojní čas posledního stitku tlačítka
unsigned long ZPOZDENI2 = 15000; // čas zpoždění zahsnutí LED diody v ms.
unsigned long MYTIME2 = 0; // aktuální čas -zpoždění
void setup()
{
pinMode(LED, OUTPUT); // nastaveni jako vystup
pinMode(TLACITKO, INPUT_PULLUP); // nastaveni jako vystup
OLDTIME = millis();// zapamatuj si aktuální strojní čas
pinMode(TLACITKO1, INPUT_PULLUP); // nastaveni jako vystup
OLDTIME1 = millis();// zapamatuj si aktuální strojní čas
pinMode(TLACITKO2, INPUT_PULLUP); // nastaveni jako vystup
OLDTIME2 = millis();// zapamatuj si aktuální strojní čas
}

void loop()
{
digitalWrite(LED, CEKAM); // zapis stav na LED
if (digitalRead(TLACITKO) == 0) { // při stisku tlačitka
if (CEKAM == false) { // a zhasnuté LED diodě
CEKAM = true; // změn stav
OLDTIME = millis(); // zapamatuj aktuální strojový čas

if (digitalRead(TLACITKO1) == 0) { // při stisku tlačitka
if (CEKAM == false) { // a zhasnuté LED diodě
CEKAM = true; // změn stav
OLDTIME = millis(); // zapamatuj aktuální strojový čas

if (digitalRead(TLACITKO2) == 0) { // při stisku tlačitka
if (CEKAM == false) { // a zhasnuté LED diodě
CEKAM = true; // změn stav
OLDTIME = millis(); // zapamatuj aktuální strojový čas
}
}
}}}}}