Haberler:

Eposta uyarılarını yanıtlamayınız ( ! ) https://bit.ly/2J7yi0d

Ana Menü

DMX il ilgili örnek.?

Başlatan mir_as82, 10 Ocak 2011, 23:06:13

mir_as82

Arkadaşlar merhaba.

dmx konusunda biraz araştırma yaptım fakat bazı sorular oluştu aklımda, sizden birkaç şey öğrenebilir miyim?Elinde örnek uygulama olan varsa paylaşabilirse memnun olurum.
1-Bir tane master ve buna bağlı olan slave üniteler oluyor. Burayı anladım. Farzedelim100 tane slave ünitemiz var ve ben bu 100 slave ünitenin her birine 5 byte veri göndermek istiyorum.Yani birinci alıcı 5 byte alacak, ikincisi 5 byte...,100. alıcı yine 5 byte alacak. Bunu şu şekilde mi sağlıyoruz:
       1. alıcının adresi 0x01 olsun seri bir şekilde 0x01 sonra 5 tane datayı peşpeşe mi gönderiyoruz? yani birinci alıcı toplam 6 tane adres mi kaplıyor?
      2. alıcı için 0x07 yi gönderiyoruz ve sonra 5 tane peşpeşe 2.alıcının datası mı gidiyor?? Örneğin ikinci alıcıya peşpeşe 0x22 göndermek için. masterdan veriler şu şekilde mi gitmeli:
               0x07, 0x22, 0x22, 0x22, 0x22, 0x22 şeklinde mi olmalı?
  Elinde örnek algoritma olan yada örnek uygulama olan varsa paylaşırsa çok memnun olurum.

OG

Alıntı Yapbu olay ile ilgil ilginç şeylerle kaşılaştım  neyse öenmli deil.
Mesela nasıl bir şey o ilginç şeyler?

DMX ile uğraşmaya çalışıyorsunuz ama yazılanları dikkatlice okumuyorsunuz. Forumda çok kez anlatıldı da. Aynı şeyleri mi tekrarlayalım.

Sorulardan şu çıkıyor, henüz DMX sinyal hakkında bilginiz yeterli değil. Önce DMX datanın şeklini yapısal anlamda kavrayın, ne nedir, timingler nedir, hız nedir vs, çözemediğiniz aslında bunlar, probleminiz "DMX nasıl çözülür" türünden değil, o zaten forumda var.
FORUMU İLGİLENDİREN KONULARA ÖM İLE CEVAP VERİLMEZ.

t2

Alıntı Yapkılasik gönderme  olayı kolay ama PIC ile biraz atmel tavisye ederim
Acaba oranı nasıl ayarlayacağız %30 pic %70 atmel şeklinde mi yoksa her ikisi de % 50 olsa yeterli mi?

EFESU

Arkadaşlar geç saatte yazdığım  için anlam bozukluğu hatta anlatım bozukluğu ne kadar hata varsa yapmışım ... özürdilerim
yalnız bir konuda laf söyleneden geçemicem ... haklısınız yanlış yazmış hata yapmış olabilirim..

bu birilerinin dalga geçebileceği anlamına mı geliyor _?
herkes her şeyi bilmeyebilir.. ve anlatmış olabilirsiniz ama form da aynı konu kaç keç farklı kelimelerle açılmış durumda
bu konuda aynı konu  ile ilgilenen arkadaşları mesaj attım toplamaya çalıştım... olmadı ..

yazdıklarıma duyarlı olan arkadaşım başka sorunlar içinde bu kadar duyarlımı acaba ...

OG

Bak arkadaşım, başkasında hata aramadan önce kendinde hata aramayı öğren.

Alıntı Yapbu olay ile ilgil ilginç şeylerle kaşılaştım  neyse öenmli deil.

Konuyu, yukarıdaki sözün ile, başkalarının aklını karıştırıcı noktalara çektin. Ben de açıkla dedim. Sustun.

Oysa ki, özel mesajlar ile, işi başka yerlere kadar getirmeye çabalayan birisisin. O girişimlerine cevap alamadın, tuhaf tuhaf zırvalamaya başladın. Tekrar soruyorum ve merak ediyorum, neymiş o karşılaştığın ilginç şeyler?


Forumdan ihrac edilmeden önce sana tanınan cevap hakkıdır. Yaptığın suçlamanın haklı gerekçesini açıkla ki insanlar ikna olsun.

