Basit Arduino Projeleri #6 Radar yapımı

Kruvazör

Yazılım Ekibi Lideri
28 Mar 2020
1,722
2,536
Wrong Side Of Heaven
Merhaba arkadaşlar serimin 6. konusu ile devam ediyorum.

bu konuda HC-SR04 Ultrasonik Mesafe Sensörünü kullancağız
qyz56bg.jpg

kendisinden 3. ve 4. konumda bahsetmiştim.
2cm'den 400cm'ye kadar 3mm hassasiyetle ölçüm yapabilen bir ultrasonik sensör çeşididir.
Uzaklık okuma, radar ve robot uygulamalarında kullanılabilir.



Aşağıda kullandığım sensörün linkini de bırakacağım.
link


Çalışma Mantığı:
catnjbp.jpg

erwbqkv.jpg


Devre Şeması:
ay7ru7t.jpg


Kodlar:
C:
//radarın dönüşü için gereki olan servo kütüphanesi
#include <Servo.h>.
// Ultrasonik Sinyal pinleri
const int trigPin = 10;
const int echoPin = 11;
// değişkenler
long duration;
int distance;
Servo myServo; /servo motor kontrolü için myservo nesnesini oluşturdum
void setup() {
  pinMode(trigPin, OUTPUT); // output belirleme
  pinMode(echoPin, INPUT); //  input belirleme
  Serial.begin(9600);
  myServo.attach(12); // servo motor hangi pime bağlı
}
void loop() {  //döngü
  // 15-165 dereceleri arasında motoru döndürerek radarın dönüş kısmını ayarlar
  for(int i=15;i<=165;i++){ 
  myServo.write(i);
  delay(30);
  distance = calculateDistance();// Her derece için Ultrasonik sensör tarafından ölçülen mesafeyi hesaplamak için bir fonksiyon çağırır
 
  Serial.print(i); //  servonun hangi derecede olduğunu yazar
  Serial.print(","); //
  Serial.print(distance); //mesafeyi yazar
  Serial.print("."); //
  }
 
  // tersi yöne dönüş
  for(int i=165;i>15;i--){ 
  myServo.write(i);
  delay(30);
  distance = calculateDistance();
  Serial.print(i);                //birebir aynı işlemler
  Serial.print(",");
  Serial.print(distance);
  Serial.print(".");
  }
}
// Ultrasonik sensörün mesafe ölçtüğü fonksiyonu yazalım
int calculateDistance(){
 
  digitalWrite(trigPin, LOW);
  delayMicroseconds(2);
  //
  digitalWrite(trigPin, HIGH);
  delayMicroseconds(10);
  digitalWrite(trigPin, LOW);
  duration = pulseIn(echoPin, HIGH); // echoPini okur ses dalgasının geliş gidiş süresini mikrosaniye cinsinden döndürür
  distance= duration*0.034/2;
  return distance;    //mesafeyi döndürür
}

Eğer projeyi bu şekilde bırakırsanız sadece Serial port üzerinden açı ve mesafe bilgilerini döndüren bir kod yazmış olursunuz.
projenin görselleştirme kısmı öğrenme sürecindeki kişilerin kafasını karıştırabileceği için buraya atmak yerine alta linkini bırakacağım.


Final Görseli:

giu2ann.jpg




Kaynakça ve verilerin görselleştirilmesi adımları için:


Okuduğunuz için teşekkürler.



 
18 Haz 2022
162
32
Merhaba arkadaşlar serimin 6. konusu ile devam ediyorum.

bu konuda HC-SR04 Ultrasonik Mesafe Sensörünü kullancağız
qyz56bg.jpg

kendisinden 3. ve 4. konumda bahsetmiştim.
2cm'den 400cm'ye kadar 3mm hassasiyetle ölçüm yapabilen bir ultrasonik sensör çeşididir.
Uzaklık okuma, radar ve robot uygulamalarında kullanılabilir.

Aşağıda kullandığım sensörün linkini de bırakacağım.
link


Çalışma Mantığı:
catnjbp.jpg

erwbqkv.jpg


Devre Şeması:
ay7ru7t.jpg


