هنر
زیبایی و سلامت
صنایع دستی
فرهنگ و تاریخ
سرگرمی
محیط زیست
غذا و نوشیدنی
آینده سبز
مهندسی معکوس
علوم
ورزش
فناوری
پوشیدنی‌ها
Building an Infrared Distance Sensor
Ed

ایجاد شده توسط

Ed

13. ژوئیه 2026FI
۵
۰
۰
۰
۰

Building an Infrared Distance Sensor

Measure distance with light. A Sharp infrared sensor bounces a beam off an object and reports, as a voltage, the angle it returns at — closer objects give a higher reading. The Arduino turns that into an approximate distance and lights an LED when something comes near: a touchless switch, a hand-wave trigger, or a robot's eyes. Unlike the ultrasonic sensor, this uses infrared light, works at short range, and makes no sound.

متوسط
1 hour

دستورالعمل‌ها

1

Wire the sensor and LED

The Sharp sensor has a 3-wire cable: VCC (red) to Arduino 5V, GND (black) to GND, and signal (white or yellow) to A0. On the breadboard, wire an LED from pin 7 through a 330 Ω resistor to GND (long leg to the pin).

مواد مورد نیاز این مرحله:

Arduino Uno R3Arduino Uno R31 piece
Infrared Proximity Sensor - Sharp GP2Y0A21YKInfrared Proximity Sensor - Sharp GP2Y0A21YK1 piece
LED - Basic 5mmLED - Basic 5mm1 piece
Resistor 330 Ohm 1/6 Watt PTH - 20 packResistor 330 Ohm 1/6 Watt PTH - 20 pack1 pack
BreadboardBreadboard1 piece
Jumper Wires (Male-to-Male)Jumper Wires (Male-to-Male)1 pack
2

Connect and open the IDE

Plug the Arduino into your computer with the USB cable, open the Arduino IDE, and select Arduino Uno and its serial port.

مواد مورد نیاز این مرحله:

USB-B CableUSB-B Cable1 piece

ابزارهای مورد نیاز:

Computer with Arduino IDEComputer with Arduino IDE
3

Upload the distance sketch

Paste this sketch and upload, then open the Serial Monitor. It reads the sensor, estimates the distance, and lights the LED when something is within 20 cm.

ir_distance_sensor.inoarduino
// Sharp GP2Y0A21YK infrared distance sensor (valid ~10-80 cm).
// The output is NON-LINEAR (roughly 1/distance); the formula below is a common
// approximation - calibrate against known distances if you need accuracy.
// Sensor signal on A0; indicator LED on pin 7.

const int IR_PIN = A0;
const int LED_PIN = 7;
const int NEAR_CM = 20;   // light the LED when something is closer than this

void setup() {
  pinMode(LED_PIN, OUTPUT);
  Serial.begin(9600);
}

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

  // approximate distance in cm for the GP2Y0A21 curve
  float distance = 27.86 * pow(volts, -1.15);

  Serial.print(distance);
  Serial.println(" cm");

  if (distance < NEAR_CM) {
    digitalWrite(LED_PIN, HIGH);   // object nearby
  } else {
    digitalWrite(LED_PIN, LOW);
  }
  delay(200);
}
4

Test and understand the curve

Open the Serial Monitor and move your hand between about 10 and 80 cm — the printed distance should track it, and the LED lights inside 20 cm. Two things to know: below ~10 cm the reading becomes ambiguous (the sensor's curve folds back), and the output is non-linear, so for real accuracy note the raw value at a few known distances and fit your own curve.

5

Put it to work

Use it as a touchless switch (wave to trigger), a shelf or drawer 'is-it-open' sensor, or an obstacle detector for a small robot. Change NEAR_CM to set the trigger distance, or swap in the short-range (4–30 cm) or long-range (20–150 cm) Sharp sensor for a different span.

مواد

7

ابزارهای لازم

1
مجموع تخمینی
$64.00

نقشه‌های مرتبط

این نقشه‌ها دانش مشترکی دارند — تکنیک‌ها، مواد یا اصول

CC0 مالکیت عمومی

این نقشه تحت مجوز CC0 منتشر شده است. شما آزاد هستید آن را کپی، ویرایش، توزیع و برای هر هدفی بدون نیاز به اجازه استفاده کنید.

با خرید محصولات از طریق نقشه از سازنده حمایت کنید و او کمیسیون سازنده تعیین شده توسط فروشندگان، دریافت می‌کند یا یک نسخه جدید از این نقشه ایجاد کنید و آن را به عنوان اتصال در نقشه خود قرار دهید تا درآمد به اشتراک گذاشته شود.

بحث و گفتگو

(0)

ورود برای شرکت در بحث

در حال بارگذاری نظرات...