🪴 ماموریت ۴۳: آبیاری خودکار
رطوبت خاک رو بخون و اگه خشک بود، پمپ رو با رله کوتاه روشن کن — نه بیوقفه.
سطح: چالشی ⭐⭐⭐ · مود: آردوینو — با کد
هدفها
- ☐ یه آردوینو روی صحنه باشه
- ☐ یه سنسور رطوبت خاک
- ☐ یه رله
- ☐ کد شرط if داشته باشه
- ☐ کد analogRead داشته باشه
- ☐ شبیهسازی در حال اجرا
قطعههای لازم
- Arduino Uno
- حسگر رطوبت خاک
- رله
💡 گیر کردی؟ داخل شبیهساز راهنما را ببین، و اگر باز هم نشد دکمهی «برام حلش کن» مدار را برایت میچیند تا ببینی چطور کار میکند.
جواب کامل
اول خودت امتحان کن! بعد جواب را ببین 👀
سیمکشی
- Arduino Uno (VCC5) ⟷ Soil Moisture (VCC)
- Soil Moisture (AO) ⟷ Arduino Uno (A0)
- Soil Moisture (GND) ⟷ Arduino Uno (GND1)
- Arduino Uno (VCC5) ⟷ Relay (5V) (VCC)
- Relay (5V) (GND) ⟷ Arduino Uno (GND2)
- Arduino Uno (D7) ⟷ Relay (5V) (IN)
کد
const int soil = A0, pump = 7;
const int DRY = 700;
const unsigned long SETTLE = 60000;
unsigned long lastWater = 0;
void setup() {
pinMode(pump, OUTPUT);
digitalWrite(pump, LOW);
Serial.begin(9600);
}
void loop() {
int value = analogRead(soil);
Serial.print("khak:");
Serial.println(value);
bool dry = (value > DRY);
bool settled = (millis() - lastWater > SETTLE);
if (dry && settled) {
Serial.println("ab midaham...");
digitalWrite(pump, HIGH);
delay(2000);
digitalWrite(pump, LOW);
lastWater = millis();
}
delay(3000);
}
ماموریتهای مشابه
📚 برای یاد گرفتن پایهها سری به دورهی آموزش آردوینو بزن · 🎯 همهی ماموریتها