// Даём понятное имя пину сервопривода головы #define PIN_SRV_HEAD 8 void setup() { } void loop() { // Устанавливаем вал сервопривода на 0° headMath(0); // Ждём 1 секунду delay(1000); // Устанавливаем вал сервопривода на 90° headMath(90); // Ждём 1 секунду delay(1000); // Устанавливаем вал сервопривода на 180° headMath(180); // Ждём 1 секунду delay(1000); // Устанавливаем вал сервопривода на 90° headMath(90); // Ждём 1 секунду delay(1000); } // Управление сервоприводом захвата с помощью формулы // Угол задаётся в градусах от 0° до 180° void headMath(int pos) { int wait = 10.3 * pos + 544; for (int i = 0; i <= 50; i++) { digitalWrite(PIN_SRV_HEAD, HIGH); delayMicroseconds(wait); digitalWrite(PIN_SRV_HEAD, LOW); delay(20); } }