स्वचालित 360 ° उत्पाद फोटोग्राफी के लिए Arduino नियंत्रक

स्वचालित 360 ° उत्पाद फ़ोटोग्राफ़ी के लिए Arduino कंट्रोलर: 5 स्टेप्स (चित्रों के साथ)

आइए एक Arduino आधारित नियंत्रक का निर्माण करें जो एक स्टेपरमोटर और एक कैमरा शटर को नियंत्रित करता है। स्टेपरमोटर चालित टर्नटेबल के साथ मिलकर, यह स्वचालित 360 ° उत्पाद फोटोग्राफी या फोटोग्राममिति के लिए एक शक्तिशाली और कम लागत वाली प्रणाली है।
ऑटोमैटिक कैमरा शटर ian सेबेस्टियन सेत्ज ’से एक बेहतरीन लाइब्रेरी पर आधारित है और यह Nikon, Canon, Minolta, Olympus, Pentax, Sony के इन्फ्रारेड ट्रिगर कैमरों के लिए काम करता है।

मैंने नियंत्रक के दो संस्करण तैयार किए हैं:

  • एक मूल संस्करण जो एक साधारण पुशबटन के साथ संचालित होता है और एक स्थिति का नेतृत्व करता है।
  • एक उन्नत संस्करण जो एक 16x2 एलसीडी + कीपैड शील्ड का उपयोग करता है और इस प्रकार चर पर to मक्खी पर चर को बदलने के लिए एक मेनू है ”और न केवल सोर्सकोड में।

नियंत्रक क्या करता है?

यदि आप बटन को दबाकर hooting फोटोशूटिंग को ट्रिगर करते हैं, तो टर्नटेबल एक पूर्ण क्रांति करता है, जो चरणों की पूर्वनिर्धारित राशि में विभाजित होता है। प्रत्येक रोटेशन कदम के बाद, नियंत्रक एक छोटा ब्रेक बनाता है और फिर कैमरे को चालू करता है। आप स्रोत कोड (सरल नियंत्रक संस्करण के लिए) या प्रदर्शन मेनू (उन्नत नियंत्रक संस्करण) में रोटेशन की गति, देरी समय और चरणों की संख्या को बदलने में सक्षम होंगे।

आपूर्ति:

चरण 1: भागों और फ़ाइलों को इकट्ठा करें

हिस्से:

  • Arduino Uno (या समान)
  • ब्रेडबोर्ड (आधी ब्रेडबोर्ड फिट बैठता है)
  • इजीडाइवर स्टेपर मोटर ड्राइवर
    http://www.sparkfun.com/products/12779
  • Easydriver के लिए 2X हीटसिंक (वैकल्पिक लेकिन अत्यधिक अनुशंसित)
    http://www.sparkfun.com/products/11510 चिप पर हीट सिंक को ठीक करने के लिए आपको थर्मल टेप की आवश्यकता होगी। यदि आप अपने हीटसिंक का आदेश देते हैं, तो सुनिश्चित करें कि टर्मल टेप लगा हुआ है या अलग से ऑर्डर किया जा सकता है।
  • अवरक्त एलईडी 950nm (आईआर कैमरा ट्रिगर के लिए)
  • रेसिस्टर 220 ओम (अवरक्त-एलईडी के लिए पूर्व-प्रतिरोधक)
  • Piezo साउंड एलिमेंट (वैकल्पिक, यदि आप फीडबैक ध्वनि चाहते हैं)
  • कुछ जम्पर तार
  • स्टेपरमोटर के लिए बाहरी बिजली की आपूर्ति
    मैंने 12V 1A पावर अडैप्टर के साथ ट्रिनैमिक से 1A NEMA 17 स्टेपर्मोटर चलाने के लिए अच्छे अनुभव किए। मैं भी उपयोग में एक 24V 3A पावर एडाप्टर था। ईज़ीडायरिवर बोर्ड प्रति चरण 30V और 750mA तक का समर्थन करता है। यहाँ पर easydriver- चश्मा पर अधिक: http://www.schmalzhaus.com/EasyDriver/index.html
  • स्टेप्परमोटर की बाहरी बिजली की आपूर्ति के लिए सॉकेट
  • द्विध्रुवीय एनईएमए 17 स्टेपरमोटर और टर्नटेबल ईजी। FluxGarage erm Steppermotor के साथ स्वचालित टर्नटेबल "लिंक: http: //www.instructables.com/id/Automated-Turnta ...

मूल pushbutton- नियंत्रक के लिए जोड़ें ...

  • बटन दबाओ
  • रोकनेवाला 10k ओम (पुशबटन के लिए)
  • एलईडी (स्थिति-नेतृत्व)
  • रेसिस्टर 220 ओम (स्थिति-एलईडी के लिए पूर्व-प्रतिरोधक)

