prosím o pomoc

Odpovědět
RomanSNP
Příspěvky: 1
Registrován: 18 bře 2024, 15:48

prosím o pomoc

Příspěvek od RomanSNP » 18 bře 2024, 15:56

Dobrý den.
Měl bych takovou velkou prosbu , jsem v tom začatečník a chtěl jsem pro znameho dokončit jeden projekt . Je pravda zitra to mám odevzdat až najednu věc mi vše funguje jak má, jenom jsem chtěl ještě doplnit arduino nano nebo uno ktere bude hlídat na vstupu signal 3v logiku, a potřebuji aby při přichodu LOG 1 se na dobu 1s sepla led a to same udělala jakmile tento signal přejde do stavu log 0 moc vam všem děkuji za nápady a připadny kod

Uživatelský avatar
kiRRow
Příspěvky: 1240
Registrován: 07 kvě 2019, 07:03
Bydliště: Opava

Re: prosím o pomoc

Příspěvek od kiRRow » 18 bře 2024, 17:17

Kód: Vybrat vše

boolean currentInput = false;
boolean lastInput = false;
boolean ledON = false;
unsigned long ledMillis, currentMillis;

void setup() {
  pinMode(2, INPUT);
  pinMode(13, OUTPUT);
}

void loop() {
  currentInput = digitalRead(2);
  currentMillis = millis();

  if(currentInput != lastInput){
    lastInput = currentInput;
    ledMillis = currentMillis;
    ledON = true;
  }
  if(currentMillis - ledMillis >= 1000){
    ledON = false;
  }
  
  digitalWrite(13, ledON);
}
pamatuji si poslední stav, porovnávám ho se současným stavem, pokud došlo ke změně, zapamatuji si nový stav a kdy k tomu došlo a že ledka má svítit, dále kontroluji jestli nesvítí delší dobu než 1000ms a pokud ano zhasu ji, následně aktualizuji stav ledky

Odpovědět

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 1 host