Dneska si ukážeme jak rozpohybovat servo. Naučit ho kam má chodit, jak rychle a kdy. Servo = modelářské servo na 5V, nijak upravené. PS: toto zapojení nepotřebuje odrušení, jelikož v pauze (delay) nekmitá!
Nastavení:
X - z pozice přesuň
X - do pozice přesuň
X - rychlost (1 nejpomalejší)
Modrý text lze zkopírovat pod sebe podle počtu cyklů za sebou.
Zapojení:
PIN 13 - servo řídící vodič
Použití: Používám jej jako pohyb postavičky sekáče s kosou, tedy 10 krát mám pohyb serva a pak náhodná pauza. Další použítí, je třeba pohyb bagru, kohouta a nevím co vás ještě napadne na kolejišti rozhýbat.
Video: Arduino ovládá servo, které hýbe s postavičkou sekáče s kosou.
Program:
#include <Servo.h>
Servo servo;
int pos = 0;
int value = 0;
void setup() {
servo.attach(13); // nastavení řidícího signálu serva na pin 13
Serial.begin(9600);
}
void loop()
{
servo.attach(13); // pripoji servo k pinu
for (pos = 0; pos <= 80; pos +=5){ // hýbne servem z pozice 0 do 80 s danou rychlostí
servo.write(pos);
value = servo.read();
Serial.println(value);
delay(20);
}
for (pos = 80; pos >= 0; pos -=3){ // hýbne servem z pozice 80 do 0 s danou rychlostí
servo.write(pos);
value = servo.read();
Serial.println(value);
delay(20);
}
servo.detach(); // vypne servo od pinu, protikmit funkce
delay(random(10000,32000)); // cekej a nahodne spust (cekej od 10000 do 32000 nahodne) maximum - 32000 a minimum 1
}
/// sekce for (pos... je potřeba duplikovat pro případ sekáče minimálně tolíkrát, kolikrát má seknout. Defaultní program je jen s jedním seknutím nápřah/sek.