Arduino ile Matlab Destekli Radar Projesi


Radarlar, nesneleri radyo dalgalarının yansıması sonucu tespit eden cihazlardır. Fakat biz ultrasonik sensör kullanarak ses dalgaları ile nesnelerin yerlerini tespit edeceğiz. Arduino ile yapılmış birçok radar projesi mevcut. Kullanıcı arayüzleri farklı programlarda yazılabilir. Bu projemizde matlab gerçek zamanlı grafik ekranından radara takılan cisimlerin konumlarını göreceğiz.

Malzemeler
  • Arduino Uno
  • Ping Ultrasonik Sensör
  • Servo Motor

Ping Sensor Elektronik Devre Şeması

Ping Sensör: 5v – 5v, Gnd – Gnd, Sinyal – Dijital 8. pin
Servo Motor: Kırmızı – 5v, Kahverengi- Gnd, Dijital 9. pin



HC-SR04 Sensor Elektronik Devre Şeması




Yazılım Kısmı

Ping Ultrasonik Sensörü ile Arduino Yazılımı

#include <Servo.h>
Servo myservo;
int pos = 1;
long duration, inches, cm=0;
const int pingPin = 8;
int st=0;

void setup()
{
Serial.begin(9600);
myservo.attach(9);
}

void loop()
{

if (pos == 1)
st = 0;

if (pos == 180)
st = 1;

if (st==0)
pos = pos+1;

if (st==1)
pos = pos-1;

myservo.write(pos);

data();

Serial.print(pos); Serial.print( " "); Serial.println(cm);
delay(30);

}

void data()
{
pinMode(pingPin, OUTPUT);
digitalWrite(pingPin, LOW);
delayMicroseconds(2);
digitalWrite(pingPin, HIGH);
delayMicroseconds(5);
digitalWrite(pingPin, LOW);
pinMode(pingPin, INPUT);
duration = pulseIn(pingPin, HIGH);
// convert the time into a distance
inches = microsecondsToInches(duration);
cm = microsecondsToCentimeters(duration);
if (cm>300)
{
cm = 300;
}
}

long microsecondsToInches(long microseconds)
{
return microseconds / 74 / 2;
}

long microsecondsToCentimeters(long microseconds)
{
return microseconds / 29 / 2;
}

Güncelleme: 23.12.2016
Ultrasonic.h kütüphanesini buradan indirebilirsiniz  > Ultrasonic.rar

HC-SR04 Ultrasonik Sensörü ile Arduino Yazılımı

#include <Servo.h>
Servo myservo;
#include <Ultrasonic.h>
Ultrasonic sensor(6,5); // (Trig PIN,Echo PIN)
int pos = 1;
long cm=0;

int st=0;

void setup()
{
Serial.begin(9600);
myservo.attach(9);
}

void loop()
{

if (pos == 1)
st = 0;

if (pos == 180)
st = 1;

if (st==0)
pos = pos+1;

if (st==1)
pos = pos-1;

myservo.write(pos);

data();

Serial.print(pos); Serial.print( " "); Serial.println(cm);
delay(30);

}

void data()
{
cm = sensor.Ranging(CM);
if (cm>300)
{
cm = 300;
}
}

Matlab Yazılımı

