Problem about Arduino storage

Hello,

I know how to send temperatures with 433 MHz transmitter with virtual wire library. The problem is that I would like not to send temperatures continually. I would like to send all the temperatures when I send a request to the Arduino. I don't know how to store the temperatures measured during the day and send them in the same time.

I hope I'm comprehensible,

Thanks

Your question might receive more views and answers in the 'project guidance' or 'programming' topics. Click 'report to moderator' to request this be done.

In the meantime, how many readings, and of what variable type, are to be stored?

to0n7:
Hello,

I know how to send temperatures with 433 MHz transmitter with virtual wire library. The problem is that I would like not to send temperatures continually. I would like to send all the temperatures when I send a request to the Arduino. I don't know how to store the temperatures measured during the day and send them in the same time.

I hope I'm comprehensible,

Thanks

dougp:
Your question might receive more views and answers in the 'project guidance' or 'programming' topics. Click 'report to moderator' to request this be done.

In the meantime, how many readings, and of what variable type, are to be stored?

Hello dougp,

Thanks for your answer,

It would be around 2000 readings but it can be less if necessary. The variable type is int.

Thanks.

Never used one but I'd suggest an SD card.

Which Arduino do you have?

dougp:
Never used one but I'd suggest an SD card.

According to me, it was the only one solution but I would prefer demand because I'm a rookie. Thanks.

aarg:
Which Arduino do you have?

Hello aarg,

I have an Arduino Uno and a mega.

Thanks.

It would be around 2000 readings but it can be less if necessary. The variable type is int.

I have an Arduino Uno and a mega.

At 2 bytes per int, the internal EEPROM on the Uno can store 512 ints. The The Mega has more capacity and can hold 2046.

Be aware that the EEPROM cells are specified for a limit of 100,000 writes but that should be enough for your application.

Take a look at the EEPROM library which is bundled with the IDE and see how EEPROM.put() and EEPROM.get() can handle the interger writes and reads.

I don't recall the details, but I think that Virtual Wire has a maximum buffer size for reads and writes and you will need to work around that if you are trying large block writes.

Thanks for your help.

Do you think that's a better solution than sd card. I know there is also external eeprom.

Do you think that's a better solution than sd card.

Define "better". The internal eeprom is certainly more simple to use than an sd card.

Have a look at “I2C fram “chips for storage - very easy to use and cheap .

You could save space by only recording temperature when it changes above/below a certain amount . You might need a real time clock

hammy:
Have a look at “I2C fram “chips for storage - very easy to use and cheap .

You could save space by only recording temperature when it changes above/below a certain amount . You might need a real time clock

Can you share me a link of I2C Fram that you recommend. Can I record all the temperatures without real time clock? Can I easily send the temperature store?

cattledog:
Define "better". The internal eeprom is certainly more simple to use than an sd card.

What do you think about i2c fram in my case. Is it a good choice?

What is wrong with using the Mega's EEPROM?

Nothing wrong with eeprom , except read write cycles .

For fram , just google the words I suggested.

If you don’t have a clock , then you can’t relate the temperature measurements to anything

aarg:
What is wrong with using the Mega's EEPROM?

The Mega is not mine. My teacher lend me so I prefer not "damage" it.

hammy:
Nothing wrong with eeprom , except read write cycles .

For fram , just google the words I suggested.

If you don’t have a clock , then you can’t relate the temperature measurements to anything

Speaking of which, many DS3231 RTC modules also have an on board EEPROM. You could use that storage along with the RTC.