砸碎酒杯和彈出氣球顯然很有趣,這就是我的滾動方式。但結合使用DSLR相機和Arduino,它也可以拍攝一些有趣的照片。這就是我們今天要做的。
項目基礎
該項目實際上有兩個部分–第一個是聲音觸發。使用壓電蜂鳴器作為麥克風和Arduino,我們可以輕松檢測到很大的噪音并定義動作。第二部分是相機設置。由于直接觸發相機的速度太慢,因此我們將在黑暗的房間中將相機的快門保持打開狀態,并使用外部閃光燈提供足夠的光線來完成拍攝。
如果您完全攝影新手,請參閱絕對適合初學者的5大攝影技巧。如果這個項目對您來說有點復雜,為什么不去傾斜移動為您的照片提供模型立體效果呢?
設備
DSLR攝像頭三腳架
帶有手動觸發器的外部閃光燈
Arduino
壓電蜂鳴器和1M歐姆電阻
4N35或類似的光電耦合器/opto-隔離器和220歐姆電阻器
接線圖
壓電蜂鳴器應將黑色導線連接到GND,紅色導線連接到A0;在兩個引腳之間放置1M電阻。電阻用于為壓電產生的電壓提供電流消耗,以保護模擬輸入。
我們正在使用光隔離器以保護Arduino免受外部閃光燈可能具有的任何電壓的影響。光電隔離器是一個采用小型封裝的LED和光敏開關。轉動一側的LED,另一側的開關將被激活。在4N35(其他型號可能會有所不同)上,您應該在一個角上看到一個很小的圓圈-該引腳1。通過220歐姆電阻將引腳1連接到引腳12,然后將引腳2連接到GND。被觸發的設備進入對角(5/6)的兩個引腳。這些觸發引線的末端可以連接到實際的閃光觸發電纜,也可以將它們直接插入插槽中進行評審–您可能需要使用Blu-Tack使其固定在位。
這是連接到閃存的完整電路。
Arduino代碼
該項目的代碼相對簡單。在下面的文件中,我保留了串行控制臺輸出,盡管您可能希望在確定一切正常時將其刪除–只需注釋 Serial.begin 和 Serial。準備就緒時,使用println 行。拍手,然后運行代碼并查看控制臺輸出–您應該從壓電蜂鳴器獲得輸出。您在此處使用的數字可用于確定閃光燈閃光的閾值,但我的壓電元件根本不那么敏感,因此我將其保留為1。
在主循環中,檢查壓電讀數是否高于閾值,以及自上次觸發閃光燈以來是否超過一秒。這樣可以避免多次觸發閃光燈。在某些閃爍中,這可能不是必需的,但是由于我的雷能夠持續爆發,因此它只是多次發射而沒有檢查。
此外,在觸發之前請注意 delay 值閃光燈–根據您要拍攝的內容,您可以嘗試使用它或完全刪除它。在沒有延遲的情況下,撞擊后立即拍攝了碎玻璃的照片,沒有碎裂效果。 50ms有點太慢了,所以25ms應該是理想的觀察實際破碎的方法。
int ledPin = 13;
int cameraPin = 12;
int piezo = 0;
unsigned long lastMillis = 0;
byte val = 0;
int threshold= 1;
void setup() {
pinMode(ledPin, OUTPUT);
pinMode(cameraPin, OUTPUT);
Serial.begin(9600);
}
void loop() {
if(val》0){
Serial.println(val); //used to debug
}
if (val 》= threshold && (millis()-lastMillis 》 1000)) {
delay(25); // change as needed, or remove entirely
digitalWrite(ledPin, HIGH);
digitalWrite(cameraPin, HIGH);
lastMillis = millis();
}
else{
digitalWrite(ledPin,LOW);
digitalWrite(cameraPin, LOW);
}
}
射擊
首先,您需要黑暗這樣做的空間–越接近黑色,效果越好。如果您發現鏡頭太模糊,則可能是由于環境光線過多所致。您要拍攝的唯一光線是在觸發閃光燈的那一刻,因此請將您的數碼單反相機設為手動模式,并將曝光時間最多設置為 4秒或更長時間。將光圈設置為 F8至F16 ;我需要 ISO 1600 來拍攝這些照片,但是在繼續之前,您應該調整這兩個值以找到適合您的東西。
您還需要將相機設置為手動對焦,如果有,請禁用任何穩定功能。試一下您的閃光定時–我使用了 1/128功率 –高于1/32,您會發現閃光燈閃光時間過長,從而導致拍攝模糊。我當然不是攝影專家,所以實際上只是在玩耍尋找適合您的設置。
測試設置的一種簡單方法是先殺死燈光,單擊快門然后拍手–鏡頭應該照亮且不會模糊。
對測試感到滿意,我繼續嘗試彈出氣球。
代碼可以做一些優化-即使沒有編程的延遲,似乎快照也只是5-10毫秒而無法捕捉瞬間。盡管如此,這還是很不錯的,它顯示了大理石的氣球顏色和一只迷糊的狗。
這是我最初嘗試粉碎事物的過程,刻不容緩,照片是在撞擊時直接拍攝的,并不特別令人興奮。
10毫秒的延遲只是太早了這個杯子。
我再次嘗試了杯子的另一半,并延遲了50毫秒–太晚了 我覺得:
我又給了50ms這款玻璃杯的機會-確保您將東西粉碎成盒子以便清理
關于數碼單反相機的妙處在于,即使玻璃器皿價格昂貴,您也可以拍攝一百萬張,直到正確為止。老實說,我整天都在做調整,并拍了數百張練習照,以尋找正確的設置,因此,如果第一次使用不正確,請不要放棄。
一旦如果您對氣球和眼鏡感到無聊,請嘗試使用各種觸發器進行試驗:也許是將ping傳感器放置在地面上以捕獲掉落的物體,或者是激光和光電二極管恰好位于水面上,當光束破裂時會觸發。拍些好照片嗎?在評論中讓我們知道您的經歷或遇到的任何問題。
責任編輯:wv
-
Arduino
+關注
關注
188文章
6471瀏覽量
187249
發布評論請先 登錄
相關推薦
評論