clc;
clear all;
%Customize graph
figure('units','normalized','outerposition',[0 0 1 1]);
whitebg('black');
%Draw Scale Data
th = linspace(0,pi,1000);
R = 10:10:100;
for i=1:length(R);
x = R(i)*cos(th);
y = R(i)*sin(th);
plot(x,y,'Color', [0.603922 , 0.803922 , 0.196078] ,'LineWidth',1);
hold on;
end
%Draw Axis data
x0 = [0 100 0 0 0 0 ]; x1 = [0 100 86.60 50 -50 -86.60]; y0 = [0 0 0 0 0 0]; y1 = [100 0 50 86.60 86.60 50];
for i=1:length(x0);
hold on;
plot([x0(i),x1(i)],[y0(i),y1(i)] ,'Color', [0.603922 , 0.803922 , 0.196078],'LineWidth',2);
end
%Draw Sonar default data
for i=1:180
hold on;
[x, y] = pol2cart(i*0.0174532925, 100);
h(i) = plot([0,x],[0,y],'g','LineWidth',1);
end
%define serial port
s1 = serial('COM12');
s1.BaudRate=9600;
fopen(s1);
%Draw Sonar Data
while(1)
data = fscanf(s1);
[th, r] = strtok(data);
th = real(str2num(th));
r = str2num(r);
set(h(th),'color','r');
[x0, y0] = pol2cart(th*0.0174532925, 100);
[x, y] = pol2cart(th*0.0174532925, r);
set(h(th),'XData',[x0,x]);
set(h(th),'YData',[y0,y]);
m = plot([0,x0],[0,y0],'r','LineWidth',3);
drawnow
delete(m);
end
fclose(s1);

s1 = serial(‘COM12’); satırındaki port numarasını arduinonun bağlı olduğu port numarası yapın. Arduinoyu bilgisayara takın ve matlab dosyasını çalıştırın. Radarınız tarama yapmaya başlayacaktır.


NOT: Projede ping sensör kullanılmıştır. Bu sensör en iyisidir hatasız ölçüm yapar ve hızlıdır. HC-SR04 daha yavaş ve hatalı ölçüm yapma olasılığı fazladır eğer bunu kullanırsanız kodu da değiştirmeniz gerekir.
Loading...
Ad

Arduino Autocad Bilim-Teknoloji Biyomedikal Sistemler C-Programlama C# C# Programlama Diferansiyel Denklemler Dijital Kontrol Sistemleri Elektrik Devreleri 1 Elektrik Devreleri 2 Elektrik Makineleri 1 Elektrik Makineleri 2 Elektrik Tesislerinde Koruma Elektromantetik Alan Teorisi Elektromantetik Dalga Teorisi Elektronik 1 Elektronik 2 Elektronik-Devreler EmguCV Genel Fizik Genel Kimya Genel Matematik Gömülü Linux Güç Elektroniği Haberleşme Sistemleri İşaret ve Sistemler Lineer-Cebir Lojik Devreler Malzeme Bilimi MATLAB Mikroişlemciler Olasılık ve İstatistik Otomatik Kontrol Sistemleri PLC-Otomasyon Proje Yönetimi ve Girişimcilik Raspberry Pi Sayısal Analiz Sayısal İşaret İşleme Teknik-Kutuphane Termodinamik Yüksek Gerilim Tekniği
false
ltr
item
Çağlar GÜL: Arduino ile Matlab Destekli Radar Projesi
Arduino ile Matlab Destekli Radar Projesi
https://i.ytimg.com/vi/iCYvGbklesI/hqdefault.jpg
https://i.ytimg.com/vi/iCYvGbklesI/default.jpg
Çağlar GÜL
http://elektronikafa.blogspot.com/2016/10/arduino-ile-matlab-destekli-radar.html
http://elektronikafa.blogspot.com/
http://elektronikafa.blogspot.com/
http://elektronikafa.blogspot.com/2016/10/arduino-ile-matlab-destekli-radar.html
true
871250089272898028
UTF-8
Not found any posts Not found any related posts VIEW ALL Readmore Reply Cancel reply Delete By Home PAGES POSTS View All RECOMMENDED FOR YOU Tag ARCHIVE SEARCH ALL POSTS Not found any post match with your request Back Home Contents See also related Sunday Monday Tuesday Wednesday Thursday Friday Saturday Sun Mon Tue Wed Thu Fri Sat January February March April May June July August September October November December Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec just now 1 minute ago $$1$$ minutes ago 1 hour ago $$1$$ hours ago Yesterday $$1$$ days ago $$1$$ weeks ago more than 5 weeks ago Followers Follow THIS CONTENT IS PREMIUM Please share to unlock Copy All Code Select All Code All codes were copied to your clipboard Can not copy the codes / texts, please press [CTRL]+[C] (or CMD+C with Mac) to copy