Filipove Programy pre Arduino

Zo stránky Robotický krúžok
Verzia z 17:28, 24. november 2023, ktorú vytvoril FilipK (diskusia | príspevky) (Vytvorená stránka „Na robotickom krúžku som pracoval s Arduinom a servom. Tu si môžete pozrieť video: <youtube>ifI-9OBus0I</youtube> Program: <syntaxhighlight lang="c"> #define SERVO_PIN 5 int position; char c=0; void setup() { pinMode(SERVO_PIN, OUTPUT); Serial.begin(9600); position = 90; } void set_servo(long angle) { // tu poslite pulz podla hodnoty angle // ked je angle == 0, tak cas = 500 // ked je angle == 180, tak cas = 2500 // hocico medzitym um…“)
(rozdiel) ← Staršia verzia | Aktuálna úprava (rozdiel) | Novšia verzia → (rozdiel)
Skočit na navigaci Skočit na vyhledávání

Na robotickom krúžku som pracoval s Arduinom a servom. Tu si môžete pozrieť video:


Program:

#define SERVO_PIN 5     

int position;
char c=0;

void setup() {
  pinMode(SERVO_PIN, OUTPUT);
  Serial.begin(9600);
  position = 90;
}

void set_servo(long angle)
{
  // tu poslite pulz podla hodnoty angle
  // ked je angle == 0, tak cas = 500
  // ked je angle == 180, tak cas = 2500
  // hocico medzitym umerne
  int cas = angle * 100 / 9;
  digitalWrite(SERVO_PIN,HIGH);
  delayMicroseconds(cas);
  digitalWrite(SERVO_PIN,LOW);
}

void show_servo(int angle)
{
  Serial.print("setting servo to ");
  Serial.print(angle);
  Serial.println(" degrees.");
}

void loop()
{
    if (Serial.available())
    {
       c = Serial.read();
       if (c == '+')
       {
          if (position < 180) position+=7;          
       }
       else if (c == '-')
       {
          if (position > 0) position-=7;
       }
       show_servo(position);     
    }
    set_servo(position);
    delay(20);
}