Picproje Elektronik Sitesi

SERBEST BÖLGE => Bilim Teknik => Matlab => Konuyu başlatan: modernherakles - 28 Şubat 2010, 23:58:53

Başlık: seri porttan gelen veriyi çizdirme
Gönderen: modernherakles - 28 Şubat 2010, 23:58:53
Selamlar,

Sorun şu ki seri porttan mikroişlemci datalar gönderiyor matlabte bunları alıp okuyabiliyorum ancak benim yapmak istediğim u aldıgım degerleri çizdirmek. idn bir datasının içersinde 0.01 gibi değerler var ama ben bunu anlık olarak çizdirmeliyim .

içimnden çıkamadım bu durumda, bilen kişilerin yardımına ihtiyacım var.matlabte yeni sayılırım ancak programlama bilgim var.Her türlü yardım iyi olurdu.

matlab kodu:
% To construct a serial port object:
         s1 = serial('COM1');
       % To connect the serial port object to the serial port:
         fopen(s1)
       % To query the device.
         fprintf(s1, '*IDN?');
         fscanf(s1);
     idn1 = fscanf(s1);
     idn2 = fscanf(s1);
     idn3 = fscanf(s1);
       % To disconnect the serial port object from the serial port.
         fclose(s1);
Başlık: seri porttan gelen veriyi çizdirme
Gönderen: modernherakles - 01 Mart 2010, 12:50:55
soruyu daha açık yazarsak seri porttan gelen değerler ascii kodunda, bunları çizdirmem için float tipine çevirmeliyim daha sonrada anlık olarak çizdireeğim bunu yapabilen matlab komutu nedir?
Başlık: seri porttan gelen veriyi çizdirme
Gönderen: ferdem - 01 Mart 2010, 18:39:48
Portu açtıktan sonra porta gelen veri "default" değeri 512 byte olan bir "buffer" a yazılıyor(boyutu değiştirebilirsiniz). fread ile bu buffer ın tamamını veya istediğiniz miktarını okuyabilirsiniz, fread verinin 10 luk sistemdeki değerini döndürüyor. Nesnemizin adı s olsun, disp(s) ile(veya get(s,'BytesAvailable') ile) kaç byte veri geldiğini görebilir, plot(fread(s)) ile gelen verileri basitçe çizdirebilirsiniz. Veri akışı sürekli ve bunu gerçek zamanlı takip etmek istiyorsanız buna hemen verebileceğim bir önerim yok ancak x byte gelecek ve duracak diyorsanız:
s = serial('COM1','BAUD',9600);
fopen(s);

ile portu açın, veriler gelsin, sonra da:
plot(fread(s));
ile çizdirin. Kolay gelsin.
Başlık: Ynt: seri porttan gelen veriyi çizdirme
Gönderen: kemalkemal - 25 Mart 2010, 17:58:59
merhaba
aynı problemle karşı karşıyayım. başlığı görünce atladım hemen , ama tam bir çözüm yok gördüğüm kadarıyla. Simulink'in xPC Target toolbox'ında RS232 kütüphanesi var. Oradan yapmayı deneyeceğim. Ama tam bir cözümü yada başka bir fikri olan varsa çok makbule geçer :)
şimdiden teşekkürler
Başlık: Ynt: seri porttan gelen veriyi çizdirme
Gönderen: modernherakles - 01 Nisan 2010, 21:18:35
merhaba kemal kardeşm ben sorunu bir kanadada robotik sitesindeki kodu revize ederek aştım, fakat aklında olsun forumda da vardı italyan bi eleman kendisi simulinkte RS-232 kütüphanesi yapmış ben ugrasamdım kod daha kolayıma geldi ama istediğim tüm verileri çizdirmekti şimdi 10datada bir falan alıyorum çokda ilgilenemedim sonra.

siteyi buldum burada bu adam arduino işlemcisi ile gerçekleştimiş faydası olabilir.

http://robotgrrl.com/blog/2010/01/15/arduino-to-matlab-read-in-sensor-data/
hoşçakal