المواد المطلوبة
Arduino Uno
تربط DS3231 مع اردوينو على النحو التالي:
Arduino Uno
DS3231 Real Time Clock
Mini SD card module
LM35 temperature sensor
في هذا المشروع، نقوم بتسجيل قراءة اردوينو لدرجة الحرارة التي سوف تحصل على قيمة درجة الحرارة من مستشعر درجة الحرارة LM35 والوقت من وحدة الوقت الحقيقي DS3231 على مدار الساعة. ثم سنقوم بتخزين هذه القيم في ملف بطاقة sd بعد ذلك، سوف نقوم بالوصول إلى هذا الملف من جهاز كمبيوتر وإنشاء مخطط لهذه القيم في ميكروسوفت إكسيل.
تربط DS3231 مع اردوينو على النحو التالي:
- GND مع GND الاردوينو
- VCC ل DS3231 مع 5فولت في الاردوينو
- SDA ل DS3231 مع A4 في الاردوينو
- SCL مع A5 في اردوينو
ربط SD مع الاردوينو
CS يربط مع المنفذ 10 على الاردوينو
SCK يربط مع المنفذ 13 على الاردوينو
MOSI يربط مع المنفذ 11 على الاردوينو
MISO يربط مع المنفذ 12 على الاردوينو
VCC يربط مع المنفذ 5V على الاردوينو
GND يربط مع المنفذ GND على الاردوينو
ربط متحسس الحرارة LM35 مع اردوينو
VCC يربط مع المنفذ 5V على الاردوينو
OUT يربط مع المنفذ A0 على الاردوينو
GND يربط مع المنفذ GND على الاردوينو
كود الوقت
#include <DS3231.h> DS3231 rtc(SDA, SCL); void setup() { rtc.begin(); rtc.setDOW(WEDNESDAY); rtc.setTime(12, 0, 0); rtc.setDate(1, 1, 2014); } void loop() { }
الكود
#include <SD.h> #include <SPI.h> #include <DS3231.h> File data_file; DS3231 rtc(SDA, SCL); const int lm35_pin = A0; int temperature; int chip_select_pin = 10; //pin 53 for arduino mega 2560 void setup() { Serial.begin(9600); rtc.begin(); pinMode(lm35_pin, INPUT); pinMode(chip_select_pin, OUTPUT); if (SD.begin()) { Serial.println("Initialization Successful. Ready to use"); } else { Serial.println("Initialization failed. Check your pin connections or change your SD card"); return; } } void loop() { temperature = analogRead(lm35_pin); temperature = (temperature*500)/1023; data_file = SD.open("test.txt", FILE_WRITE); if (data_file) { Serial.print(rtc.getTimeStr()); data_file.print(rtc.getTimeStr()); Serial.print(","); data_file.print(","); Serial.println(temperature); data_file.println(temperature); data_file.close(); } else { Serial.println("error opening your SD card file. Try again"); } delay(3000); }