Плеко / Робототехніка
Урок 08 · Крок 1 / 10

Потенціометр і сервопривід

Повертаємо ручку потенціометра — змінюється положення вала сервопривода.

  • Arduino Uno, USB-кабель і макетна плата.
  • Потенціометр із трьома контактами, наприклад B5K.
  • Позиційний сервопривід, наприклад SG90.
  • П’ять дротів для потенціометра та три з’єднання сервопривода.
  • Для справжнього сервопривода — окреме стабілізоване джерело 5 В із достатнім струмом, підібране вчителем, і спільне з’єднання GND.

Спочатку збираємо схему Wokwi. Особливості живлення справжнього сервопривода розглянемо окремо.

Перед зміною схеми від’єднай живлення. У Wokwi зупини симуляцію. Справжню схему перевір разом з учителем перед підключенням USB.

Повний код і файли проєкту

Положення ручки задає кут сервопривода від 0° до 180°.

#include <Arduino.h> // Команди входів, виходів і монітора порту.
#include <Servo.h> // Бібліотека керування сервоприводом.

const int POT_PIN = A0; // Аналоговий вхід потенціометра.
const int SERVO_PIN = 9; // Сигнальний пін сервопривода.
Servo servo; // Об’єкт, через який задаємо положення вала.

void setup() { // Виконується один раз після запуску.
  servo.attach(SERVO_PIN); // Починаємо керувати сервоприводом через пін 9.
  Serial.begin(115200); // Відкриваємо монітор порту зі швидкістю 115200.
}

void loop() { // Повторюємо зчитування та зміну кута.
  int raw = analogRead(POT_PIN); // Читаємо значення від 0 до 1023.
  int angle = map(raw, 0, 1023, 0, 180); // Перетворюємо його на кут 0–180°.
  servo.write(angle); // Задаємо потрібне положення вала.
  Serial.print("pot="); // Підписуємо показ потенціометра.
  Serial.print(raw); // Виводимо прочитане число.
  Serial.print("  angle="); // Підписуємо заданий кут.
  Serial.println(angle); // Виводимо кут і переходимо на новий рядок.
  delay(50); // Чекаємо 50 мс перед наступним зчитуванням.
}

Wokwi потребує інтернету. Завантажений HTML-урок працює офлайн.