Temperature Logger With Pro Mini & Battery Only

by 志允吳 in Circuits > Arduino

3777 Views, 6 Favorites, 0 Comments

Temperature Logger With Pro Mini & Battery Only

IMG_20150803_025210.jpg
IMG_20150803_025359.jpg

This is a minimal system for logging temperature.

You will need:

  • Arduino pro mini (ATmega328p) - use internal temperature sensor & EEPROM
  • Battery pack or anything else can power up the pro mini - power from 'raw' pin must >= 5V; power from 'vcc' pin, I'm only sure <= 2.75V not work.

  • any USB to UART bridge - FTDI, CP2102, CH340G..etc

Attach Battery Pack

power from 'raw' pin must >= 5V

power from 'vcc' pin, I'm only sure <= 2.75V not work.

attach power for your condition.

Program

IMG_20150803_025917.jpg

program as normal arduino pro mini.

You can change the count in sleepMinutes() if you need.

default: 2s * 150 = 300 s = 5 minutes, record every 5 minutes (almost)

void sleepMinutes()
{
for (unsigned int i = 0; i < 150; i++) {
//for (unsigned int i = 0; i < 1; i++) {
LowPower.powerDown(SLEEP_2S, ADC_OFF, BOD_OFF);
}
cont++;
}

Downloads

Log the Temperature

just put on battery and do NOT press reset button,

and it will auto start logging.

Read Out Temperature

IMG_20150803_030032.jpg
Screenshot - 2015年08月01日 - 18時56分57秒.png
  1. connect with "USB to UART bridge", for me is CP2102
  2. open serial monitor
  3. if there were data, it should print out automatic
  4. if not, press reset button once

the format is :

  1. current record count in EEPROM
  2. n-th record from boot up
  3. temperature (250 = 25°C)
  4. voltage (mV)

send char to do:

  • 'N' - show current temperature & voltage

  • 'D' - dump all log in EEPROM
  • 'C' - reset counter, next record will start at 0
  • 'R' - dump raw data in EEPROM
  • 'F' - fill EEPROM with 0xFF