Arduino "pulseIn" hatası

musa_46

Yeni Üye
Katılım
22 Ağustos 2023
Mesajlar
3
Araba projesinde yarıya geldim aşağıdaki kodlarımda herhangi bi sıkıntı görünmüyor. ancak "pulseIn" hatası alıyorum. kodları ve hata mesajı aşağıdaki gibidir. yardımcı olur musun?

KODLAR
Kod:
#include <IRremote.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_konrol_1 = 9;
const int motor_konrol_2 = 10;
const int echoPin = 11;
const int trigPin = 12;
int hiz = 150;
IRrecv ir_alicim(ir_kumanda_pini);
decode_results results;
void setup() {
  pinMode(OUT1, OUTPUT);
  pinMode(OUT2, OUTPUT);
  pinMode(OUT3, OUTPUT);
  pinMode(OUT4, OUTPUT);
  pinMode(motor_konrol_1, OUTPUT);
  pinMode(motor_konrol_2, OUTPUT);
  pinMode(echoPin, INPUT);
  pinMode(trigPin, OUTPUT);
  digitalWrite(motor_konrol_1, LOW);
  digitalWrite(motor_konrol_2, LOW);
  digitalWrite(OUT1, LOW);
  digitalWrite(OUT2, LOW);
  digitalWrite(OUT3, LOW);
  digitalWrite(OUT4, LOW);
  ir_alicim.enableIRIn();
  Serial.begin(9600);
}
void loop() {
  int mesafe = mesafe_olcumu();
  Serial.println("Mesafe: " + String(mesafe) + " cm");
  if (ir_alicim.decode(&results)) {
    switch (results.value) {
      case 16718055:  // İleri
        ileri();
        break;
      case 16730805:  // Geri
        geri();
        break;
      case 16716015:  // Sol
        sola_don();
        break;
      case 16734885:  // Sağ
        saga_don();
        break;
      case 16738455:  // Hız Arttır
        hiz_arttir();
        break;
      case 16756815:  // Hız Azalt
        hiz_azalt();
        break;
      case 16750695:  // Dur
        dur();
        break;
    }
    ir_alicim.resume();
  }
}
int mesafe_olcumu() {
  long sure, mesafe;
  digitalWrite(trigPin, LOW);
  delayMicroseconds(2);
  digitalWrite(trigPin, HIGH);
  delayMicroseconds(10);
  digitalWrite(trigPin, LOW);
  sure = pulseIn(echoPin, HIGH);
  mesafe = sure / 29.1 / 2;
  delay(50);
  return mesafe;
  }
void ileri() {
  digitalWrite(OUT1, HIGH);
  digitalWrite(OUT2, LOW);
  digitalWrite(OUT3, HIGH);
  digitalWrite(OUT4, LOW);
  analogWrite(motor_konrol_1, hiz);
  analogWrite(motor_konrol_2, hiz);
}
void geri() {
  digitalWrite(OUT1, LOW);
  digitalWrite(OUT2, HIGH);
  digitalWrite(OUT3, LOW);
  digitalWrite(OUT4, HIGH);
  analogWrite(motor_konrol_1, hiz);
  analogWrite(motor_konrol_2, hiz);
}
void sola_don() {
  digitalWrite(OUT1, HIGH);
  digitalWrite(OUT2, LOW);
  digitalWrite(OUT3, LOW);
  digitalWrite(OUT4, HIGH);
  analogWrite(motor_konrol_1, hiz);
  analogWrite(motor_konrol_2, hiz);
}
void saga_don() {
  digitalWrite(OUT1, LOW);
  digitalWrite(OUT2, HIGH);
  digitalWrite(OUT3, HIGH);
  digitalWrite(OUT4, LOW);
  analogWrite(motor_konrol_1, hiz);
  analogWrite(motor_konrol_2, hiz);
}
void hiz_arttir() {
  hiz = min(hiz + 10, 255);
}
void hiz_azalt() {
  hiz = max(hiz - 10, 0);
}
void dur() {
  digitalWrite(OUT1, LOW);
  digitalWrite(OUT2, LOW);
  digitalWrite(OUT3, LOW);
  digitalWrite(OUT4, LOW);
  analogWrite(motor_konrol_1, 0);
  analogWrite(motor_konrol_2, 0);
}
HATA MESAJI
C:\Users\MUSAM~1\AppData\Local\Temp\ccA87HU1.ltrans0.ltrans.o: In function `mesafe_olcumu':
C:\Users\Musa M\Documents\Arduino\sketch_aug22a/sketch_aug22a.ino:78: undefined reference to `pulseIn'
collect2.exe: error: ld returned 1 exit status