Kodlar:
C:
//radarın dönüşü için gereki olan servo kütüphanesi
#include <Servo.h>.
// Ultrasonik Sinyal pinleri
const int trigPin = 10;
const int echoPin = 11;
// değişkenler
long duration;
int distance;
Servo myServo; /servo motor kontrolü için myservo nesnesini oluşturdum
void setup() {
  pinMode(trigPin, OUTPUT); // output belirleme
  pinMode(echoPin, INPUT); //  input belirleme
  Serial.begin(9600);
  myServo.attach(12); // servo motor hangi pime bağlı
}
void loop() {  //döngü
  // 15-165 dereceleri arasında motoru döndürerek radarın dönüş kısmını ayarlar
  for(int i=15;i<=165;i++){
  myServo.write(i);
  delay(30);
  distance = calculateDistance();// Her derece için Ultrasonik sensör tarafından ölçülen mesafeyi hesaplamak için bir fonksiyon çağırır
 
  Serial.print(i); //  servonun hangi derecede olduğunu yazar
  Serial.print(","); //
  Serial.print(distance); //mesafeyi yazar
  Serial.print("."); //
  }
 
  // tersi yöne dönüş
  for(int i=165;i>15;i--){
  myServo.write(i);
  delay(30);
  distance = calculateDistance();
  Serial.print(i);                //birebir aynı işlemler
  Serial.print(",");
  Serial.print(distance);
  Serial.print(".");
  }
}
// Ultrasonik sensörün mesafe ölçtüğü fonksiyonu yazalım
int calculateDistance(){
 
  digitalWrite(trigPin, LOW);
  delayMicroseconds(2);
  //
  digitalWrite(trigPin, HIGH);
  delayMicroseconds(10);
  digitalWrite(trigPin, LOW);
  duration = pulseIn(echoPin, HIGH); // echoPini okur ses dalgasının geliş gidiş süresini mikrosaniye cinsinden döndürür
  distance= duration*0.034/2;
  return distance;    //mesafeyi döndürür
}

Eğer projeyi bu şekilde bırakırsanız sadece Serial port üzerinden açı ve mesafe bilgilerini döndüren bir kod yazmış olursunuz.
projenin görselleştirme kısmı öğrenme sürecindeki kişilerin kafasını karıştırabileceği için buraya atmak yerine alta linkini bırakacağım.


Final Görseli:
giu2ann.jpg




Kaynakça ve verilerin görselleştirilmesi adımları için:


Okuduğunuz için teşekkürler.



Eline sağlık bende bu konuyu bekliyodum
 

Kruvazör

Yazılım Ekibi Lideri
28 Mar 2020
1,722
2,536
Wrong Side Of Heaven

JohnWick51

Uzman üye
20 Mar 2022
1,867
770
28
Merhaba arkadaşlar serimin 6. konusu ile devam ediyorum.

bu konuda HC-SR04 Ultrasonik Mesafe Sensörünü kullancağız
qyz56bg.jpg

kendisinden 3. ve 4. konumda bahsetmiştim.
2cm'den 400cm'ye kadar 3mm hassasiyetle ölçüm yapabilen bir ultrasonik sensör çeşididir.
Uzaklık okuma, radar ve robot uygulamalarında kullanılabilir.

Aşağıda kullandığım sensörün linkini de bırakacağım.
link


Çalışma Mantığı:
catnjbp.jpg

erwbqkv.jpg


Devre Şeması:
ay7ru7t.jpg


Kodlar:
C:
//radarın dönüşü için gereki olan servo kütüphanesi
#include <Servo.h>.
// Ultrasonik Sinyal pinleri
const int trigPin = 10;
const int echoPin = 11;
// değişkenler
long duration;
int distance;
Servo myServo; /servo motor kontrolü için myservo nesnesini oluşturdum
void setup() {
  pinMode(trigPin, OUTPUT); // output belirleme
  pinMode(echoPin, INPUT); //  input belirleme
  Serial.begin(9600);
  myServo.attach(12); // servo motor hangi pime bağlı
}
void loop() {  //döngü
  // 15-165 dereceleri arasında motoru döndürerek radarın dönüş kısmını ayarlar
  for(int i=15;i<=165;i++){
  myServo.write(i);
  delay(30);
  distance = calculateDistance();// Her derece için Ultrasonik sensör tarafından ölçülen mesafeyi hesaplamak için bir fonksiyon çağırır
 
  Serial.print(i); //  servonun hangi derecede olduğunu yazar
  Serial.print(","); //
  Serial.print(distance); //mesafeyi yazar
  Serial.print("."); //
  }
 
  // tersi yöne dönüş
  for(int i=165;i>15;i--){
  myServo.write(i);
  delay(30);
  distance = calculateDistance();
  Serial.print(i);                //birebir aynı işlemler
  Serial.print(",");
  Serial.print(distance);
  Serial.print(".");
  }
}
// Ultrasonik sensörün mesafe ölçtüğü fonksiyonu yazalım
int calculateDistance(){
 
  digitalWrite(trigPin, LOW);
  delayMicroseconds(2);
  //
  digitalWrite(trigPin, HIGH);
  delayMicroseconds(10);
  digitalWrite(trigPin, LOW);
  duration = pulseIn(echoPin, HIGH); // echoPini okur ses dalgasının geliş gidiş süresini mikrosaniye cinsinden döndürür
  distance= duration*0.034/2;
  return distance;    //mesafeyi döndürür
}

Eğer projeyi bu şekilde bırakırsanız sadece Serial port üzerinden açı ve mesafe bilgilerini döndüren bir kod yazmış olursunuz.
projenin görselleştirme kısmı öğrenme sürecindeki kişilerin kafasını karıştırabileceği için buraya atmak yerine alta linkini bırakacağım.


Final Görseli:
giu2ann.jpg




Kaynakça ve verilerin görselleştirilmesi adımları için:


Okuduğunuz için teşekkürler.



Ellerine saglik
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.