🚗 سنسور پارک
فاصله به ریتم بوق تبدیل میشود.
سطح: متوسط ⭐⭐ · مود: آردوینو (سهبعدی + کد)
قطعات لازم
کد کامل پروژه
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);
}
چطور اجرایش کنم؟
- شبیهساز تینکرکد فارسی را باز کن و «مود آردوینو» را انتخاب کن.
- از پنل «نمونهها»، «سنسور پارک» را بارگذاری کن — مدار و کد با هم میآیند.
- دکمهی اجرا ▶ را بزن و خروجی Serial و رفتار قطعات را تماشا کن.
- حالا کد را تغییر بده — عددها، پینها، ترتیب — و دوباره اجرا کن!