⚙️ استپر نرم با پتانسیومتر

پتانسیومتر مقصد را می‌گوید و AccelStepper با شتاب نرم به آن می‌رسد.

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

قطعات لازم

کد کامل پروژه

// استپر نرم: پتانسیومتر مقصد را تعیین می‌کند، AccelStepper با شتاب می‌رود
#include <AccelStepper.h>

// 28BYJ-48 + ULN2003 on IN1..IN4 = 8, 9, 10, 11 (note the 8, 10, 9, 11 order)
AccelStepper stepper(AccelStepper::FULL4WIRE, 8, 10, 9, 11);
unsigned long lastPrint = 0;

void setup() {
  stepper.setMaxSpeed(600);       // steps per second at most
  stepper.setAcceleration(300);   // steps per second, per second
  Serial.begin(9600);
}

void loop() {
  long goal = map(analogRead(A0), 0, 1023, 0, 2048);   // 0..one full turn
  stepper.moveTo(goal);           // just sets the target, never waits
  stepper.run();                  // does at most ONE step; call it very often

  if (millis() - lastPrint > 300) {   // print without blocking run()
    lastPrint = millis();
    Serial.print("goal:");
    Serial.print(goal);
    Serial.print(" pos:");
    Serial.println(stepper.currentPosition());
  }
}

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

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