Servomotor - streda 2526: Difference between revisions

From Krúžok Robotiky CENADA
Jump to navigation Jump to search
Created page with "<syntaxhighlight lang="C++"> #define SERVO 4 void setup() { pinMode(SERVO, OUTPUT); } void loop() { for (long i = 0; i < 180; i++) { long sirka = 500 + i * 2000 / 180; for (int j = 0; j < 5; j++) { digitalWrite(SERVO, 1); delayMicroseconds(sirka); digitalWrite(SERVO, 0); delay(20); } } for (long i = 0; i < 180; i++) { long sirka = 2500 - i * 2000 / 180; for (int j = 0; j < 5; j++) { digitalWrit..."
 
No edit summary
 
(One intermediate revision by the same user not shown)
Line 1: Line 1:
Cyklický pomalý pohyb v celom rozsahu:
<syntaxhighlight lang="C++">
<syntaxhighlight lang="C++">
#define SERVO 4
#define SERVO 4
Line 31: Line 33:
     }
     }
   }
   }
}
</syntaxhighlight>
Riadenie pomocou joysticku:
<syntaxhighlight lang="C++">
#define SERVO 4
void setup() {
  pinMode(SERVO, OUTPUT);
}
void loop() {
    int x = analogRead(A0);
    long sirka = 2500 - x * 2000 / 1023;
    for (int j = 0; j < 5; j++)
    {
      digitalWrite(SERVO, 1);
      delayMicroseconds(sirka);
      digitalWrite(SERVO, 0);
      delay(20);
    }
  }
}
}
</syntaxhighlight>
</syntaxhighlight>

Latest revision as of 14:31, 3 December 2025

Cyklický pomalý pohyb v celom rozsahu:

#define SERVO 4

void setup() {
  pinMode(SERVO, OUTPUT);
}

void loop() {
  
  for (long i = 0; i < 180; i++)
  {
    long sirka = 500 + i * 2000 / 180;
    for (int j = 0; j < 5; j++)
    {
      digitalWrite(SERVO, 1);
      delayMicroseconds(sirka);
      digitalWrite(SERVO, 0);
      delay(20);
    }
  }

    for (long i = 0; i < 180; i++)
  {
    long sirka = 2500 - i * 2000 / 180;
    for (int j = 0; j < 5; j++)
    {
      digitalWrite(SERVO, 1);
      delayMicroseconds(sirka);
      digitalWrite(SERVO, 0);
      delay(20);
    }
  }
}


Riadenie pomocou joysticku:

#define SERVO 4

void setup() {
  pinMode(SERVO, OUTPUT);
}

void loop() {
    int x = analogRead(A0);
    long sirka = 2500 - x * 2000 / 1023;
    for (int j = 0; j < 5; j++)
    {
      digitalWrite(SERVO, 1);
      delayMicroseconds(sirka);
      digitalWrite(SERVO, 0);
      delay(20);
    }
  }

}