विषयसूची:
- चरण 1: I2c कैसे काम करता है
- चरण 2:
- चरण 3: उपयोग
- चरण 4: मूल्य पढ़ें
- चरण 5: चैनल से घाटी पढ़ें
- चरण 6: मूल्य लिखें
- चरण 7: अतिरिक्त सुविधाएँ
- चरण 8: उदाहरण कनेक्शन आरेख
- चरण 9: धन्यवाद
वीडियो: PCF8591 (i2c एनालॉग I/O विस्तारक) तेजी से आसान उपयोग: 9 कदम
2024 लेखक: John Day | [email protected]. अंतिम बार संशोधित: 2024-01-30 09:21
Arduino और esp8266 के साथ i2c pcf8591 IC का उपयोग करने के लिए पुस्तकालय।
यह आईसी (4 तक) एनालॉग इनपुट और/या 1 एनालॉग आउटपुट जैसे माप वोल्टेज को नियंत्रित कर सकता है, थर्मिस्टर मान पढ़ सकता है या एक एलईडी फीका कर सकता है।
एनालॉग वैल्यू पढ़ सकते हैं और केवल 2 वायर (ESP-01 के लिए बिल्कुल सही) के साथ एनालॉग वैल्यू लिख सकते हैं।
मैं ऑपरेशन के न्यूनतम सेट के साथ, इस आईसी के उपयोग को सरल बनाने की कोशिश करता हूं।
आप मेरी साइट https://www.mischianti.org/2019/01/03/pcf8591-i2c-analog-i-o-expander/ पर अद्यतन संस्करण पा सकते हैं।
चरण 1: I2c कैसे काम करता है
I2C इसके दो तारों, SDA (डेटा लाइन) और SCL (क्लॉक लाइन) के साथ काम करता है।
ये दोनों लाइनें ओपन-ड्रेन हैं, लेकिन प्रतिरोधों के साथ खींची गई हैं।
आमतौर पर लाइन पर एक मास्टर और एक या एक से अधिक दास होते हैं, हालांकि कई स्वामी हो सकते हैं, लेकिन हम इसके बारे में बाद में बात करेंगे।
स्वामी और दास दोनों डेटा संचारित या प्राप्त कर सकते हैं, इसलिए, एक उपकरण इन चार राज्यों में से एक में हो सकता है: मास्टर ट्रांसमिट, मास्टर रिसीव, स्लेव ट्रांसमिट, स्लेव रिसीव।
चरण 2:
आप यहां मेरी लाइब्रेरी पा सकते हैं।
डाउनलोड करने के लिए।
ऊपरी दाएं कोने में डाउनलोड बटन पर क्लिक करें, असम्पीडित फ़ोल्डर का नाम बदलें PCF8591।
जांचें कि PCF8591 फ़ोल्डर में PCF8591.cpp और PCF8591.h है।
PCF8591 लाइब्रेरी फोल्डर को अपने /लाइब्रेरी/फोल्डर में रखें।
यदि आपकी पहली लाइब्रेरी है तो आपको लाइब्रेरी सबफ़ोल्डर बनाने की आवश्यकता हो सकती है।
आईडीई को पुनरारंभ करें।
चरण 3: उपयोग
कंस्ट्रक्टर: आपको i2c का पता देना होगा (पते की जांच करने के लिए इस गाइड I2cScanner का उपयोग करें)
PCF8591 (uint8_t पता);
esp8266 के लिए यदि आप एसडीए ई एससीएल पिन निर्दिष्ट करना चाहते हैं तो इसका उपयोग करें:
PCF8591(uint8_t पता, uint8_t sda, uint8_t scl);
चरण 4: मूल्य पढ़ें
जैसा कि आप छवि में देख सकते हैं IC में 4 एनालॉग इनपुट और 1 एनालॉग आउटपुट है।
तो एक ट्रैसमिशन में सभी एनालॉग इनपुट को पढ़ने के लिए आप कर सकते हैं (मान 0 से 255 तक है):
PCF8591::AnalogInput ai = pcf8591.analogReadAll ();
सीरियल.प्रिंट (ai.ain0); सीरियल.प्रिंट ("-"); सीरियल.प्रिंट (ai.ain1); सीरियल.प्रिंट ("-"); सीरियल.प्रिंट (ai.ain2); सीरियल.प्रिंट ("-"); Serial.println(ai.ain3);
यदि आप एकल एनालॉग इनपुट या चैनल पढ़ना चाहते हैं:
इंट एना = pcf8591.analogRead (AIN0); // एनालॉग 0 पढ़ें
चरण 5: चैनल से घाटी पढ़ें
इस आईसी में कई प्रकार के रीड हैं और आप एनालॉग इनपुट या एनालॉग चैनल का उपयोग कर सकते हैं (जब आप सिंगल रीड एनालॉग इनपुट का उपयोग करते हैं और चैनल चित्रों में होते हैं)।
उदाहरण के लिए दो अंतर इनपुट में चैनल 0 का मान पढ़ने के लिए आपको यह करना होगा:
इंट एना = pcf8591.analogRead (CHANNEL0, TWO_DIFFERENTIAL_INPUT); // एनालॉग 0. पढ़ें
चरण 6: मूल्य लिखें
यदि आप एक एनालॉग वैल्यू लिखना चाहते हैं तो आपको अवश्य करना चाहिए (मान 0 से 255 तक है):
pcf8591.analogWrite(128);
चरण 7: अतिरिक्त सुविधाएँ
एक लिखने वाले वोल्टेज को पढ़ने के लिए अतिरिक्त सुविधा है: वोल्टेज की गणना के लिए आपको कुछ पैरामीटर पास करना होगा:
- माइक्रोकंट्रोलर रेफरेंस वोल्टेज: माइक्रोकंट्रोलर वोल्टेज से वोल्टेज प्राप्त करें (एएसपी 3.3v फिक्स्ड के लिए केवल एवीआर नं esp8266)
- संदर्भवोल्टेज: यदि माइक्रोकंट्रोलरसंदर्भ वोल्टेज गलत है तो यह मान लेंकमांड हैं:
शून्य वोल्टेजराइट (फ्लोट वैल्यू, बूल माइक्रोकंट्रोलर रेफरेंस वोल्टेज = ट्रू, फ्लोट रेफरेंस वोल्टेज = 5.0);
फ्लोट वोल्टेजरीड (uint8_t एनालॉगपिन, बूल माइक्रोकंट्रोलर रेफरेंस वोल्टेज = ट्रू, फ्लोट रेफरेंस वोल्टेज = 5.0);
एक उदाहरण है:
pcf8591.voltageWrite(2.7); // 2.7 वोल्ट आउटपुट
देरी (3000);
फ्लोट ana0V = pcf8591.voltageRead (AIN0); // एनालॉग 0. से वोल्टेज पढ़ें
Serial.println (ana0V);
चरण 8: उदाहरण कनेक्शन आरेख
चरण 9: धन्यवाद
i2c परियोजना श्रृंखला (संग्रह):
- तापमान आर्द्रता सेंसर
- एनालॉग विस्तारक
- डिजिटल विस्तारक
- एलसीडी प्रदर्शन
सिफारिश की:
एक एनालॉग पिन का उपयोग करके एकाधिक एनालॉग मान कैसे पढ़ें: 6 चरण (चित्रों के साथ)
एक एनालॉग पिन का उपयोग करके एकाधिक एनालॉग मान कैसे पढ़ें: इस ट्यूटोरियल में, मैं आपको केवल एक एनालॉग इनपुट पिन का उपयोग करके कई एनालॉग मानों को पढ़ने का तरीका दिखाने जा रहा हूं।
रास्पबेरी पाई - PCA9536 इनपुट / आउटपुट विस्तारक पायथन ट्यूटोरियल: 4 कदम
रास्पबेरी पाई - पीसीए9536 इनपुट/आउटपुट एक्सपैंडर पायथन ट्यूटोरियल: पीसीए9536 एक 8-पिन सीएमओएस डिवाइस है जो आई2सी-बस/एसएमबीस अनुप्रयोगों के लिए सामान्य प्रयोजन समानांतर इनपुट/आउटपुट (जीपीआईओ) विस्तार के 4 बिट प्रदान करता है। इसमें इनपुट या आउटपुट चयन के उद्देश्य को पूरा करने के लिए 4-बिट कॉन्फ़िगरेशन रजिस्टर होता है, 4-बिट
(सरल) रास्पबेरी पीआई ज़ीरो से एनालॉग / पीडब्लूएम ऑडियो प्राप्त करने का आसान तरीका और सीआरटी टीवी से कनेक्ट करना: 4 कदम
(सरल) रास्पबेरी पीआई ज़ीरो से एनालॉग / पीडब्लूएम ऑडियो प्राप्त करने का आसान तरीका और सीआरटी टीवी से भी जुड़ना
एक-क्लिक विंडोज और लिनक्स एप्लिकेशन (32-बिट और 64-बिट) के साथ DIY MusiLED, म्यूजिक सिंक्रोनाइज्ड एलईडी। रीक्रिएट करने में आसान, उपयोग में आसान, पोर्ट करने में आसान: 3 चरण
एक-क्लिक विंडोज और लिनक्स एप्लिकेशन (32-बिट और 64-बिट) के साथ DIY MusiLED, म्यूजिक सिंक्रोनाइज्ड एलईडी। रीक्रिएट करने में आसान, उपयोग में आसान, पोर्ट करने में आसान: यह प्रोजेक्ट आपको 18 LED (6 रेड + 6 ब्लू + 6 येलो) को अपने Arduino बोर्ड से कनेक्ट करने और आपके कंप्यूटर के साउंड कार्ड के रियल-टाइम सिग्नल का विश्लेषण करने और उन्हें रिले करने में मदद करेगा। एल ई डी बीट इफेक्ट (स्नेयर, हाई हैट, किक) के अनुसार उन्हें रोशन करने के लिए
अपने पीसी को तेजी से और कुशलता से कैसे चालू रखें: 7 कदम
अपने पीसी को तेजी से और कुशलता से कैसे चालू रखें: यह निर्देश आपको अपने कंप्यूटर को साफ करने के तरीके के बारे में कदम दर कदम मार्गदर्शन करेगा और उन अनावश्यक कार्यक्रमों में से एक के लिए भुगतान किए बिना इसे तेजी से चालू रखेगा।