Отлично работает на Atmega168, а вот Atmega8 не совсем работает, центр у сервы сильно уходит вбок и относительно него и крутиться, а надо чтоб по центру все было.
Пробывал через библиотеку servo.h, результат тот же.
Причем используя библиотеку servo.h заметен паразитивный дребезг сервы, а если как написал я, то все отлично.
Еще вопрос, как избавиться дребезга сервы подключенной к ардуино и используя библиотеку servo.h или может другую подскажите какую?
В чем может быть проблема?
Реализовывать все на Atmega168, вместо Atmega8, не предлагать, дифицит они у нас в городе.
В идеале все должно работать на Atmega8, с использованием внутреннего кварца на 8МГц
Еще вопрос, как нибудь это перенести на Attiny 13 можно?
Нужно для летательного аппарата, переключить на аппаратуре и поменять серву местами с перепайкой сервы, не предлагать.
- Код: Выделить всё
int servoPin = 10; // Control pin for servo motor
int pulse, pulse_revers;
void setup() {
pinMode(9, INPUT); // Input from reciver
pinMode(servoPin, OUTPUT); // Set servo pin as an output pin
}
void loop() {
pulse = pulseIn(9, HIGH); // Input from reciver
pulse_revers = (1472 - pulse)+1472; // Revers servo
digitalWrite(servoPin, HIGH); // Turn the motor on
delayMicroseconds(pulse_revers); // Length of the pulse sets the motor position
digitalWrite(servoPin, LOW); // Turn the motor off
delay(20); // the time needed in between pulses
}