🌤️ درس 40: پروژهی سطح ۲: ایستگاه هواشناسی
همهی سنسورها، یک نمایشگر، یک دستگاه واقعی.
سطح: پیشرفته · زمان: حدود 20 دقیقه · مفاهیم: پروژه، LCD، چند سنسور
قدمهای این درس
- ماموریت سطح ۲
- قدم ۱ — تکهتکه بساز
- قدم ۲ — کد کامل
- سطح ۲ تمام شد!
نمونهای از کد این درس
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);
const int buzzer = 8;
const float HOT = 30.0;
unsigned long lastDraw = 0;
float readTemp() {
return analogRead(A0) * 5.0 / 1023.0 * 100.0;
}
int readLight() {
return analogRead(A1);
}
void drawScreen(float t, int l) {
lcd.setCursor(6, 0);
lcd.print(t, 1);
lcd.print("C ");
lcd.setCursor(6, 1);
lcd.print(l < 300 ? "Tarik " : "Roshan");
}
void checkAlarm(float t) {
if (t > HOT) tone(buzzer, 1500, 120);
}
void setup() {
lcd.init();
lcd.backlight();
lcd.setCursor(0, 0); lcd.print("Dama:");
lcd.setCursor(0, 1); lcd.print("Noor:");
pinMode(buzzer, OUTPUT);
Serial.begin(9600);
}
void loop() {
if (millis() - lastDraw >= 1000) {
lastDraw = millis();
float t = readTemp();
int l = readLight();
drawScreen(t, l);
checkAlarm(t);
Serial.print("dama:");
Serial.print(t);
Serial.print(" noor:");
Serial.println(l);
}
}
چرا این درس؟
دورهی تینکرکد فارسی تعاملی است: هر قدم را خودت داخل شبیهساز انجام میدهی — مدار واقعی میچینی، کد واقعی اجرا میکنی و نتیجه را همان لحظه میبینی. این درس روی درسهای قبلی ساخته شده، پس اگر تازه شروع کردهای از درس ۱ بیا!
این درس را رایگان در شبیهساز شروع کن 🎓