TV KUMANDASI İLE YAPILAN ROBOT KONTROLLÜ PROJE
IR sensörünün GND ve VCC uçlarını arduinomuzda bulunan GND ve
5V devre hattına iletiyoruz . Sinyal bacağını da 11.pine bağlıcaz . L298N’den
gelen bağlantıları ise sıra ile 2 , 3 , 4 , 5. bacaklara bağlıcaz .
GEREKLİ MALZEMELER :
- 1 adet arduino uno
- 1 adet l298n motor sürücüsü
- 1 adet IR sensörü
- 1 adet kumanda
- 2 adet robot ve arduino için pil
- 1 adet robot kiti veya oyuncak araba
KODUMUZ :
int RECV_PIN = 11;
int sagileri = 2;
int saggeri = 3;
int solileri = 4;
int solgeri = 5;
int itsONled[] = {0,0,0,0,0};
#define code1 2131
#define code2 2132
#define code3 2134
#define code4 2133
#define code5 2165
IRrecv irrecv(RECV_PIN);
decode_results results;
void setup()
{
Serial.begin(9600);
irrecv.enableIRIn();
pinMode(sagileri, OUTPUT);
pinMode(saggeri, OUTPUT);
pinMode(solileri, OUTPUT);
pinMode(solgeri, OUTPUT);
}
void loop() {
if (irrecv.decode(&results)) {
unsigned int value = results.value;
switch(value) {
case code1:
if(itsONled[1] == 1) {
digitalWrite(sagileri, LOW);
digitalWrite(solileri, LOW);
digitalWrite(saggeri, LOW);
digitalWrite(solgeri, LOW);
itsONled[1] = 0;
}
else
{
digitalWrite(sagileri, HIGH);
digitalWrite(solileri, HIGH);
digitalWrite(saggeri, LOW);
digitalWrite(solgeri, LOW);
itsONled[1] = 1;
}
break;
case code2:
if(itsONled[2] == 1) {
digitalWrite(sagileri, LOW);
digitalWrite(solileri, LOW);
digitalWrite(saggeri, LOW);
digitalWrite(solgeri, LOW);
itsONled[2] = 0;
}
else
{
digitalWrite(sagileri, LOW);
digitalWrite(solileri, LOW);
digitalWrite(saggeri, HIGH);
digitalWrite(solgeri, HIGH);
itsONled[2] = 1;
}
break;
case code3:
if(itsONled[3] == 1) {
digitalWrite(sagileri, LOW);
digitalWrite(solileri, LOW);
digitalWrite(saggeri, LOW);
digitalWrite(solgeri, LOW);
itsONled[3] = 0;
}
else
{
digitalWrite(sagileri, LOW);
digitalWrite(solileri, HIGH);
digitalWrite(saggeri, HIGH);
digitalWrite(solgeri, LOW);
itsONled[3] = 1;
}
break;
case code4:
if(itsONled[4] == 1) {
digitalWrite(sagileri, LOW);
digitalWrite(solileri, LOW);
digitalWrite(saggeri, LOW);
digitalWrite(solgeri, LOW);
itsONled[4] = 0;
}
else
{
digitalWrite(sagileri,HIGH);
digitalWrite(solileri, LOW);
digitalWrite(saggeri, LOW);
digitalWrite(solgeri, HIGH);
itsONled[4] = 1;
}
break;
case code5:
if(itsONled[5] == 1) {
digitalWrite(sagileri, LOW);
digitalWrite(solileri, LOW);
digitalWrite(saggeri, LOW);
digitalWrite(solgeri, LOW);
itsONled[5] = 0;
}
else
{
digitalWrite(sagileri,HIGH);
digitalWrite(solileri, HIGH);
digitalWrite(saggeri, HIGH);
digitalWrite(solgeri, HIGH);
itsONled[4] = 1;
}
break;
}
Serial.println(value);
irrecv.resume();
}
}