✋ سنسور فشار FSR (Force Sensitive Resistor (FSR))

اسم انگلیسیForce Sensitive Resistor (FSR)
در ووکوی (Wokwi)نسخه‌ی آماده‌ای سراغ نداریم
دسته🌡️ سنسورها
در شبیه‌ساز فارسیمود ساده (بدون کد) و مود آردوینو · رایگان

سنسور فشار یا نیرو FSR (Force Sensitive Resistor) یک نوار پلاستیکی نازک با دایره یا مربعی حساس در سرش است که هرچه محکم‌تر فشارش بدهی، مقاومتش کمتر می‌شود؛ مدل رایجش FSR402 است. وقتی دست به آن نمی‌زنی مقاومتش بیشتر از یک مگااهم است و زیر فشار انگشت به چند کیلواهم و حتی چند صد اهم می‌رسد. با آن دکمه‌ی حساس به فشار، کف‌پوشی که قدم را حس می‌کند، انگشت ربات که می‌فهمد جسم را گرفته یا بازی «چقدر محکم زدی؟» می‌سازی؛ ولی ترازوی دقیق نه.

سنسور فشار در ووکوی (Wokwi)

تا جایی که می‌دانیم ووکوی نسخه‌ی آماده‌ی این قطعه را ندارد. خبر خوب این است که از دید آردوینو، FSR در مدار مقسم ولتاژ فقط یک ولتاژ آنالوگ متغیر روی A0 است؛ پس در ووکوی یک wokwi-potentiometer جایش بگذار و چرخاندن دسته را «فشار دادن» حساب کن. پایه‌ی SIG را به A0، VCC را به 5V و GND را به GND وصل کن.

{
  "parts": [
    { "type": "wokwi-arduino-uno", "id": "uno", "top": 0, "left": 0, "attrs": {} },
    { "type": "wokwi-potentiometer", "id": "pot1", "top": -120, "left": 160, "attrs": {} }
  ],
  "connections": [
    [ "pot1:VCC", "uno:5V", "red", [] ],
    [ "pot1:SIG", "uno:A0", "orange", [] ],
    [ "pot1:GND", "uno:GND.1", "black", [] ]
  ]
}

خود FSR در تینکرکد فارسی رایگان شبیه‌سازی می‌شود و در هر دو مود ساده و آردوینو هست.

سیم‌کشی با آردوینو

FSR دو پایه دارد و قطبیت ندارد. چون خروجی‌اش مقاومت است نه ولتاژ، باید آن را با یک مقاومت ثابت ۱۰ کیلواهم سری کنی تا یک مقسم ولتاژ بسازی.

پایه‌ی قطعهوصل به
پایه‌ی اول FSR5V
پایه‌ی دوم FSRA0
مقاومت ۱۰ کیلواهمبین A0 و GND

بدون فشار، FSR تقریباً قطع است و A0 نزدیک صفر را می‌خواند؛ با فشار بیشتر عدد به سمت ۱۰۲۳ می‌رود. اگر می‌خواهی فشارهای سبک را بهتر تشخیص بدهی، مقاومت ثابت را بزرگ‌تر کن (مثلاً ۴۷ کیلو). ماشین‌حساب مقسم ولتاژ نشان می‌دهد هر انتخاب چه بازه‌ای می‌دهد.

کد نمونه

این برنامه علاوه بر عدد خام، با فرمول مقسم ولتاژ مقاومت خود FSR را حساب می‌کند و فشار را در سه سطح سبک، متوسط و محکم دسته‌بندی می‌کند.

// FSR + 10k divider on A0: estimate the FSR resistance and a pressure level.
const int FSR_PIN = A0;
const float R_FIXED = 10000.0;     // the 10k resistor from A0 to GND

void setup() {
  Serial.begin(9600);
}

void loop() {
  int raw = analogRead(FSR_PIN);
  float volts = raw * 5.0 / 1023.0;

  Serial.print("raw=");
  Serial.print(raw);

  if (raw < 10) {
    Serial.println("  no touch");
  } else {
    float rFsr = R_FIXED * (5.0 - volts) / volts;   // solved from the divider
    Serial.print("  R=");
    Serial.print(rFsr / 1000.0, 1);
    Serial.print("k  ");
    if (raw < 300) Serial.println("light");
    else if (raw < 700) Serial.println("medium");
    else Serial.println("hard");
  }
  delay(200);
}

فرمول از رابطه‌ی مقسم می‌آید: ولتاژ A0 برابر است با ۵ ضرب در مقاومت ثابت، تقسیم بر مجموع دو مقاومت. ما همین رابطه را برای مقاومت FSR حل کرده‌ایم.

اشتباه‌های رایج

آموزش‌های مرتبط

سؤال‌های رایج

می‌شود با FSR ترازو ساخت؟

برای وزن دقیق نه. FSR تکرارپذیری حدود ده درصد دارد و زیر بار ثابت کم‌کم عددش عوض می‌شود. برای ترازو، لودسل با ماژول HX711 مناسب است؛ FSR برای تشخیص لمس و فشار سبک و محکم عالی است.

برای FSR چه مقاومتی بگذارم؟

معمولاً ۱۰ کیلواهم. اگر می‌خواهی فشارهای خیلی سبک را بهتر تشخیص بدهی، مقاومت بزرگ‌تر مثل ۴۷ کیلو بگذار؛ برای فشارهای سنگین، مقاومت کوچک‌تر بهتر است.

سنسور FSR در ووکوی هست؟

تا جایی که می‌دانیم نه. یک پتانسیومتر روی A0 همان ولتاژ متغیر را می‌سازد و کد بدون تغییر کار می‌کند. خود FSR در تینکرکد فارسی رایگان شبیه‌سازی می‌شود.

📖 طرز کار، مشخصات فنی و نکته‌های خرید این قطعه در دانشنامه‌ی تینکرکد فارسی: سنسور فشار FSR آمده است.

قطعه‌های دیگرِ سنسورها

💨

سنسور گاز MQ-2

MQ-2 Gas Sensor

📳

سنسور لرزش SW-420

SW-420 Vibration Sensor

🧲

سنسور اثر هال

Hall Effect Sensor (A3144)

🚪

رید سوییچ (سوییچ ریدی)

Reed Switch

🌱

سنسور رطوبت خاک

Soil Moisture Sensor

🖐️

سنسور خمش (فلکس)

Flex Sensor

همه‌ی ۱۰۵ قطعه ← · آموزش مدار

سنسور فشار FSR را در شبیه‌ساز امتحان کن 🚀