🌤️ درس 40: پروژه‌ی سطح ۲: ایستگاه هواشناسی

همه‌ی سنسورها، یک نمایشگر، یک دستگاه واقعی.

سطح: پیشرفته · زمان: حدود 20 دقیقه · مفاهیم: پروژه، LCD، چند سنسور

قدم‌های این درس

  1. ماموریت سطح ۲
  2. قدم ۱ — تکه‌تکه بساز
  3. قدم ۲ — کد کامل
  4. سطح ۲ تمام شد!

نمونه‌ای از کد این درس

#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);
  }
}

چرا این درس؟

دوره‌ی تینکرکد فارسی تعاملی است: هر قدم را خودت داخل شبیه‌ساز انجام می‌دهی — مدار واقعی می‌چینی، کد واقعی اجرا می‌کنی و نتیجه را همان لحظه می‌بینی. این درس روی درس‌های قبلی ساخته شده، پس اگر تازه شروع کرده‌ای از درس ۱ بیا!

این درس را رایگان در شبیه‌ساز شروع کن 🎓

درس‌های دیگر دوره

💾

درس 39: حافظه‌ای که پاک نمی‌شه

🚸

درس 41: چراغ عابر پیاده