#include "IRremote.h"
int receiver = 4;
IRrecv irrecv(receiver);
decode_results results;
#define PIN_TRIG 3
#define PIN_ECHO 2
#define TONE_USE_INT
#define TONE_PITCH C3. 1000
#define TONE_PITCH C5. 1000
int red = 12;
const int SEL_pin = 6;
const int HORZ_pin = A0;
const int VERT_pin = A1;
void translateIR()
{
switch(results.value)
{
case 0xFFA25D: Serial.println("POWER"); break;
case 0xFFE21D: Serial.println("FUNC/STOP"); break;
case 0xFF629D: Serial.println("VOL+"); break;
case 0xFF22DD: Serial.println("FAST BACK"); break;
case 0xFF02FD: Serial.println("PAUSE"); break;
case 0xFFC23D: Serial.println("FAST FORWARD"); break;
case 0xFFE01F: Serial.println("DOWN"); break;
case 0xFFA857: Serial.println("VOL-"); break;
case 0xFF906F: Serial.println("UP"); break;
case 0xFF9867: Serial.println("EQ"); break;
case 0xFFB04F: Serial.println("ST/REPT"); break;
case 0xFF6897: Serial.println("0"); break;
case 0xFF30CF: Serial.println("1"); break;
case 0xFF18E7: Serial.println("2"); break;
case 0xFF7A85: Serial.println("3"); break;
case 0xFF10EF: Serial.println("4"); break;
case 0xFF38C7: Serial.println("5"); break;
case 0xFF5AA5: Serial.println("6"); break;
case 0xFF42BD: Serial.println("7"); break;
case 0xFF4AB5: Serial.println("8"); break;
case 0xFF52AD: Serial.println("9"); break;
case 0xFFFFFFFF: Serial.println(" REPEAT");break;
default:
Serial.println(" other button : ");
Serial.println(results.value);
}
delay(500);
}
void setup()
{
Serial.begin(9600);
Serial.println("IR Receiver Button Decode");
irrecv.enableIRIn();
Serial.begin(9600);
pinMode(PIN_TRIG, OUTPUT);
pinMode(PIN_ECHO, INPUT);
pinMode(red, OUTPUT);
pinMode(5, OUTPUT);
pinMode(4, OUTPUT);
pinMode(SEL_pin, INPUT);
digitalWrite(SEL_pin, HIGH);
}
void loop() {
{
if (irrecv.decode(&results))
{
translateIR();
irrecv.resume();
}
digitalWrite(PIN_TRIG, HIGH);
delayMicroseconds(10);
digitalWrite(PIN_TRIG, LOW);
{
if X-axis
digitalWrite(red, LOW);
tone(5, A3, 1000);
delay(1000);
}
int duration = pulseIn(PIN_ECHO, HIGH);
Serial.print("Distance in inches: ");
Serial.println(duration / 148);
digitalWrite(red, HIGH);
tone(5, A5, 1000);
delay(1000);
Serial.print("Switch: ");
Serial.print(digitalRead(SEL_pin));
Serial.print("\n");
Serial.print("X-axis: ");
Serial.print(analogRead(HORZ_pin));
Serial.print("\n");
Serial.print("Y-axis: ");
Serial.println(analogRead(VERT_pin));
Serial.print("\n\n");
delay(500);
}
}