PeterH, you say;
I wouldn't use an interrupt for that. Just use the technique described in the 'blink without delay' example sketch to run your code once per second.
I would disagree with this statement, as using an interrupt potentially can keep accumulating totals far more accurate.
To simply rely on some timer checking, say in the main loop, I say you run the risk of not getting sensor data input and or doing the calculations needed at the required time, especially if the program gets caught up being busy somewhere else at that point in time. It needs careful attention that that this section of code will run and I think using an interrupt just makes this process an independent process and therefor inherently more reliable and accurate data.
I am not saying you can not do it without interrupt, just that it needs good program structure.
Paul