↔️ ماموریت ۳۷: موتور در دو جهت
با درایور L293D موتور رو جلو و عقب ببر و سرعتش رو با PWM تنظیم کن.
سطح: چالشی ⭐⭐⭐ · مود: آردوینو — با کد
هدفها
- ☐ یه آردوینو روی صحنه باشه
- ☐ یه درایور موتور
- ☐ یه موتور
- ☐ کد analogWrite داشته باشه
- ☐ شبیهسازی در حال اجرا
قطعههای لازم
- Arduino Uno
- درایور موتور L293D
- موتور DC
- 9V Battery (کتابی)
💡 گیر کردی؟ داخل شبیهساز راهنما را ببین، و اگر باز هم نشد دکمهی «برام حلش کن» مدار را برایت میچیند تا ببینی چطور کار میکند.
جواب کامل
اول خودت امتحان کن! بعد جواب را ببین 👀
سیمکشی
- Arduino Uno (VCC5) ⟷ L293D Motor Driver (P16)
- L293D Motor Driver (P4) ⟷ Arduino Uno (GND1)
- Arduino Uno (D4) ⟷ L293D Motor Driver (P2)
- Arduino Uno (D5) ⟷ L293D Motor Driver (P7)
- Arduino Uno (D9) ⟷ L293D Motor Driver (P1)
- L293D Motor Driver (P3) ⟷ موتور DC (MOTOR_POS)
- L293D Motor Driver (P6) ⟷ موتور DC (MOTOR_NEG)
- 9V Battery (کتابی) (VCC) ⟷ L293D Motor Driver (P8)
- 9V Battery (کتابی) (GND) ⟷ Arduino Uno (GND2)
کد
const int in1 = 4, in2 = 5, en = 9;
void forward(int speed) {
digitalWrite(in1, HIGH);
digitalWrite(in2, LOW);
analogWrite(en, speed);
}
void backward(int speed) {
digitalWrite(in1, LOW);
digitalWrite(in2, HIGH);
analogWrite(en, speed);
}
void stopMotor() {
analogWrite(en, 0);
}
void setup() {
pinMode(in1, OUTPUT);
pinMode(in2, OUTPUT);
pinMode(en, OUTPUT);
Serial.begin(9600);
}
void loop() {
Serial.println("jolo");
forward(180);
delay(2000);
stopMotor();
delay(800);
Serial.println("aghab");
backward(180);
delay(2000);
stopMotor();
delay(800);
}
ماموریتهای مشابه
⚡
ماموریت ۳۶: شمارش با وقفه
🚗
ماموریت ۳۸: ماشین رباتیک
🚸
ماموریت ۳۵: چراغ عابر پیاده
🤖
ماموریت ۳۹: ربات مانعگریز
📚 برای یاد گرفتن پایهها سری به دورهی آموزش آردوینو بزن · 🎯 همهی ماموریتها