Skocz do zawartości

Sterowanie czasem przełączania pomiędzy przekaźnikami


Pomocna odpowiedź

Napisano

Witam posiadam 16 przekaźników wpięte pod arduino uno. W programie mogę sobie ustawić przerwę po której załączy się następny przekaźnik.

A jak napisać program dzięki któremu będę mógł sterować tą przerwa po przez potencjometr ? (wolniej,szybciej)

void setup() {
pinMode(A0, INPUT);
pinMode(A1, INPUT_PULLUP);
pinMode(A2, INPUT_PULLUP);
pinMode(1, OUTPUT);
pinMode(2, OUTPUT);
pinMode(3, OUTPUT);
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);
pinMode(7, OUTPUT);
pinMode(8, OUTPUT);
pinMode(9, OUTPUT);
pinMode(10, OUTPUT);
pinMode(11, OUTPUT);
pinMode(12, OUTPUT);
pinMode(13, OUTPUT);
pinMode(A3, OUTPUT);
pinMode(A4, OUTPUT);
pinMode(A5, OUTPUT);
} 

void loop() {


// dół
if (digitalRead(A1) == LOW){
digitalWrite( 1, LOW);
delay(500);
digitalWrite( 2, LOW);
delay(500);
digitalWrite( 3, LOW);
delay(500);
digitalWrite( 4, LOW);
delay(500);
digitalWrite( 5, LOW);
delay(500);
digitalWrite( 6, LOW);
delay(500);
digitalWrite( 7, LOW);
delay(500);
digitalWrite( 8, LOW);
delay(500);
digitalWrite( 9, LOW);
delay(500);
digitalWrite( 10, LOW);
delay(500);
digitalWrite( 11, LOW);
delay(500);
digitalWrite( 12, LOW);
delay (500);
digitalWrite( 13, LOW);
delay(500);
digitalWrite( A3, LOW);
delay(500);
digitalWrite( A4, LOW);
delay(500);
digitalWrite( A5, LOW);
delay(500);
delay(2000);
digitalWrite( 1, HIGH);
delay(500);
digitalWrite( 2, HIGH);
delay(500);
digitalWrite( 3, HIGH);


delay(500);
digitalWrite( 4, HIGH);
delay(500);
digitalWrite( 5, HIGH);
delay(500); 

digitalWrite( 6, HIGH);
delay(500);
digitalWrite( 7, HIGH);
delay(500);
digitalWrite( 8, HIGH);
delay (500);
digitalWrite( 9, HIGH);
delay(500);
digitalWrite( 10, HIGH);
delay(500);
digitalWrite( 11, HIGH);
delay(500);
digitalWrite( 12, HIGH);
delay (500);
digitalWrite( 13, HIGH);
delay(500);
digitalWrite( A3, HIGH);
delay(500);
digitalWrite( A4, HIGH);
delay(500);
digitalWrite( A5, HIGH);
delay(1000);
// góra
}
if (digitalRead(A2) == LOW){
digitalWrite( A5, LOW);
delay(500);
digitalWrite( A4, LOW);
delay(500);
digitalWrite( A3, LOW);
delay(500);
digitalWrite( 13, LOW);
delay(500);
digitalWrite( 12, LOW);
delay(500);
digitalWrite( 11, LOW);
delay(500);
digitalWrite( 10, LOW);
delay(500);
digitalWrite( 9, LOW);
delay (500);
digitalWrite( 8, LOW);
delay(500);
digitalWrite( 7, LOW);
delay(500);
digitalWrite( 6, LOW);


delay(500);
digitalWrite( 5, LOW);
delay (500);
digitalWrite( 4, LOW);
delay(500); 

digitalWrite( 3, LOW);
delay(500);
digitalWrite( 2, LOW);


delay(500);
digitalWrite( 1, LOW);
delay(500); 

delay(2000);
digitalWrite( A5, HIGH);
delay(500);
digitalWrite( A4, HIGH);
delay(500);
digitalWrite( A3, HIGH);
delay(500);
digitalWrite( 13, HIGH);
delay (500);
digitalWrite( 12, HIGH);
delay(500);
digitalWrite( 11, HIGH);
delay(500);
digitalWrite( 10, HIGH);
delay(500);
digitalWrite( 9, HIGH);
delay (500);
digitalWrite( 8, HIGH);
delay(500);
digitalWrite( 7, HIGH);
delay(500);
digitalWrite( 6, HIGH);


delay(500);
digitalWrite( 5, HIGH);
delay (500);
digitalWrite( 4, HIGH);
delay(500); 

digitalWrite( 3, HIGH);
delay(500);
digitalWrite( 2, HIGH);
delay(500);
digitalWrite( 1, HIGH);
delay(1000);
}

Chcę po prostu dołożyć sterowanie potencjometrem "delayami" pomiędzy przekaźnikami gdzie bede mogl sobie manualnie regulować prędkość 

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...