發表文章

目前顯示的是 2009的文章

閃光燈的應用篇

圖片
閃光燈的應用篇 大綱 : 一、 閃光燈概說 二、 閃光燈功能介紹 三、 閃光燈應用技巧     一、 閃光燈概說 繼之前跟各位介紹光的應用技巧後,各位同好在攝影上該有多一層的認識了吧!雖然筆者不斷說明遇到各種光源狀況下,應該進行補光,但是一直沒特別介紹補光的方法,今就『閃光燈』開一專題,詳細向各位介紹各種閃光燈的應用,期許各位網友在光源的應用上能更上一層樓。 對於135相機來說,閃光燈的機動性是非常高的,尤其現在的相機無論是雙眼相機或單眼相機,也都有具備內建的閃光燈設備。 一般來說相機的閃光燈可分為二種類型:一種是屬於內建式閃光燈(隱藏式),屬於相機本身結構之一。內建式閃光燈又可分為固定式及可外彈的隱藏式閃光燈,如左圖:       另一種為單體閃光燈(分離式),可以插接在相機身上的燈座,又稱為熱靴 HOT SHOE 。 這種外接式閃光燈靈活應用性更高,造型、樣式及功能的差異也相當大,大多能做出傾斜、旋轉、仰角、投光寬度及各種不同的輸出光量。而且插上相機的熱靴後,立刻與相機結合變成電子迴路操作系統中的一部份,可快速的感應出適當的閃光出力,以獲得正確的曝光。     閃光燈的 GN 值 我們在購買閃光燈時,常在規格表中見到閃光燈一欄,標明:GN值(閃光燈出力指數)!GN 是GUIDE NUMBER的縮寫,也就是『閃光燈光度指數』。它以感光度 ISO 100 度的軟片或數位相機為計算標準,其公式為: GN(m) = 光圈級數( f值 ) x 攝影距離( m ) 這是一個很簡單的公式,例如閃光燈距離被攝體5公尺(m),使用GN20的閃光燈時,光圈應為 f/4。如距被攝體約7公尺時,光圈就應調至 f/2.8。不過這是基本換算,在拍攝時還要視當時的環境、主體反射率、以及焦距之長短和是否使用閃光柔光罩、濾色片等作調整。有時根據不同的長度單位,GN值又分為 GN-m及GN-ft兩種,前者以公尺( m)為距離單位,後者以英尺(ft)為距離單位。 採用內建式閃光燈時,因閃光燈本身體積小,GN值也不大,一般都在GN11~GN14左右,攝影距離相形的也被限制在3~5公尺左右。而外接式的單體閃光燈從GN20~GN34都有,光量出力較大,對於環境的適應性相對的提高。 GN 值方便的地方在於,以此為標準增減使用之光圈就可拍攝了。不過,現在

Linux 強制 umount disk...

強制 umount disk... umount -l *dev* kill 等級 -1 :重新讀取一次參數的設定檔 (類似 reload); -2 :代表與由鍵盤輸入 [ctrl]-c 同樣的動作; -9 :立刻強制刪除一個工作; -15:以正常的程序方式終止一項工作。與 -9 是不一樣的。

產生負電壓的方法

圖片
可以利用『方波』來產生負電壓 1. 利用 charge pump,如果有用到 TTL <-> RS232 (MAX232) 。也可以從這裡來偷電 2. 利用 555 震盪出方波 3. 現在電路通常都有用 PWM 來轉電壓。也可以從這裡來偷電。 第二項,是網路有人說可以用。但我沒試過。因為現在應該沒人用 555 了。 第一、三項,我試過可以用。 4. 利用 OP 來振出方波。沒試過,應該可行。 上述方法,都屬於偷電。所以使用時驅動能力要注意。

Simple console adapter

圖片
不使用 232 driver/receiver 可以用 BJT 代替。 下面是網路上偷來的,找個時間玩玩吧!! 一、 1st version modification 2nd version 二、 reference : http://chaokhun.kmitl.ac.th/~kswichit/ap275/ap275.htm

C8051F340 UART0/1 用法!

UART 的 RX 如果不用 interrupt 收資料,等於沒用。 要如何使用呢??有兩種方法。 1)Flag volatile bit TI0_proxy = 1; void UART0_ISR( void ) interrupt 4 { if ( TI0 == 1 ) { // set the proxy when TI0 is set TI0 = 0; TI0_proxy = 1; } if ( RI0 == 1 ) { RI0 = 0; ... } } unsigned char putchar( unsigned char ch ) { while ( TI0_proxy == 0 ); TI0_proxy = 0; return (SBUF0 = ch); } 真是簡單的方法!當然效能差。重點是簡單。 2)Ring Buffer 效能好。 相對麻煩。不過也沒那麼複雜。 Sample code 比較多。上網參考囉。 http://www.cygnal.org/ubb/Forum5/HTML/000497.html http://www.8052.com/codelib

在 Win32 下 Serial Port 的通訊

在 Win32 下 Serial Port 的通訊 以下的東西是我在閱讀 "Communications Programming for Windows 95" 時做的一點 筆記, 所以在 topic 上大致上都和這書上的第三章一樣. 一些 structure 和 API 的 宣告都是 copy from VC 5.0 的 on-line help. 這些東西主要談的是如何在 Win32 的平台下對 serial port 的通訊. 可能可以帶來 幫助的是那些了解 serial port 的通訊, 但是不清楚在 Win32 平台究竟有那些 API 可用的 programer (就像我? :p) 我只是做做整理罷了, 更清楚的內容可能要再翻翻 on-line help 或是書本. 如果你要嘗試在 Win32 下做像是對 modem 做控制(例如撥 號, 通訊)的程式, 但是對於 serial port 並不了解, 那你應該再去找一本有講到這 些東西的書看看. 開啟一個 Serial Port 利用一般開啟檔案的 CreatFile() 即可開啟 serial port device HANDLE CreateFile( LPCTSTR lpFileName, // pointer to name of the file DWORD dwDesiredAccess, // access (read-write) mode TES lpSecurityAttributes, // poin DWORD dwShareMode, // share mode LPSECURITY_ATTRIB Uter to security attributes DWORD dwCreationDistribution, // how to create e to file with attributes to copy ); DWORD dwFlagsAndAttributes, // file attributes HANDLE hTemplateFile // hand l 用 CreateFile() API. lpFileName 為 "COM1" 或是 "COM2" dwDersiredAccess 一般為 GENER