Arduino "Was not declared in this scope" Hatası

AgonyTR

Centipat
Katılım
7 Temmuz 2022
Mesajlar
45
Yer
İzmir
Daha fazla  
Sistem Özellikleri
ANAKART - Asus H110M-K
EKRAN KARTI - Nvidia GTX1660 6GB OC
İŞLEMCİ - İntel Core İ5-7400
RAM - Adata 8192GB DDR3 3200mHz
DEPOLAMA BİRİMİ - WD ELEMENTS 1.5TB / WD 1TB - Toplam 2.5TB
Cinsiyet
Erkek
Meslek
Öğrenci
Merhaba IR kontrollü araba yapıyorum fakat kodu yazdıktan sonra yüklemeye çalıştığımda "ir" was not declared in this scope hatası alıyorum.

Kod:
#include <IRremote.h>

int ir_alici_pin=2;
IRrecv ir_alicim(ir_alici_pin);

decode_results results;

void setup() {
  Serial.begin(9600);
  Serial.println("IR Alıcı Etkinleştiriliyor...");
  ir_alicim.enableIRIn();
  Serial.println("IR Alıcı Etkinleştirildi.");
}

void loop() {
  if(ir_alicim.decode(&results))
{
  Serial.println(results.value);
  ir.alicim.resume();
}
delay(100);
}
 
Merhaba IR kontrollü araba yapıyorum fakat kodu yazdıktan sonra yüklemeye çalıştığımda "ir" was not declared in this scope hatası alıyorum.

Kod:
#include <IRremote.h>

int ir_alici_pin=2;
IRrecv ir_alicim(ir_alici_pin);

decode_results results;

void setup() {
  Serial.begin(9600);
  Serial.println("IR Alıcı Etkinleştiriliyor...");
  ir_alicim.enableIRIn();
  Serial.println("IR Alıcı Etkinleştirildi.");
}

void loop() {
  if(ir_alicim.decode(&results))
{
  Serial.println(results.value);
  ir.alicim.resume();
}
delay(100);
}
ir.alicim değil ir_alicim yazmalısınız ilgili satıra.
 
ir.alicim değil ir_alicim yazmalısınız ilgili satıra.
Hocam sorunu çözdüm şimdide Serial port ekranını açıyorum kumandaya basmama ramen tuş kodları gelmiyor.
 
Delay olmadan deneyin.
Ayrıca alıcı etkinleştiriliyor ile ilgili yazı geldiği halde mi IR'nin bilgileri gelmiyor?
Serial.println(results.value, HEX); diye vermişler örnekte ama, direkt hiç mi gelmiyor veri?
 
Delay olmadan deneyin.
Ayrıca alıcı etkinleştiriliyor ile ilgili yazı geldiği halde mi IR'nin bilgileri gelmiyor?
Serial.println(results.value, HEX); diye vermişler örnekte ama, direkt hiç mi gelmiyor veri?
Arduino digital 5 pinini TX-1'e takmışım onu düzelttim koda HEX ekledim tüm sorunlar çözüldü. Bu meslek insanı delirtir hele 2.5-3.5 göz bozukluğu olanı intihar ettirir hocam :) Teşekkürler yardımın için.

@Akif9748 Hocam Bir hata daha aldım.
Kod:
#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 () {
  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();
}

C:\Users\ARDAGL~1\AppData\Local\Temp\ccX3ZnBH.ltrans0.ltrans.o: In function `main':

C:\Users\Arda GÜLER\AppData\Local\Temp\Rar$EXa1224.34315.rartemp\arduino-1.8.6\hardware\arduino\avr\cores\arduino/main.cpp:46: undefined reference to `loop'

collect2.exe: error: ld returned 1 exit status

exit status 1
Error compiling for board Arduino/Genuino Uno.
 
Son düzenleme:
Hocam kodun devamıda var lakin yapan arkadaş HC-SR04 mesafe sensörüde kullanıyor ama ben onu kullanmak istemiyorum. Size tüm kodların olduğu videoyu atsam bana HC-SR04 için olan kodları çıkartıp kalan kodları atsanız olurmu? ben pek anlamıyorumda. Benim için büyük iyilik yapmış olursunuz.

Bu içeriği görüntülemek için üçüncü taraf çerezlerini yerleştirmek için izninize ihtiyacımız olacak.
Daha detaylı bilgi için, çerezler sayfamıza bakınız.
 
Hocam kodun devamıda var lakin yapan arkadaş HC-SR04 mesafe sensörüde kullanıyor ama ben onu kullanmak istemiyorum. Size tüm kodların olduğu videoyu atsam bana HC-SR04 için olan kodları çıkartıp kalan kodları atsanız olurmu? ben pek anlamıyorumda. Benim için büyük iyilik yapmış olursunuz.

Bu içeriği görüntülemek için üçüncü taraf çerezlerini yerleştirmek için izninize ihtiyacımız olacak.
Daha detaylı bilgi için, çerezler sayfamıza bakınız.
Deneyeyim hocam.

@AgonyTR hocam bende şuan IDE yok kodu böyle yazdım Syntaxla ilgili problem olmadığını düşünüyorum bi kontrol edin:

C++:
#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 () {
  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))
{
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);
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);

}
 
Son düzenleme:
Deneyeyim hocam.

@AgonyTR hocam bende şuan IDE yok kodu böyle yazdım Syntaxla ilgili problem olmadığını düşünüyorum bi kontrol edin:

C++:
#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 () {
  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))
{
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);
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);

}
Hocam kodu yükledi ama kumandaya bastığımda ır alıcının ışığı yanıyor lakin araç hareket etmiyor
 

Geri
Yukarı