🎯 کنترل تناسبی سروو

سروو با گامی متناسب با خطا، نرم به هدفِ پتانسیومتر می‌رسد.

سطح: چالشی ⭐⭐⭐ · مود: آردوینو (سه‌بعدی + کد)

قطعات لازم

کد کامل پروژه

// کنترل تناسبی: سروو آرام به سمت هدف (پتانسیومتر) می‌رود
#include <Servo.h>

Servo arm;
float pos = 90;          // where the servo is now
const float Kp = 0.1;    // gain: how strongly we react to the error

void setup() {
  arm.attach(9);
  arm.write(90);
  Serial.begin(9600);
}

void loop() {
  int target = map(analogRead(A0), 0, 1023, 0, 180);
  float error = target - pos;     // how far are we from the goal?
  pos = pos + Kp * error;         // move a PART of the way: big error = big step
  arm.write((int)pos);

  Serial.print("target:");
  Serial.print(target);
  Serial.print(" pos:");
  Serial.println(pos);
  delay(20);
}

چطور اجرایش کنم؟

  1. شبیه‌ساز تینکرکد فارسی را باز کن و «مود آردوینو» را انتخاب کن.
  2. از پنل «نمونه‌ها»، «کنترل تناسبی سروو» را بارگذاری کن — مدار و کد با هم می‌آیند.
  3. دکمه‌ی اجرا ▶ را بزن و خروجی Serial و رفتار قطعات را تماشا کن.
  4. حالا کد را تغییر بده — عددها، پین‌ها، ترتیب — و دوباره اجرا کن!
این پروژه را رایگان در شبیه‌ساز اجرا کن 🤖