Académique Documents
Professionnel Documents
Culture Documents
openenergymonitor.org/emon/sites/default/files/SD_Card_Temperature_logger.pde
1/5
9/25/2014
openenergymonitor.org/emon/sites/default/files/SD_Card_Temperature_logger.pde
//-------------------------------------------------------------------------//SETUP
//-------------------------------------------------------------------------void setup(void)
{
// start serial port
Serial.begin(9600);
// initialize the SD card
if (!card.init()) error("card.init");
// initialize a FAT volume
if (!volume.init(card)) error("volume.init");
// open root directory
if (!root.openRoot(volume)) error("openRoot");
// create a new file
char name[] = "LOGGER00.CSV";
for (uint8_t i = 0; i < 100; i++) {
name[6] = i/10 + '0';
name[7] = i%10 + '0';
if (file.open(root, name, O_CREAT | O_EXCL | O_WRITE)) break;
}
if (!file.isOpen()) error ("file.create");
file.writeError = 0;
// write header
file.println("Date, Time,Temp 1,Temp 2, Temp 3");
if (ECHO_TO_SERIAL) Serial.println("Date, Time,Temp 1,Temp 2, Temp 3");
pinMode(greenLEDpin, OUTPUT); //set SD card activity LED pin to output mode
digitalWrite(greenLEDpin,HIGH);
// attempt to write out the header to the file
http://openenergymonitor.org/emon/sites/default/files/SD_Card_Temperature_logger.pde
2/5
9/25/2014
openenergymonitor.org/emon/sites/default/files/SD_Card_Temperature_logger.pde
if (file.writeError || !file.sync()) {
error("write header");
}
needed!)
// Set Day-of-Week to FRIDAY
// Set the time to 12:00:00 (24hr format)
// Set the date to August 6th, 2010
int number_of_devices=sensors.getDeviceCount();
temp sensors
//get number of
//end loop
http://openenergymonitor.org/emon/sites/default/files/SD_Card_Temperature_logger.pde
3/5
9/25/2014
openenergymonitor.org/emon/sites/default/files/SD_Card_Temperature_logger.pde
//Using DS180BR one wire senosrs. Parasite or normal power mode is supported. In parasite
power multiple sensors can share same bus
//4.7K resistor between signal bus and +5v VCC (pin 2)
// ground pin 1 and 3
float get_temperature(int sensor_number)
{
// call sensors.requestTemperatures() to issue a global temperature request to all devices
on the bus
sensors.requestTemperatures();
//get temp value from each sensor
float temperature=sensors.getTempCByIndex(sensor_number);
}
return temperature;
4/5
9/25/2014
openenergymonitor.org/emon/sites/default/files/SD_Card_Temperature_logger.pde
http://openenergymonitor.org/emon/sites/default/files/SD_Card_Temperature_logger.pde
5/5