...या प्रदर्शन + कीपैड मेनू के साथ उन्नत नियंत्रक के लिए जोड़ें:

  • Adafruit LCD शील्ड किट 16x2 कैरेक्टर डिस्प्ले के साथ, उदा।
    http://www.adafruit.com/product/714

बुनियादी और उन्नत नियंत्रक के लिए Arduino कोड और फ्रिटिंग आरेख डाउनलोड करें:
http: //github.com/FluxGarage/Controller-for-Stepp ...

यदि आप उन्नत नियंत्रक के लिए फ्रिटिंग दस्तावेज़ को खोलना चाहते हैं, तो सुनिश्चित करें कि प्रवेश तत्वों को डाउनलोड और इंस्टॉल करें: http: //blog.adafruit.com/2012/08/27/how-to-insta ...


कृपया ध्यान दें:
चित्रों पर मैं FluxGarage er's Tinkerer's Baseplate ”और 16x2 LCD + कीपैड शील्ड के लिए FluxGarage x फ्रंट प्लेट का उपयोग कर रहा हूं। उन तत्वों का उपयोग करना वैकल्पिक है, यदि आप भी उनका उपयोग करना चाहते हैं, तो संबंधित अनुदेशों के लिंक पर क्लिक करें।

चरण 2: इकट्ठा सर्किट

मिलाप ब्रेडबोर्ड उपयोग के लिए ईजी ग्रिड्रीवर बोर्ड:
ब्रेडबोर्ड पर आसानी से उपयोग करने के लिए, आपको बोर्ड पर कुछ पुरुष पिन हेडर को मिलाप करने की आवश्यकता है। सबसे अच्छा तरीका है कि पुरुष पिन हेडर को ब्रेडबोर्ड में डाल दिया जाए, ऊपर की तरफ डिड्राइवर बिछाएं और फिर पिंस को मिलाएं।

तारों:
बुनियादी या उन्नत नियंत्रक के लिए फ्रिटिंग ग्राफिक के संबंध में दिखाए गए भागों को तार दें। गितुब पर Firtzing चित्र डाउनलोड करें, चरण 1 में लिंक ढूंढें।

यदि सब कुछ निम्न प्रकार से जुड़ा हो तो डबल चेक करें:

  • Arduino डिजिटल पिन 02 = ईयरडायरिवर का dir पिन
  • अर्डुइनो डिजिटल पिन 03 = स्टेप पिन ऑफ इजीडाइवर
  • Arduino डिजिटल पिन 09 = पीजो के लिए आउटपुट
  • Arduino डिजिटल पिन 12 = इन्फ्रारेड एलईडी के लिए आउटपुट (एलईडी 220 ओम पूर्व अवरोधक का नेतृत्व किया)

+ बेसिक कंट्रोलर के लिए:

  • Arduino डिजिटल पिन 04 = पुशबटन के लिए इनपुट (बटन ग्राउंड से पहले 10k ओम अवरोधक लगाएं)
  • Arduino डिजिटल पिन 13 = स्टेटस एलईडी के लिए आउटपुट (एलईडी 220 ओम पूर्व अवरोधक का नेतृत्व किया)

+ उन्नत नियंत्रक के लिए:

  • Arduino पर डिस्प्ले + कीपैड शील्ड को स्टैक करें, वास्तव में उन पिन का उपयोग किया जाता है: Arduino एनालॉग पिन A4 + A5 और 5V + GND।

कनेक्ट स्टेपर्मोटर:
द्विध्रुवी स्टेपर मोटर्स (4 वायर) को वायरिंग करना मोटर के दो कॉइल (ए और बी) को जोड़ने के लिए है, जो कि ईड्रियावर बोर्ड के दाहिने पिंस से जुड़ा है।
इस पृष्ठ के मध्य में और अपने विशिष्ट स्टेपर मोटर के चश्मे पर एक नज़र डालें:
http://www.schmalzhaus.com/EasyDriver/index.html

आप अपने स्टेपर मोटर और इजीड्राइवर को वायरिंग के बारे में और जानकारी यहाँ पा सकते हैं: http://bildr.org/2011/06/easydriver/

बाहरी बिजली की आपूर्ति कनेक्ट करें
Easydriver बोर्ड में ऊपरी दाहिनी ओर (M + और ग्राउंड) में दो अलग-अलग पावर पिन हैं। जबकि बोर्ड खुद Arduino से शक्ति प्राप्त करता है, अलग इनपुट स्टेपरमोटर के लिए शक्ति प्रदान करता है। यदि आप "पावर एडॉप्टर और सॉकेट" बॉक्स से बाहर एक विशिष्ट If का उपयोग करते हैं, तो आपको „M +" पिन को आसान और पिन करने के लिए to + "तार को कनेक्ट करना चाहिए -" तार को आसान करने के लिए "GND" पिन। आमतौर पर whereas + ”आंतरिक तरफ होता है, जबकि प्लग के बाहरी तरफ is -” होता है। लेकिन सावधान रहें, कुछ शक्ति एडेप्टर ध्रुवता को स्विच करने की अनुमति देते हैं! यदि आप अपने आसान को गलत तरीके से तार करते हैं, तो यह संभवतः क्षतिग्रस्त हो सकता है, इसे ध्यान में रखें।

