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