🚗 سنسور پارک

فاصله به ریتم بوق تبدیل می‌شود.

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

قطعات لازم

کد کامل پروژه

const int trig = 9, echo = 10, buzzer = 8;
unsigned long lastBeep = 0;
bool beepOn = false;

long readDistance() {
  digitalWrite(trig, LOW);  delayMicroseconds(2);
  digitalWrite(trig, HIGH); delayMicroseconds(10);
  digitalWrite(trig, LOW);
  long d = pulseIn(echo, HIGH, 30000);
  return d == 0 ? 400 : d / 58;
}

void setup() {
  pinMode(trig, OUTPUT);
  pinMode(echo, INPUT);
  pinMode(buzzer, OUTPUT);
  Serial.begin(9600);
}

void loop() {
  long cm = readDistance();
  Serial.print("fasele:");
  Serial.println(cm);

  long gap;
  if (cm > 100)      gap = 0;
  else if (cm > 50)  gap = 700;
  else if (cm > 25)  gap = 350;
  else if (cm > 10)  gap = 150;
  else               gap = -1;

  if (gap == 0) {
    noTone(buzzer);
  } else if (gap == -1) {
    tone(buzzer, 2000);
  } else if (millis() - lastBeep >= gap) {
    lastBeep = millis();
    beepOn = !beepOn;
    if (beepOn) tone(buzzer, 1500); else noTone(buzzer);
  }

  delay(50);
}

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

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