Arduino "Was not declared in this scope" Hatası

Görünürde böyle bir terslik yok gibi ama devre şemasına bir bakayım.
 

Dosya Ekleri

  • IMG_20240425_224732.jpg
    IMG_20240425_224732.jpg
    198,1 KB · Görüntüleme: 11
  • IMG_20240425_224529.jpg
    IMG_20240425_224529.jpg
    236,3 KB · Görüntüleme: 6
  • IMG_20240425_224536.jpg
    IMG_20240425_224536.jpg
    221,5 KB · Görüntüleme: 6
  • IMG_20240425_224546.jpg
    IMG_20240425_224546.jpg
    248,5 KB · Görüntüleme: 9
  • IMG_20240425_224552.jpg
    IMG_20240425_224552.jpg
    281 KB · Görüntüleme: 6
Koda log ekleyerek başlayalım isterseniz hocam. Nerede kaldığını anlarız en azından.

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 () {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);

}
 
Koda log ekleyerek başlayalım isterseniz hocam. Nerede kaldığını anlarız en azından.

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 () {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);

}
Hocam gaz basıyorum sürekli gaz deneme diyor hiç durmadan ama arabadan ses yok
 
Tamam o zaman hocam kesinlikle ya kablolarda ya da oradaki pin tanımları ile kablolar farklı yukarıda belirtmeniz gereken kendinize göre. Motor kodunda sorun olmadığını düşünüyorum.
Tamamdır hocam yarın bakayım. Çok teşekkür ederim.
 

Geri
Yukarı