Selecção de Imagens

Olá :)

Eu queria um programa que através de um botão consegui-se selecionar uma imagem de cada vez.

void loop() { val=digitalRead(A5); //if(val == HIGH){

//if (val == HIGH){ //myGLCD.drawBitmap(0,0,67,54,Todo,6);

//} if (val == HIGH){ myGLCD.clrScr(); myGLCD.drawBitmap(0,0,80,60,bird,6);

} if (val == HIGH){ myGLCD.clrScr(); myGLCD.drawBitmap(0,0,80,60,cat,6);

} if (val == HIGH){ myGLCD.clrScr(); myGLCD.drawBitmap(0,0,80,60,dog,6);

}

Quando eu pressiono o botão ele automaticamente amostra as 3 imagens uma após outra, mas eu queria que apenas amostra-se a primeira, e se o mesmo botão volta-se a ser pressionado ele amostrava a segunda imagem e a mesma coisa para a terceira.

Alguém pode me ajudar nesta questão?

Mais uma questão, a imagem que se vê no ecrã encontra-se um pouco desfocada quando eu a coloco em ecrã inteiro, alguma maneira de eu resolver este problema?

Agradecia a vossa ajuda, obrigado :)

Penso que algo como o que se segue deve funcionar:

int imagem = 0;
int imagem_ant = -1;
#define IMAGEM_MAX 3

void loop()
{
  val=digitalRead(A5);

    if (val == HIGH){
      imagem++;
      if (imagem>=IMAGEM_MAX) {
       imagem = 0;
      }
    }
    
    if (imagem != imagem_anterior) {
      imagem_ant=imagem;
      switch (imagem) {
        case 0:
          myGLCD.clrScr();
          myGLCD.drawBitmap(0,0,80,60,bird,6);
          break;
          
        case 1:
          myGLCD.clrScr();
          myGLCD.drawBitmap(0,0,80,60,cat,6);
          break;
       
        case 2:
          myGLCD.clrScr();
          myGLCD.drawBitmap(0,0,80,60,dog,6);
          break;
        }
    }
}

PS.: Leia as normas sff! Não é assim que SE POSTA CÓDIGO.