IR receiver receives buttons but doesn't follow commands

This code is pretty much copy and pasted from a website that did a similar project but I changed the values of the buttons to match what my IR remote was outputting.
The IR receiver acknowledges that there is an input, flashing the LED and it is receptive in simpler codes to view the IR buttons values. But when I use this nothing happens and the serial readout continues to output a position of 90 no matter what buttons are pressed.
Any help would be greatly appreciated!


#include "IRremote.h"
#include <Servo.h> 
#define RIGHT_ARROW   0xFFC23D //Move several clockwise
#define LEFT_ARROW    0xFF22DD //Move servo counterclockwise
#define SELECT_BUTTON 0xFF02FD //Center the servo
#define UP_ARROW      0xFFE21D //Increased number of degrees servo moves
#define DOWN_ARROW    0xFFA857 //Decrease number of degrees servo moves
#define BUTTON_0 0xFF6897  //Pushing buttons 0-9 moves to fixed positions
#define BUTTON_1 0xFF30CF  // each 20 degrees greater
#define BUTTON_2 0xFF18E7
#define BUTTON_3 0xFF7A85
#define BUTTON_4 0xFF10EF
#define BUTTON_5 0xFF38C7
#define BUTTON_6 0xFF5AA5
#define BUTTON_7 0xFF42BD
#define BUTTON_8 0xFF4AB5
#define BUTTON_9 0xFF52AD
int receiver = 11; // Signal Pin of IR receiver to Arduino Digital Pin 11
int pos;
int Speed;

/*-----( Declare objects )-----*/
IRrecv irrecv(receiver);     // create instance of 'irrecv'
decode_results results;      // create instance of 'decode_results'
Servo myServo;

void setup() {   /*----( SETUP: RUNS ONCE )----*/

  Serial.println("IR Receiver Button Decode"); 
  irrecv.enableIRIn(); // Start the receiver
  myServo.attach(9);      // attaches the servo on pin 9 to the servo object 
  pos = 90;               // start at midpoint 90 degrees
  Speed = 3;              // servo moves 3 degrees each time left/right is pushed
}/*--(end setup )---*/

void loop()   /*----( LOOP: RUNS CONSTANTLY )----*/
  if (irrecv.decode(&results)) // have we received an IR signal?
  {case LEFT_ARROW:    pos=min(180,pos+Speed); break;
            case RIGHT_ARROW:   pos=max(0,pos-Speed); break;
            case SELECT_BUTTON: pos=90; break;
            case UP_ARROW:      Speed=min(10, Speed+1); break;
            case DOWN_ARROW:    Speed=max(1, Speed-1); break;
            case BUTTON_0:      pos=0*20; break;
            case BUTTON_1:      pos=1*20; break;
            case BUTTON_2:      pos=2*20; break;
            case BUTTON_3:      pos=3*20; break;
            case BUTTON_4:      pos=4*20; break;
            case BUTTON_5:      pos=5*20; break;
            case BUTTON_6:      pos=6*20; break;
            case BUTTON_7:      pos=7*20; break;
            case BUTTON_8:      pos=8*20; break;
            case BUTTON_9:      pos=9*20; break;
         myServo.write(pos); // tell servo to go to position in variable 'pos' 
    irrecv.resume(); // receive the next value
/* --(end main loop )-- */

Please use code tags when posting code, makes it a lot more readable and prevents the board software from messing it up (e.g. include smileys and so).

Then for your problem.
What info do you get back from your IR receiver? Are that even the sequences you expect to get?




and see what comes out.

Furthermore: you expect three-byte codes. Does your IR receiver lib give back the three bytes in one go, or one by one?