चरण 3: Arduino पर Sourcecode अपलोड करें

Github पर Arduino सोर्सकोड डाउनलोड करें:
चरण 1 पर डाउनलोड लिंक खोजें।

Arduino IDE डाउनलोड करें:
http://www.arduino.cc/en/Main/Software

थर्ड पार्टी लाइब्रेरी डाउनलोड करें और उन्हें अपने IDE के लाइब्रेरी फ़ोल्डर में कॉपी करें:
... कैमरा शटर के लिए:
http: //github.com/dharmapurikar/Arduino/tree/mast ...
... प्रवेश के लिए 16x2 प्रदर्शन + कीपैड शील्ड:
http: //github.com/adafruit/Adafruit-RGB-LCD-Shiel ...

कोड का परीक्षण किया गया है और नवीनतम Arduino IDE (1.8.7 विंडोज़ पर) और Arduino Uno + Easydriver Stepper motor Driver + Adafruit 16x2 Display + Keypad Shield, + a Trinamic stepper motor और Nikon D60 कैमरा के साथ ठीक काम करता है।

अपने विशिष्ट कैमरे के साथ काम करने के लिए कोड समायोजित करें:
जैसा कि उल्लेख किया गया है, मैंने सेबस्टियन सेत्ज़ द्वारा Cam मल्टीकैमरेराकंट्रोल.एच ”लाइब्रेरी का उपयोग किया। इसे अपने कैमरे के लिए काम करने के लिए, आपको अपने कैमरा निर्माता नाम से पहले टिप्पणी स्लैश को हटाना होगा और निश्चित रूप से अन्य सभी निर्माता नामों से पहले स्लैश जोड़ना होगा:

// कैमरा टाइप सेट करें
निकोन डी 5000 (12);
// कैनन डी 5 (12);
// मिनोल्टा ए 900 (12);
// ओलिंप E5 (12);
// पेंटाक्स के 7 (12);
// सोनी ए 900 (12);

“स्नैप" फ़ंक्शन में इसी तरह के विज्ञापन करें:

// एक तस्वीर ले लो
शून्य स्नैप () {
D5000.shotNow ();
//D5.shotNow ();
//A900.shotNow ();
//E5.shotNow ();
//K7.shotNow ();
//A900.shotNow ();
}

कृपया ध्यान दें:
दुर्भाग्य से, मैं अभी तक अपने स्वयं के Nikon D60 की तुलना में अन्य IR ट्रिगर कैमरों का परीक्षण करने में सक्षम नहीं था। कैमरा शटर लाइब्रेरी को विभिन्न निर्माताओं के कई कैमरों के साथ काम करना चाहिए, न केवल विशिष्ट कैमरा मॉडल जो कोड में उल्लिखित हैं। यह बहुत अच्छा होगा यदि आप अपने कैनन, मिनोल्टा, ओलंपस, पेंटाक्स या सोनी कैमरे के साथ अपने अनुभवों पर एक टिप्पणी पोस्ट करते हैं।

चरण 4: नियंत्रक का संचालन करें

कंट्रोलर क्रमशः कोड क्या करता है?
यदि आप बटन को पुश करते हैं, तो एक hooting फोटोशूटिंग ”ट्रिगर हो जाता है। प्रत्येक फोटोशूटिंग निम्न अनुक्रम का एक सीमित लूप है:

  1. कैमरा चालू है
  2. कम देरी
  3. Steppermotor डिग्री की एक पूर्वनिर्धारित राशि को घुमाएगी
  4. कम देरी

एक फोटोशूटिंग चर के एक सेट पर आधारित है जो इसके सटीक व्यवहार को निर्धारित करता है। आप इन चर को सोर्सकोड (साधारण नियंत्रक संस्करण के लिए) या डिस्प्ले मेनू (उन्नत नियंत्रक संस्करण) में बदल सकते हैं।


मूल नियंत्रक का संचालन:

बेसिक कंट्रोलर पर स्टेटस एलईडी दिखाता है कि सिस्टम कब परफॉर्म करने के लिए तैयार है। जब आप एक फोटोशूटिंग शुरू करते हैं तो एलईडी बंद हो जाती है। जब तक “इंटरप्ट साउंड” प्रकट न हो जाए और टर्नटेबल बंद हो जाता है तब तक आप बटन दबाकर एक फोटोशूटिंग बाधित कर सकते हैं। "वास्तविक जीवन" में इसे देखने के लिए इस अनुदेश के शीर्ष अनुभाग में वीडियो देखें।

