# Arduino temp logger and gnuplot

2 minute read

# Simple Arduino temp logger and gnuplot examples

I wanted to do some temperature logging across day and night to see how much temperature fluctuates for beer brewing/storage. I thought this would be a good little Arduino project.

Arduino source code: bitbucket.org/2E0PGS/dht-sd-logger

```
gnuplot
```

```
gnuplot> set datafile separator "," # This is a comma separated CSV.
gnuplot> set title 'Kitchen temp log' # Add graph title.
gnuplot> set grid # Turn on the grid.
gnuplot> set key autotitle columnhead # Use first row for line key.
gnuplot> set xlabel '5 min intervals' # Set x axis label.
gnuplot> plot '2021-02-15-kitchen.csv' using 0:2 with lines # Plot that second column with line graph.
```

*In my case the csv line number is being used for x axis and I log every 5 mins a new line.*

```
gnuplot> set term png # Set output to png file.
gnuplot> set output '2021-02-15-kitchen.png' # Set output file name.
gnuplot> plot '2021-02-15-kitchen.csv' using 0:2 with lines # Plot that second column with line graph.
```

## 2021-02-15-kitchen.csv

Sample of the Ardunio temp logger CSV data, abbreviated for brevity.

```
Humidity, Temp, Heat index
18,20,73.13
18,20,73.13
18,17,72.1
18,16,71.95
19,16,72.59
19,16,72.59
18,16,71.95
18,16,71.95
19,16,72.59
19,16,72.59
19,16,72.59
19,16,72.59
19,16,72.59
19,16,72.59
19,16,72.59
19,16,72.59
19,16,72.59
...
```

## Extra line smoothing options and points

See great example of various smoothing options: stackoverflow.com/questions/30580471/smooth-peaks-in-gnuplot

```
plot '2021-02-13-bedroom-floor-day-night-morning.csv' using 0:2 smooth acsplines,\
'' u 0:2 w p pt 1 title 'data points'
plot '2021-02-13-bedroom-floor-day-night-morning.csv' using 0:2 smooth mcsplines,\
'' u 0:2 w p pt 1 title 'data points'
plot '2021-02-13-bedroom-floor-day-night-morning.csv' using 0:2 with lines,\
'' u 0:2 w p pt 1 title 'data points'
plot '2021-02-13-bedroom-floor-day-night-morning.csv' using 0:2 with lines,\
'' using 0:2 with points pt 1 title 'data points'
plot '2021-02-13-bedroom-floor-day-night-morning.csv' using 0:2 smooth csplines,\
'' u 0:2 w p pt 1 title 'data points'
```

## Extra graphing

I wish LibreOffice Calc `ctrl + a`

did a select on only the rows/columns adjacent like Microsoft Excel does instead of selecting the entire sheet.

Below is the same kitchen data set but graphed using LibreOffice line graphs.

I feedback.

Let me know what you think of this article on twitter @M3PGS or leave a comment below!

Let me know what you think of this article on twitter @M3PGS or leave a comment below!

comments powered by Disqus