📊 ماموریت ۲۷: داشبورد سنسور
مقدار یه سنسور رو زنده روی LCD نشون بده. جای هر عدد رو با setCursor ثابت کن.
سطح: چالشی ⭐⭐⭐ · مود: آردوینو — با کد
هدفها
- ☐ یه آردوینو روی صحنه باشه
- ☐ یه LCD
- ☐ یه سنسور
- ☐ کد analogRead داشته باشه
- ☐ کد setCursor داشته باشه
- ☐ شبیهسازی در حال اجرا
قطعههای لازم
- Arduino Uno
- LCD 16×2 I2C
- حسگر دما TMP36
- حسگر نور (LDR)
- مقاومت 10kΩ
💡 گیر کردی؟ داخل شبیهساز راهنما را ببین، و اگر باز هم نشد دکمهی «برام حلش کن» مدار را برایت میچیند تا ببینی چطور کار میکند.
جواب کامل
اول خودت امتحان کن! بعد جواب را ببین 👀
سیمکشی
- Arduino Uno (VCC5) ⟷ LCD 16×2 I2C (VCC)
- Arduino Uno (GND1) ⟷ LCD 16×2 I2C (GND)
- Arduino Uno (A4) ⟷ LCD 16×2 I2C (SDA)
- Arduino Uno (A5) ⟷ LCD 16×2 I2C (SCL)
- Arduino Uno (VCC5) ⟷ Temperature Sensor (LM35) (VCC)
- Temperature Sensor (LM35) (OUT) ⟷ Arduino Uno (A0)
- Temperature Sensor (LM35) (GND) ⟷ Arduino Uno (GND2)
- Arduino Uno (VCC5) ⟷ Photoresistor (LDR) (A)
- Photoresistor (LDR) (B) ⟷ Arduino Uno (A1)
- Photoresistor (LDR) (B) ⟷ Resistor (10kΩ) (PIN1)
- Resistor (10kΩ) (PIN2) ⟷ Arduino Uno (GND2)
کد
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);
void setup() {
lcd.init();
lcd.backlight();
lcd.setCursor(0, 0); lcd.print("Dama:");
lcd.setCursor(0, 1); lcd.print("Noor:");
Serial.begin(9600);
}
void loop() {
float dama = analogRead(A0) * 5.0 / 1023.0 * 100.0;
int noor = analogRead(A1);
lcd.setCursor(6, 0);
lcd.print(dama, 1);
lcd.print("C ");
lcd.setCursor(6, 1);
lcd.print(noor);
lcd.print(" ");
Serial.print("dama:");
Serial.print(dama);
Serial.print(" noor:");
Serial.println(noor);
delay(500);
}
ماموریتهای مشابه
🌈
ماموریت ۲۸: رنگینکمان
7️⃣
ماموریت ۲۵: شمارش صفر تا نه
🔢
ماموریت ۲۹: رمز با کیپد
📱
ماموریت ۳۰: کنترل از راه دور
📚 برای یاد گرفتن پایهها سری به دورهی آموزش آردوینو بزن · 🎯 همهی ماموریتها