फोटोशूटिंग के वेरिएबल को कोड के शीर्ष भाग में पाया जा सकता है, और फोटोशूटिंग को संशोधित करने के लिए बदला जा सकता है। नीचे आप प्रारंभिक मान देख सकते हैं:

int शूटिंगस्टेप्स = 20; // एक पूर्ण क्रांति के लिए चरणों की संख्या, 10, 20 या 40 होनी चाहिए
फ्लोट शूटिंग्सपीड = 0.01; // रोटेशन की गति: .01 से किसी भी संख्या। - 1 1 सबसे तेज़ होने के साथ - धीमी मजबूत है (धीमी गति "बेहतर" के लिए)
int shootingdelay = 1000; // प्रत्येक घुमाव से पहले और बाद में मिलीसेकंड में ब्रेक


उन्नत नियंत्रक का संचालन:

उन्नत नियंत्रक को चालू करते समय, एक फ्लक्सगैरेज लोगोप्लैश को 4 सेकंड के लिए दिखाया जाता है। उसके बाद, नियंत्रक प्रदर्शन करने के लिए तैयार है और चर के समायोज्य सेट की एक सूची दिखाता है:

  • ST = चरणों की संख्या, 10, 20 या 40 हो सकती है
  • एसपी = रोटेशन स्पीड, 1-5 हो सकती है जबकि 1 सबसे धीमी है
  • DE = एक सेकंड के दसवें चरण में प्रत्येक चरण से पहले और बाद में देरी, 5, 10, 25, 50 हो सकती है
  • LI = यह निर्धारित करता है कि शूटिंग के दौरान डिस्प्ले की बैकग्राउंड लाइट चालू या बंद है या नहीं। 1 = पर या 0 = बंद हो सकता है

आप बाएँ और दाएँ बटन के साथ चर प्रकारों के माध्यम से नेविगेट कर सकते हैं और ऊपर और नीचे बटन के साथ मान बदल सकते हैं।
चुनिंदा बटन दबाकर एक फोटोशूटिंग शुरू करें और जब तक “इंटरप्ट साउंड” न दिखे तब तक सिलेक्ट बटन दबाकर एक फोटोशूटिंग को बाधित करें। "वास्तविक जीवन" में इसे देखने के लिए इस अनुदेश के शीर्ष अनुभाग में वीडियो देखें।

चरण 5: शूटिंग शुरू करें

यदि आपने अपना कंट्रोलर + टर्नटेबल बनाया है और आपका कैमरा चालू है, तो आप शूटिंग शुरू करने के लिए तैयार हैं ... लगभग। मुझे अपने स्वयं के प्रयोगों से कुछ सीख साझा करने दें:

  • समान रूप से अपनी वस्तुओं को रोशन करने के लिए एक हल्के तम्बू का उपयोग करें। आप यहाँ पर बहुत सारे अच्छे ट्यूटोरियल पा सकते हैं। इसके अलावा, वहाँ सस्ती कपड़ा प्रकाश टेंट है कि कई ऑनलाइन दुकानों में खरीदा जा सकता है।
  • एक ही रंग तापमान (केल्विन) के साथ lightbulbs का उपयोग करें
  • ऑब्जेक्ट को मैन्युअल रूप से टर्नटेबल पर केंद्रित करें, अपने कैमरे के ऑटोफोकस को निष्क्रिय करें
  • अगर आपके तिपाई के साथ काम कर रहा है, तो अपने कैमरे की छवि को स्थिर करें
  • पृष्ठभूमि में एक मापने की सीमा चुनें, जहां शॉट ऑब्जेक्ट दिखाई नहीं देगा। ऐसा करने से, आप अपनी छवि अनुक्रम में झिलमिलाहट से बचेंगे। दूसरा तरीका है अपने कैमरे के एक्सपोज़र टाइम को मैनुअली सेट करना।
  • यदि आप अपनी 360-Images को अपनी वेबसाइट में शामिल करना चाहते हैं, तो जावास्क्रिप्ट प्लगइन्स का उपयोग करें
    "पेट्री वोस्टेल उर्फ” PISI द्वारा 'जेकरी रील प्लगिन "
    → http://jquery.vostrel.cz/reel
    „360 डिग्री उत्पाद दर्शक“ “कॉडीहाउस” द्वारा
    → http: //codyhouse.co/gem/360-degrees-product-view ...

यह मेरी एक शूटिंग का परिणाम है (ऊपर की सेटिंग के साथ बनाया गया है):
http://www.fluxgarage.com/turntable_360viewer.html