exit status 1

Compilation error: exit status 1
 
Last edited by a moderator:
çö
Tanımlanmamış fonksiyon 'pulseIn'

Kodların içinde 'pulseIn' diye bir fonksiyon yok diyor. Baktım gerçekten yok. :)
çözümü hakkında yarımcı olur musun yeni düzenlemeyi atayım oradan bakıp,

#include <IRremote.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_konrol_1=9;
const int motor_konrol_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 //İleri Gitme
#define asagi_ok 16730805 //GERİ
#define sol_ok 16716015 //SOL
#define sag_ok 16734885 //sağ
#define kare 16756815 //hız azalt
#define yildiz 16738455 // hız arttır
#define tus_sıfır 16750695 // aracı durdur

void setup() {
pinMode (OUT1,OUTPUT);
pinMode (OUT2,OUTPUT);
pinMode (OUT3,OUTPUT);
pinMode (OUT4,OUTPUT);
pinMode (motor_konrol_1,OUTPUT);
pinMode (motor_konrol_2,OUTPUT);
pinMode (echoPin,INPUT);
pinMode (trigPin,OUTPUT);
digitalWrite (motor_konrol_1,LOW);
digitalWrite (motor_konrol_2,LOW);
digitalWrite (OUT1,LOW);
digitalWrite (OUT2,LOW);
digitalWrite (OUT3,LOW);
digitalWrite (OUT4,LOW);
ir_alicim.enableIRIn();
Serial.begin(9600);
}
void loop() {
int mesafe=mesafe_olcumu();
Serial.println(mesafe);
}
int mesafe_olcumu()
{
long sure, mesafe;
digitalWrite (trigPin,LOW);
delayMicroseconds (2);
digitalWrite (trigPin,HIGH);
delayMicroseconds (10);
digitalWrite (trigPin,LOW);
sure=pulseIn (echoPin,HIGH);
mesafe=sure/29.1/2;
delay(50);
return(mesafe);
}
 
İş yerindeyim. Çok müsait olamıyorum. Başka biri yardımcı olursa sevinirim.

Projeni biraz detaylı anlat, resimlendir. Ne yapmaya çalışıyorsun? Kodları bir yerden aldıysan hiç değiştirmediğin halini koy buraya.
 
aynı kodları başka pc ye kopyaladım hiç değişiklik yapmadan çalıştı :)
Teşekkür ederim.
 
Arduino IDE Versiyon hatası olabilir.

i (I) harfiyle l (L) harfi karışmış olabilir..
 
Hangi kartı kullanıyorsunuz? Arduino IDE mi kullanıyorsunuz? Araçlar menüsünden doğru kartı seçtiğinize emin misiniz?
 

Forum istatistikleri

Konular
7,544
Mesajlar
126,358
Üyeler
3,057
Son üye
ermantml

Son kaynaklar

Son profil mesajları

Python Geliştirmeye eklediğim yapay zeka sunucusu, yeni başlayanlar için roket etkisi
Bir insanın zeka seviyesinin en kolay tesbiti, sorduğu sorulardır.
yapay zeka interneti yedi bitirdi, arama motoru kullanan, forumlara yazan kaldı mı ?
Freemont2.0 herbokolog Freemont2.0 wrote on herbokolog's profile.
nick iniz yakıyor
:D
Freemont2.0 posta Freemont2.0 wrote on posta's profile.
Merhabalar :)
Back
Top