#include <IRremote.h>
#include <ir_Lego_PF_BitStreamEncoder.h>
const int ir_kumanda_pini=2;
const int OUT1=5;
const int OUT2=6;
const int OUT3=7;
const int OUT4=8;
const int motor_kontrol_1=9;
const int motor_kontrol_2=10;
const int echoPin=11;
const int trigPin=12;
int hiz=80;
IRrecv ir_alicim(ir_kumanda_pini);
decode_results results;
#define yukari_ok 16718055
#define asagi_ok 16730805
#define sol_ok 16716015
#define sag_ok 16734885
#define kare 16756815
#define yildiz 16738455
#define tus_0 16750695
void setup () {Serial.begin(9600);
pinMode(OUT1,OUTPUT);
pinMode(OUT2,OUTPUT);
pinMode(OUT3,OUTPUT);
pinMode(OUT4,OUTPUT);
pinMode(motor_kontrol_1,OUTPUT);
pinMode(motor_kontrol_2,OUTPUT);
pinMode(echoPin,INPUT);
pinMode(trigPin,OUTPUT);
digitalWrite(motor_kontrol_1,LOW);
digitalWrite(motor_kontrol_2,LOW);
digitalWrite(OUT1,LOW);
digitalWrite(OUT2,LOW);
digitalWrite(OUT3,LOW);
digitalWrite(OUT4,LOW);
ir_alicim.enableIRIn();
}
void loop() {
if (ir_alicim.decode (&results))
{
Serial.println(results.value);
switch (results.value)
{
case kare:
if (hiz<255)
hiz+=5; //hiz=hiz+5
break;
case yildiz:
if (hiz>80)
hiz-=5; //hiz=hiz-5
break;
case yukari_ok:
motor_hareketleri(1,0,0,1,hiz);
Serial.println("GAZ DENEME");
break;
case asagi_ok:
motor_hareketleri(0, 1, 1, 0, hiz);
break;
case sol_ok:
motor_hareketleri(1,0,1,0, hiz);
break;
case sag_ok:
motor_hareketleri(0, 1, 0, 1, hiz);
break;
case tus_0:
motor_hareketleri(0, 0, 0, 0, 0);
break;
ir_alicim.resume();
}
}
}
void motor_hareketleri (int degerl, int deger2, int deger3, int deger4, int hiz){
digitalWrite(OUT1, degerl);
digitalWrite(OUT2, deger2);
digitalWrite(OUT3, deger3);
digitalWrite (OUT4, deger4);
analogWrite (motor_kontrol_1, hiz);
analogWrite (motor_kontrol_2, hiz);
}