Garduino wakeup

Hey all, I am making a scaled down Garduino with no Fluorescent lights and bells and whistles or anything. I might add those later. Anyways, I'm using a Boarduino with an ATmega 328 and it is set up so that when dusk comes, the Boarduino will go in to PWR DOWN mode. The only problem is I don't know how to bring it out of PWR DOWN mode when the sun comes back up. I don't know if it is something in the hardware that I need to set up or what, can someone please help?

Heres the code:

#include <avr/power.h>
#include <avr/sleep.h>

//define analog inputs to which we have connected our sensors
int moistureSensor = 0;
int lightSensor = 1;

//define digital outputs to which we have connecte our relays (water and light) and LED
int waterPump = 7;
int pin2;
//define variables to store moisture, light, and temperature values
int moisture_val;
int light_val;

int sleepStatus = 0; // variable to store a request for sleep

void wakeUpNow() // here the interrupt is handled after wakeup
{

}

void setup() {
//open serial port
Serial.begin(9600);
//set the water, light, and temperature pins as outputs that are turned off
pinMode (waterPump, OUTPUT);
digitalWrite (waterPump, LOW);
pinMode (pin2, INPUT);
attachInterrupt(0, wakeUpNow, LOW); // use interrupt 0 (pin 2) and run function
// wakeUpNow when pin 2 gets LOW
}

void sleepNow()
{

set_sleep_mode(SLEEP_MODE_PWR_DOWN); // sleep mode is set here

sleep_enable(); // enables the sleep bit in the mcucr register

attachInterrupt(0,wakeUpNow, LOW); // use interrupt 0 (pin 2) and run function
// wakeUpNow when pin 2 gets LOW // so sleep is possible. just a safety pin
power_adc_disable();
power_spi_disable();
power_timer0_disable();
power_timer1_disable();
power_timer2_disable();
power_twi_disable();

sleep_mode(); // here the device is actually put to sleep!!
// THE PROGRAM CONTINUES FROM HERE AFTER WAKING UP
sleep_disable(); // first thing after waking from sleep:
// disable sleep...
power_all_enable();
}

void loop() {
// read the value from the moisture-sensing probes, print it to screen, and wait a second
moisture_val = analogRead(moistureSensor);
Serial.print("moisture sensor reads ");
Serial.println( moisture_val );
delay(1000);
light_val = analogRead(lightSensor);
Serial.print("light sensor reads ");
Serial.println( light_val );
Serial.println("----------------------");
delay(1000);
while (moisture_val < 300)
{
digitalWrite(waterPump, HIGH);
delay(2000);
digitalWrite(waterPump, LOW);
moisture_val = analogRead(moistureSensor);
Serial.print("moisture sensor reads ");
}

if (light_val < 300) {
Serial.println("Serial: Entering Sleep mode");
sleepNow();
}

delay(15000);
}