
يصبح مسجل الحرارة مفيدًا عندما يحفظ بيانات منظمة قابلة للاسترجاع بدل الاكتفاء بعرضها على Serial Monitor. يجمع هذا المشروع بين حساس DS18B20 ووحدة microSD مع توضيح التفاصيل الكهربائية التي تؤثر في الاعتمادية.
المكونات والتوصيل
صِل خط بيانات DS18B20 بطرف رقمي، وضع مقاومة سحب 4.7 كيلو أوم بين خط البيانات وجهد منطق الحساس. تتصل وحدة microSD عبر SPI باستخدام MOSI وMISO وSCK وطرف CS مستقل. اجعل الأسلاك قصيرة وأضف مكثف فصل قرب الوحدات في البيئات ذات التشويش الكهربائي.
افحص وحدة SD قبل التغذية: بطاقة microSD الخام تعمل بجهد 3.3 فولت. بعض الوحدات تضم منظم جهد ومحول مستويات منطقية، وبعضها لا يضمهما؛ لذلك لا تعتمد على شكل الوحدة لتقرير توافقها مع منطق 5 فولت.
المكتبات وتسلسل التسجيل
تدير OneWire ناقل الحساس، وتوفر DallasTemperature أوامر القراءة، بينما تدير مكتبة SD البطاقة. اختبر تهيئة كل جزء منفردًا، وارفض قيم فصل الحساس، ثم افتح الملف وأضف سجلًا كاملًا وأغلقه لضمان تفريغ البيانات المؤقتة.
File logFile = SD.open("temperature.csv", FILE_WRITE);
if (logFile) {
logFile.print(millis());
logFile.print(',');
logFile.println(temperatureC, 2);
logFile.close();
}التوقيت الحقيقي وسلامة البيانات
تعطي millis() الزمن المنقضي منذ إعادة التشغيل ولا تعطي التاريخ والساعة. أضف وحدة RTC مثل DS3231 ذات بطارية احتياطية إذا احتاج الملف إلى طابع زمني حقيقي. لا تفصل التغذية أثناء فتح الملف، واستخدم مصدرًا مستقرًا، وسجّل حالات خطأ الحساس في المشروعات طويلة التشغيل.
اترك تعليقا