arduino sleep and wake up using internal interrupts

Hai Forum,
I am using arduino uno, dht11 sensor to measure temperature and humidity and gsm sim900a to send the sensor data as sms. I want to make it in a such a way that once the data has been sent, arduino should sleep for 2 mins and then automatically wakeup after 2mins and again send data and it continues in that way.

How should i do it? I have seen some examples but I am not getting exactly how to do it as in most of those examples, people are using external interrupts to make the arduino wakeup from sleep. I need to make it automatically without using any external interrupts.

If anyone can help me to achieve this? Thanks in advance.

Read the controller data sheet for timer interrupts. Initialize an otherwise unused timer to overflow after the desired time, enable that interrupt and write an ISR for it. Then let the controller sleep in a mode that does not turn off the timer clock.

I want to make it in a such a way that once the data has been sent, arduino should sleep for 2 mins and then automatically wakeup after 2mins and again send data and it continues in that way.

The best way to let the Arduino UNO sleep for 2 min. is to use the watchdog timer. It will wake the Arduino after 8 seconds. Implement a counter to let the Arduino sleep for again 8 secs and do that 15 times. That way you can put your Arduino into powerdown sleep state which consumes much less energy and the short wakeups don't consume that much.