📡 ماموریت ۴۰: رادار چرخان
سنسور فاصله رو روی سروو بذار، زاویه رو جارو کن و هر زاویه رو با فاصلهش چاپ کن.
سطح: چالشی ⭐⭐⭐ · مود: آردوینو — با کد
هدفها
- ☐ یه آردوینو روی صحنه باشه
- ☐ یه سروو
- ☐ یه سنسور اولتراسونیک
- ☐ کد از حلقهی for استفاده کنه
- ☐ کد Serial.print داشته باشه
- ☐ شبیهسازی در حال اجرا
قطعههای لازم
- Arduino Uno
- سروو موتور
- حسگر فاصله (HC-SR04)
💡 گیر کردی؟ داخل شبیهساز راهنما را ببین، و اگر باز هم نشد دکمهی «برام حلش کن» مدار را برایت میچیند تا ببینی چطور کار میکند.
جواب کامل
اول خودت امتحان کن! بعد جواب را ببین 👀
سیمکشی
- Arduino Uno (VCC5) ⟷ سروو موتور (VCC)
- سروو موتور (GND) ⟷ Arduino Uno (GND1)
- Arduino Uno (D11) ⟷ سروو موتور (SIG)
- Arduino Uno (VCC5) ⟷ Ultrasonic (HC-SR04) (VCC)
- Arduino Uno (D9) ⟷ Ultrasonic (HC-SR04) (TRIG)
- Ultrasonic (HC-SR04) (ECHO) ⟷ Arduino Uno (D10)
- Ultrasonic (HC-SR04) (GND) ⟷ Arduino Uno (GND2)
کد
#include <Servo.h>
Servo head;
const int trig = 9, echo = 10;
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() {
head.attach(11);
pinMode(trig, OUTPUT);
pinMode(echo, INPUT);
Serial.begin(9600);
}
void loop() {
for (int a = 15; a <= 165; a += 5) {
head.write(a);
delay(60);
Serial.print("zavie:");
Serial.print(a);
Serial.print(" fasele:");
Serial.println(readDistance());
}
}
ماموریتهای مشابه
📚 برای یاد گرفتن پایهها سری به دورهی آموزش آردوینو بزن · 🎯 همهی ماموریتها