क्या कोई ऐसा तरीका है जिससे मैं एक Arduino या अन्य माइक्रो-नियंत्रक को समाई में बदलाव का पता लगा सकता हूं?
मैं अपने दरवाजे पर एक स्क्रीन होने की सोच रहा हूं जो केवल तब चालू होती है जब आप धातु के दरवाजे के हैंडल को छूते हैं।
क्या कोई ऐसा तरीका है जिससे मैं एक Arduino या अन्य माइक्रो-नियंत्रक को समाई में बदलाव का पता लगा सकता हूं?
मैं अपने दरवाजे पर एक स्क्रीन होने की सोच रहा हूं जो केवल तब चालू होती है जब आप धातु के दरवाजे के हैंडल को छूते हैं।
जवाबों:
हाँ।
सबसे आसान तरीका एक उच्च मूल्य अवरोधक (1-10M) का उपयोग करना और इस पुराने arduino फोरम पोस्ट पर दिए गए निर्देशों का पालन करना होगा: http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num/1171076259
यहाँ एक ट्यूटोरियल है http://www.nerdkits.com/videos/hallp3_capacitive_touch_sensor/
वीडियो में विस्तार से समझाया गया हाथ की उपस्थिति का पता लगाने के लिए वास्तविक सेंसर का उपयोग किया जाता है, लेकिन यहां एक अवलोकन है। हमारा सेंसर उसी सिद्धांत पर काम करता है जो एक कैपेसिटिव टच सेंसर आपके लैपटॉप टचपैड पर काम करता है। ये कैपेसिटिव टच सेंसर इस आधार पर काम करते हैं कि मानव ज्यादातर पानी में हैं। जब आप एक बिजली के क्षेत्र के पास पहुँचते हैं तो आप सेंसर द्वारा देखे जाने के लिए पर्याप्त धारिता को बदल देते हैं।
हमारी प्रणाली में हम एक संधारित्र और समानांतर में एक रोकनेवाला के साथ एक आरसी सर्किट स्थापित करते हैं। हम 5V (एक डिजिटल उच्च वोल्टेज) तक संधारित्र को चार्ज करने के लिए MCU का उपयोग करते हैं। फिर हम पिन को एक इनपुट पिन में बदलते हैं, जो अनिवार्य रूप से उस नोड को डिस्कनेक्ट करता है। यह संधारित्र को रोकनेवाला के माध्यम से निर्वहन करने की अनुमति देता है। संधारित्र को निर्वहन करने में जितना समय लगता है, वह प्रतिरोधक मूल्य के समाई के समय से संबंधित होगा। हम एक अवरोधक मूल्य को काफी बड़े उठाते हैं जो MCU के साथ मापने के लिए RC समय स्थिर हमारे लिए पर्याप्त है। इस मामले में 100K ओम ने बहुत अच्छा काम किया। इस मामले में सेंसर एल्यूमीनियम पन्नी की दो शीट है, एक MCU पिन से जुड़ा है, और एक GND से जुड़ा है। ये दो पत्रक एक संधारित्र बनाते हैं जिसे हमारा MCU चार्ज और डिस्चार्ज कर रहा है। जब आपके हाथ दो चादरों के बीच चले जाते हैं, तो यह विद्युत क्षेत्र को बदल देता है, और इसलिए हमारे टिन फ़ॉइल गर्भनिरोधक की समाई। इसलिए संधारित्र को निर्वहन में अधिक समय लगता है, और यह हमारे माइक्रोकंट्रोलर पर कोड द्वारा पता लगाया जाता है!
सबसे अच्छा तरीका है कि मैं समाई को मापने के लिए मिला है एक RC सर्किट का उपयोग करना है। एक निश्चित अवरोधक के माध्यम से कैपेसिटिव सेंसर को चार्ज और डिस्चार्ज करने के लिए एक माइक्रोप्रोसेसर पर एक डिजिटल I / O पोर्ट का उपयोग करें। जब आप चार्ज / डिस्चार्ज चक्र शुरू करते हैं तो टाइमर शुरू करें। फिर संधारित्र का पता लगाने के लिए एक संधारित्र का उपयोग करें जब संधारित्र ने पूरी तरह से चार्ज / छुट्टी दे दी हो। तुलनित्र यात्राएं जब टाइमर बंद करो। टाइमर में संग्रहीत मूल्य तब सेंसर की समाई की गणना करने के लिए उपयोग किया जा सकता है।
Arduino विशिष्ट उत्तर नहीं है, लेकिन माइक्रोचिप का PIC पर इसे करने का एक तरीका है - जो संभवतः AVR में काम करेगा
http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1824&appnote=en545264
इन विधियों के साथ केवल चिंता ही स्थैतिक निर्वहन से सुरक्षा की कमी है
एक कैपेसिटिव टच सेंसर बिना अतिरिक्त हार्डवेयर के किया जा सकता है। चाल एक डिजिटल पिन के आंतरिक पुल-अप को सक्षम करने के लिए है, और पिन को खींचने के लिए ले जाने वाले सीपीयू चक्रों की गणना करें।
कोड और स्पष्टीकरण: http://playground.arduino.cc/Code/CapacitiveSensor
मैं एक थरथरानवाला के भाग के रूप में परीक्षण के तहत संधारित्र का उपयोग करके माइक्रोस्ट्रोलर से नौकरी के एनालॉग भाग को लेना पसंद करता हूं और फिर प्यूस चौड़ाई को मापने के लिए नियंत्रक का उपयोग करता हूं। यह एक अतिरिक्त हिस्सा है, लेकिन मुझे इस तरह से बेहतर परिणाम मिले हैं।