Max官網範例:和硬體互動-DMX, Part1
關於Max基礎的部分請先看
觀念和中文化手冊http://techart.wordpress.com/category/uncategorized/
阿里巴巴資訊大盜http://hali619.blogspot.tw/2013/03/maxmspjitter2.html
電腦音樂手札http://web.thu.edu.tw/cwcheng/www/ComputerMusic.htm
Max/msp快捷鍵:下載
在一系列的文章中,我們將介紹在Max中,一些基本的DMX概念和介紹一些DMX硬件選項。第二篇文章會特別採訪一些Max程式設計師,關於如何在專業的環境中使用DMX。最後,第三篇文章將重點介紹如何發展複雜的DMX控制系統。
在一個典型的DMX-512網路,設備被鏈結在一起。主要控制設備是在鏈結的開始端,用連接線一個一個將需要的設備鏈結起來,依此類推。 DMX總是在一個方向上行進, 它是單向的,在鏈結的末端需要被終止運行。
下面是一個簡單的DMX網絡,我們用圖片來表達。
在這張圖片中,我們在一台筆記本電腦上執行以連接DMX控制器的Max patcher,這個控制器將藉由DMX網絡來發送數據封包到其控制器相連的照明設備上。
在DMX的網路下的設備藉由頻道來設定,單一數據封包裡有多達512個頻道。一個數據封包含有一個表頭,並用8位元值的來紀錄資料(在電腦科學的表示法為1byte=8bits)。由於這是8位元數據,在十進位使用的值為0-255(8位元,且每個位元有0與1兩種可能,所以是2的八次方),來紀錄DMX資料。
在DMX封包中不存在索引,因此如果設備認為它是通道1,它會在DMX封包中看第1個字節(byte)的值,並選擇該值來設置其狀態。如果一個設備認為這是在通道53上,它將選擇的第53個字節(byte)的值。
每個DMX設備都具有頻道選擇器,您可以指定任一頻道。讓我們再來看看我們DMX網絡的例子。第一個設備是一個6頻道的LED “點”。第二設備是一個4頻道調光模組,而且從第8頻道開始的2個頻道,接上2個燈泡作用。
作為一個例子,如果我們發送一個DMX封包具有以下數據:
255 255 255 0 0 0 0 127 255
其結果將是,設置LED的RGB為白色(255,255,255),在調光器中的第1個燈泡會亮一半(127),和第二在調光器中第2個燈泡會全亮(255)。注意這個數據封包一些有趣的事情:
1。 我們不需要發送512個數據值,但我們只需向DMX網路中的所有設備發送 數據即可。 2。 LED點只使用3頻道色彩數據,即使它是一個“ 6頻道”的設備。 3。我們得到調光器的第1個通道( 從第8通道開始)前7個頻道的數據需要被分配。由於我們只使用3個通道來驅動LED ,由於沒有索引,我們需要用0來補足中間沒使用的值。
許多DMX設備類似此6頻道RGB設定,使用多個頻道,以控制它們的狀態參數,例如,一個DMX LED陣列可以有數百個控制頻道。當你編寫程式來應用多頻道DMX設備時,你通常需對每個設備的說明檔進行查閱,以找出如何使用每個通道。
連接DMX網絡和Max
第一件事,我們需要的是一個DMX的介面裝置。就我而言,我有一個LANBOX LCX由荷蘭公司LanBox 。
產品網址:這裡
LANBOX-LCX是非常齊全的裝置。它提供各種格式,也包含乙太網路,MIDI和USB連接端口,也可以在獨立模式下運行,也可用於Art-Net網絡上。我會說它是完美符合DMX網絡的“瑞士刀”裝置 。 LANBOX網站包含一個頁面,免費提供的Max連接外部通信設備所必需的範例和patches(請按這裡下載)。這個裝置組合,雖不是最便宜的DMX方案,卻很紮實的提供所有DMX和Max的連接應用。
除了控制器外,你還需要額外的裝置把連接的DMX電纜線掛起來。你需要買XLR 3pin對XLR 5pin的轉接頭。因為,DMX電纜是3 pin和5 pin XLR的組合。 DMX有一大堆可控調光器,燈,煙霧機,雷射光,伺服系統,放大器的配件,讓你搭配使用。以燈光照明的配件最常見的兩個品牌Chauvet是和American DJ。
關於我們的”hello universe” Max 的Patch檔
下載並安裝網站給LanBox的Max Patch檔範例,利用此範例完成設定其實相當的簡單直覺。您可以根據LanBox文件的指示,為LanBox來設置一個IP位置,來連接DMX網絡 ,或者利用預設值所設的網路IP位置就可能可以連接LanBox到你的裝置。
以我的例子,我有一個American DJ所出的 P36 LED燈,並且連接到DMX裝置鏈結上的第一個設備。這個LED燈需要有6頻道DMX控制。接下來是準備來連接Elation DP 415 4頻道的調光組合,而我已經把標準的白熾燈泡接在該設備的頻道1和頻道2上 。
在4頻道調光組合後面,我接著設置DMX通道的DIP 開關,使4頻道調光組合第1個頻道偏移到頻道8上 。
下面是我創建的Max 的Patch檔:
讓我們討論一下這個Patch檔
有很多方法可以管理Max一連串的數值輸入。為了使事情變得更清楚些,我已經決定使用訊息框來統整一連串的數值。
將swatch object設置為“Output Old Style 0-255值”。這給了我需要DMX通道的確切範圍。我的LED燈前3個頻道為R ,G,B頻道 ,所以我已經設好前三個R,G,B值在我的訊息框標籤名為“通道1-7 “上。因為調光組合上的第1個頻道被設置頻道8,我不得不將未使用的通道填入0,所以它會使用DMX封包中第8個值。
訊息框的滑桿和切換是代表4通道調光器,用於驅動燈泡輸出的程度。然後,我將這兩個消息框組合來產生第三個消息框,來使用所設置的內容,包成資料封包,以便在這個系統中設置狀態。
我的LanBox有時鐘運行在20fps ,所以我使用qmetro的來更新DMX網絡的狀態,每隔50ms做一次。
最後由LanBox所提供的lcudp封包的object,將網路封包格式化,透過“ FullPacket ”訊息框傳遞給udpsend object去執行或關閉我的燈光秀!
敬請期待
讀完這一篇,你應該可以掌控DMX 512,掌控設備通信,以及如何創建一個基本的DMX控制 patch檔。即將到來的文章會更深入的DMX世界,但下一個章將討論使用DMX控制的專家。
請讓我們在評論中知道,如果您有任何問題或建議,並感謝您的閱讀!
7 batchku 39
2012年7月9日下午12:59
原文出處:http://cycling74.com/2012/07/09/working-with-hardware-dmx-part-1/