💾 ثبت دما در فایل CSV

هر ۲ ثانیه زمان و دما در data.csv روی کارت حافظه نوشته و دوباره خوانده می‌شود.

سطح: چالشی ⭐⭐⭐ · مود: آردوینو (سه‌بعدی + کد)

قطعات لازم

کد کامل پروژه

// ثبت دما در فایل CSV روی کارت حافظه، و خواندن دوباره‌اش
#include <SPI.h>
#include <SD.h>

const int CS = 10;
bool sdOk = false;
int rows = 0;

void setup() {
  Serial.begin(9600);
  sdOk = SD.begin(CS);
  if (!sdOk) { Serial.println("kart peyda nashod! sim-ha ra check kon"); return; }
  if (!SD.exists("data.csv")) {             // header only once
    File f = SD.open("data.csv", FILE_WRITE);
    f.println("seconds,celsius");
    f.close();
  }
  Serial.println("kart amade ast");
}

void loop() {
  if (!sdOk) return;
  float temp = analogRead(A0) * 5.0 / 1023.0 * 100.0;   // LM35

  File f = SD.open("data.csv", FILE_WRITE);   // append at the end
  if (f) {
    f.print(millis() / 1000.0);
    f.print(",");
    f.println(temp);
    f.close();                                // close = really saved
    rows++;
  }

  if (rows % 5 == 0) {                        // every 5 rows: read it back
    Serial.println("--- data.csv ---");
    File r = SD.open("data.csv");
    while (r.available()) Serial.write(r.read());
    r.close();
  }
  delay(2000);
}

چطور اجرایش کنم؟

  1. شبیه‌ساز تینکرکد فارسی را باز کن و «مود آردوینو» را انتخاب کن.
  2. از پنل «نمونه‌ها»، «ثبت دما در فایل CSV» را بارگذاری کن — مدار و کد با هم می‌آیند.
  3. دکمه‌ی اجرا ▶ را بزن و خروجی Serial و رفتار قطعات را تماشا کن.
  4. حالا کد را تغییر بده — عددها، پین‌ها، ترتیب — و دوباره اجرا کن!
این پروژه را رایگان در شبیه‌ساز اجرا کن 🤖