• Witaj na Forum Arduino Polska! Zapraszamy do rejestracji!
  • Znajdziesz tutaj wiele informacji na temat hardware / software.
Witaj! Logowanie Rejestracja


Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Sterowanie ruchomą strzelnicą
#3
[Obrazek: 3743956600_1600232648_thumb.jpg]

EDIT:
Już poprawiłem połączenie przycisku, reaguje na wciśniecie przycisku. Jak teraz zrobić aby akcja zaczęła z opóźnieniem np 5 sekund i było odliczanie za pomocą diody LED?

Aha. po wgraniu kodu Arduino ze zmienionymi parametrami czasu i opóźnień najpierw zapalają wszystkie diody i potem gasną i wtedy czekają na uruchomienie przyciskiem. Jak to zrobić żeby na początku nie zapalały diody po wgraniu kodu?


//opoznienie i czas trwania w ms dla kanału 1
unsigned long opoznienie1 = 500;
unsigned long czas1 = 500;

//opoznienie i czas trwania w ms dla kanału 2
unsigned long opoznienie2 = 500;
unsigned long czas2 = 300;

//opoznienie i czas trwania w ms dla kanału 3
unsigned long opoznienie3 = 500;
unsigned long czas3 = 200;




//pin cyfrowy, pod który podłączony jest przycisk START
const int buttonPin = 2;
int buttonState = 0;

unsigned long int last_millis;

void setup()
{
//tutaj wpisujemy instrukcje pinMode dla wszystkich kanałów
pinMode(13, OUTPUT);
pinMode(12, OUTPUT);
pinMode(11, OUTPUT);
pinMode(buttonPin, INPUT);


//itd.
}

void loop()
{
buttonState = digitalRead(buttonPin);
if (buttonState == HIGH)
{
last_millis = millis();
}



if( millis() >= (last_millis + opoznienie1 + czas1))
{
//tutaj wyłączamy urządzenia kanału 1
digitalWrite(13, HIGH);
}
else if( millis() >= (last_millis + opoznienie1))
{
//tutaj uruchamiamy urządzenia dla kanału 1
digitalWrite(13, LOW);
}


if( millis() >= (last_millis + opoznienie2 + czas2))
{
//tutaj wyłączamy urządzenia kanału 2
digitalWrite(12, HIGH);
}
else if( millis() >= (last_millis + opoznienie2))
{
//tutaj uruchamiamy urządzenia dla kanału 2
digitalWrite(12, LOW);
}


if( millis() >= (last_millis + opoznienie3 + czas3))
{
//tutaj wyłączamy urządzenia kanału 3
digitalWrite(11, HIGH);
}
else if( millis() >= (last_millis + opoznienie3))
{
//tutaj uruchamiamy urządzenia dla kanału 3
digitalWrite(11, LOW);
}



//analogicznie tworzymy stałe const int dla pozostałych kanałów, oraz kopiujemy powyższe instrukcje warunkowe i zmieniamy zmienne


}
 
Odpowiedź
  


Wiadomości w tym wątku
Sterowanie ruchomą strzelnicą - przez greg801 - 16-09-2020, 00:05
RE: Sterowanie ruchomą strzelnicą - przez greg801 - 16-09-2020, 07:13
RE: Sterowanie ruchomą strzelnicą - przez greg801 - 17-09-2020, 13:41

Skocz do:


Przeglądający: 1 gości