Wake up arduino uno

Can we use pin 0 or 1 as interrupt instead of pin 2?

I think you can probably use them às Pin Change (PC) Interrupt. You will want to install a library to make using PC interrupts easy.

But pins 0 and 1 are the serial pins, so you will lose the ability to use Serial.print() and components connected to those pins may make sketch upload impossible.

I disagree slightly. First off, the ATMEGA328 has specific Hardware embedded so that Serial activity Wakes it up. It is limited to certain sleep modes however, but then each sleep mode has Hardware limitations on what Wakes or not.

Secondly, once awake, normal Serial use of Pins 0 and 1 should be restored. I won't guarantee that some programming may be necessary here because I haven't researched it 110%.

Simple answer to the question "Can we use pin 0 or 1 as interrupt instead of pin 2?" is definitely "YES!" Pins 0 and 1 may or may not fit a given Project, but they can definitely be used to wake the Arduino.

Hi,
Thank for your advices. My question is how about using A0 to A5 pin for interrupt wake up? Tq.

The sleep/wakeup functionality of an Atmega328p is normally used for extreme power saving in battery powered systems. The Uno is not appropriate for this because it has lots of power hungry components like voltage regulator, sub chip, LEDs etc. The few milliamps saved by using power saving tricks doesn't make it worth while.
To wake the chip from sleep using an interrupt, it has to be an external interrupt (pin 2 or 3) eg

attachInterrupt (0, wakeMe, LOW); // pin 2

Why are you doing this? If it is not for power saving, there may be a better way.

I use uno but all pins are occupied, except pin 0,1,A0-A5 and purpose is extreme power saving. Thanks.

yaptimmy:
I use uno ... purpose is extreme power saving.

Well, as 6v6gt said, you can't do extreme power saving with Uno. But you could use the Uno to develop and test your sketch, and then use the Uno as an ISP programmer to upload the sketch to an atmega328 circuit.