Picproje Elektronik Sitesi

SERBEST BÖLGE => Bilim Teknik => Matlab => Konuyu başlatan: atillaa - 20 Aralık 2012, 20:32:04

Başlık: Matlab de grafik çizdirme
Gönderen: atillaa - 20 Aralık 2012, 20:32:04
arkadaşlar matlabta seri porttan gelen verinin grafiğinin çizdirmeye çalışıyorum.aşağıdaki kodu yazdım ve sanal port ile veri yolluyorum matlaba ama warning veriyor.Yardımcı olurmusunz

close all;
clc;
y=zeros(1,1000);

x=serial('COM1','BaudRate',9600);

fopen(x);

son=100;

figure('Name','seri haberlesme');
title('seri haberlesme');
xlabel('zaman');
ylabel('deger');
grid on;
hold on;

for t=1:1:son
    ylim([0 20]);
    xlim([t t+5]);
    veri=fscanf(x,'%d')';
    y(t)=veri(1);
    plot(t,y(t));
    drawnow
end

fclose(x);
delete(x);
clear all;


bunlar matlab kodlarım
bunlarda aldığım hatalar

Warning: Unsuccessful read: A timeout occurred before the Terminator was reached.
Attempted to access veri(1); index out of bounds because numel(veri)=0.

Error in deneme2 (line 22)
    y(t)=veri(1);

Başlık: Ynt: Matlab de grafik çizdirme
Gönderen: pisayisi - 21 Aralık 2012, 14:17:25
veri=fscanf(x,'%d')';

satırından önce pause(2) gecikmesi ile deneme yapmanı öneririm. Seri port ayarlarında terminatör belirtmemişsin default olarak CR carriage return mu alıyor emin değilim. Pc ye gönderdiğin veri de de buna uygun bir terminatör kullanman gerekli olabilir.
Başlık: Ynt: Matlab de grafik çizdirme
Gönderen: atillaa - 21 Aralık 2012, 17:21:45
hocam göndermem de sorun varmış
onu hallettim şimdi okuma işlemi oluyor y dizisine yazıyor bunları gördüm ama diziyi çizdiremiyorum.
Şu hatayı alıyorum

Warning: Unsuccessful read: A timeout occurred before the Terminator was reached or SIZE values were
available.
In an assignment  A(I) = B, the number of elements in B and I must be the same.

Error in deneme2 (line 22)
    y(t)=veri;
Başlık: Ynt: Matlab de grafik çizdirme
Gönderen: ferdem - 22 Aralık 2012, 13:01:47
Yapmak istediğiniz iş aşağıdaki başlıkta konuşulmuştu, bir göz atın:
https://www.picproje.org/index.php/topic,43100.msg313427.html#msg313427 (https://www.picproje.org/index.php/topic,43100.msg313427.html#msg313427)
İyi çalışmalar.
Başlık: Ynt: Matlab de grafik çizdirme
Gönderen: atillaa - 22 Aralık 2012, 15:29:35
@ferdem teşekkür ederim faydalı olacak gibi görünüyor konuşulanlar  :)
Başlık: Ynt: Matlab de grafik çizdirme
Gönderen: atillaa - 22 Ocak 2013, 23:13:49
arkadaşlar matlabte okuma işini hallettim biraz yavaşta olsa.
Şimdi şunu merak ediyorum mesela ben 3 değer okuyup onun grafiğini çizdirirken aynı anda o değerleri guide tasarlayıp eş zamanlı olarak görebiliriyim ? böyle bi şey mümkün mü ?
Başlık: Ynt: Matlab de grafik çizdirme
Gönderen: airforce - 26 Ocak 2013, 03:21:10
Matlab'de yapmaya çalıştığınız şeyi zamanım olursa bende yapmayı düşünüyorum. Daha önce seri porttan (ivme sensörü+pic) 1 byte datayı sürekli gönderip matlabde bunu eş zamanlı göstermiştim. Ancak eş zamanlı olması kısmı biraz sıkıntılı olmuştu. Projeyi bitirmek için zamanım az olduğu için işlemi yavaşlatan şeyleri derinlemesine araştıramadım (seri port hızı,işlemcinin data gönderim sıklığı,bilgisayarın işlemci gücü....).

Projede ivme sensörünün tek kanalı ile işlem yaptığım için 1byte ı sürekli gönderdim. 3 kanal için uygulama yapmadım ama x,y,z 1er byte göndermeden önce sabit bir etiket gönderdikten sonra x,y,z yi gönderirseniz ve matlab tarafında etiket geldikten sonra sırayla x,y,z verisini  alırsanız sorun çözülür diye düşünüyorum.

Gui kısmını bilen birisi anlatırsa bende çok sevinirim.