Filipove Programy pre Arduino
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);
}