Bir de hayat tecrübesi olarak bilmediğin şeyler var. İnsanlar, imal edip gecimini sağladığı cihazları, kalkıp bütün kodları ile senin önüne sürecek kadar ahmak değil. 

Bilmediğin şey daha var, tüm bunlara rağmen, bu datayı nasıl çözerim diyene, şöyle şöyle çözersin diye yardım edenler var. Bizim forumumuz böyle bir yer.

O sebeple, forum, hakketmediği suçlamaları, akıl karıştırıcı lafları kaldırmaz, bunlarla uğraşmaz.

Bilgine.
FORUMU İLGİLENDİREN KONULARA ÖM İLE CEVAP VERİLMEZ.

EFESU

#5
ilginç şeyler dediğim kısım  tamamen teknik açıdan idi
Sebebi ise  http://www.ocie.com/elation_dmx_operator-22166-prd1.htm
bu linkte bulunan dmx  operator var elimde ve protokol  ile  benim  osilaskopta ölçtüğüm sinyal şekli
ya farklı yada hep geç saatlerde  uğraştığım için kaçırdığım bişeyler var

ilginç gelen kısmı hocam mtbf mesela göremiyorum nedense .. şu an 
yavaş yavaş kod denemelerim oldu .. birde start kodu ayrıca.... data paketinin 11 bit olması
diye düşünüyorum fakat mtbf olunca 12 bit oluyo...

başka bişey yok ..

EFESU

deneme amaçlı PIC yazılımı( dmx data göndermek 16 kanal)

dmx data çıkışı portb.0

x       var byte [15] ' 16 kanal bilgi göndermek için
data var byte
i       var byte
ii      var byte
t      var byte

portb.0=0 : pauseus 90  ' break kısmı
'____________________________
portb.0=1 : pauseus 8    ' mab kısmı
'_________________________________________
'_______start code  bloğu____________________
portb.0=0 :pauseus 4  ' start bit
for ii=0 to 7
toggle portb.0
pauseus 4
next ii
portb.0=1: pauseus 8 ' 2 adet stop bit var 8 mikrosaniye
'_________________________________________________________________
'_______15 adet 8 bitlik data 4 mikrosaniye gecikme ile bit bit gönderme bloğu
for  i=0 to 15
data=x ' 15 elemanlık x dizisini sıra ile göndereceğiz
portb.0=0 :pauseus 4  ' start bit

  for ii=0 to 7
  portb.0=data.0[ii]
pauseus 4
next ii

portb.0=1: pauseus 8 ' 2 adet stop bit var 8 mikrosaniye
next i

dmx512 datasını almak için protokolü  önce tam anlamı  ile anlamak lazım  o yüzden gönderme kısmı  ile başladım..
fikirleriinizi bekliyorum

EFESU

250 000 baud hız  için SPBRG  ayarları ve hasapları buldum .. 628A  877A  USART  modulunun kitaplarda ve yaptığım araştırmalara göre bu hıza çıkabildiğine  ulaştım ama bu konuda tecrübeli  olmadığım için pek bişey  diyemiyorum .. ama bilgi ve hesaplamalar aşağıdaki gibi usart  modulu için
20 mhz de ve 16 mhz de 250 kbaud hıza çıkabilme ihtimali var

    --------ASENKRON İLETİŞİM---------------

  16 MHZ                                        20 MHZ ve 16 mhz
BRGH=0                                       BRGH=1

Baud hızı=osc/(64(x+1))             Baud hızı=osc/(16(x+1))

baud hızı=250 000                     baud hızı=250 000
osc         =16 000 000 hz            osc         =20 000 000 hz
                                                   osc         =16 000 000 hz
işlem sonucunda x=0                     
yani spbrg değeri=0 olur              20mhz için   spbrg değeri=4 olur
                                                    16 mhz için  spbrg değeri=3 olur

hata=(hesaplanan baud  -istenen baud )/istenen baud

bu hesaba göre hata yok ..

edit:burdaki tüm bilgiler 2 farklı kitabın bilgileri derlenerek anlatılmıştır
       kitaplar : PIC PROGRAMLAMA TEKNİKLERİ VE PIC16F877A
                    :Mikrodenetleyiciler ve PIC programlama PIC16F628A