💾 ثبت دما در فایل 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);
}
چطور اجرایش کنم؟
- شبیهساز تینکرکد فارسی را باز کن و «مود آردوینو» را انتخاب کن.
- از پنل «نمونهها»، «ثبت دما در فایل CSV» را بارگذاری کن — مدار و کد با هم میآیند.
- دکمهی اجرا ▶ را بزن و خروجی Serial و رفتار قطعات را تماشا کن.
- حالا کد را تغییر بده — عددها، پینها، ترتیب — و دوباره اجرا کن!