সুচিপত্র:
- ধাপ 1: কিভাবে I2c কাজ করে
- ধাপ ২:
- ধাপ 3: ব্যবহার
- ধাপ 4: মান পড়ুন
- ধাপ 5: চ্যানেল থেকে ভেল পড়ুন
- ধাপ 6: মান লিখুন
- ধাপ 7: অতিরিক্ত বৈশিষ্ট্য
- ধাপ 8: উদাহরণ সংযোগ ডায়াগ্রাম
- ধাপ 9: ধন্যবাদ
ভিডিও: PCF8591 (i2c Analog I/O Expander) দ্রুত সহজ ব্যবহার: 9 টি ধাপ
2024 লেখক: John Day | [email protected]. সর্বশেষ পরিবর্তিত: 2024-01-30 08:01
Arduino এবং esp8266 সহ i2c pcf8591 IC ব্যবহার করার জন্য লাইব্রেরি।
এই আইসি নিয়ন্ত্রণ করতে পারে (4 পর্যন্ত) এনালগ ইনপুট এবং/অথবা 1 এনালগ আউটপুট যেমন পরিমাপ ভোল্টেজ, থার্মিস্টার মান পড়ুন বা একটি নেতৃত্বকে ফেইড করুন।
এনালগ মান পড়তে পারে এবং মাত্র 2 টি তারের সাথে এনালগ মান লিখতে পারে (ESP-01 এর জন্য নিখুঁত)।
আমি এই আইসি এর ব্যবহার সহজ করার চেষ্টা করি, অপারেশনের ন্যূনতম সেট সহ।
আপনি আমার সাইটে
ধাপ 1: কিভাবে I2c কাজ করে
I2C এর দুটি তারের সাথে কাজ করে, এসডিএ (ডেটা লাইন) এবং এসসিএল (ক্লক লাইন)।
এই দুটি লাইনই ওপেন-ড্রেন, কিন্তু প্রতিরোধক দিয়ে টানা-টানা।
লাইনে সাধারণত একজন মাস্টার এবং এক বা একাধিক ক্রীতদাস থাকে, যদিও একাধিক মাস্টার থাকতে পারে, তবে আমরা সে সম্পর্কে পরে কথা বলব।
মাস্টার এবং ক্রীতদাস উভয়ই ডেটা প্রেরণ বা গ্রহণ করতে পারে, অতএব, একটি ডিভাইস এই চারটি রাজ্যের একটিতে থাকতে পারে: মাস্টার ট্রান্সমিট, মাস্টার রিসিভ, স্লেভ ট্রান্সমিট, স্লেভ রিসিভ।
ধাপ ২:
আপনি এখানে আমার লাইব্রেরি খুঁজে পেতে পারেন।
ডাউনলোড করতে.
উপরের ডান কোণে ডাউনলোড বোতামে ক্লিক করুন, অসম্পূর্ণ ফোল্ডারের নাম পরিবর্তন করুন PCF8591।
পরীক্ষা করুন যে PCF8591 ফোল্ডারে PCF8591.cpp এবং PCF8591.h রয়েছে।
PCF8591 লাইব্রেরি ফোল্ডারটি আপনার / লাইব্রেরি / ফোল্ডারে রাখুন।
আপনার প্রথম লাইব্রেরি হলে আপনাকে লাইব্রেরি সাবফোল্ডার তৈরি করতে হতে পারে।
আইডিই পুনরায় চালু করুন।
ধাপ 3: ব্যবহার
কনস্ট্রাক্টর: আপনাকে অবশ্যই i2c এর ঠিকানা পাস করতে হবে (ঠিকানাটি চেক করতে এই গাইড I2cScanner ব্যবহার করুন)
PCF8591 (uint8_t ঠিকানা);
esp8266 এর জন্য যদি আপনি SDA e SCL পিন নির্দিষ্ট করতে চান তাহলে এটি ব্যবহার করুন:
PCF8591 (uint8_t ঠিকানা, uint8_t sda, uint8_t scl);
ধাপ 4: মান পড়ুন
আইসি হিসাবে আপনি ছবিতে দেখতে পারেন 4 এনালগ ইনপুট এবং 1 এনালগ আউটপুট।
সুতরাং একটি ট্রান্সমিশনে সমস্ত এনালগ ইনপুট পড়ার জন্য আপনি করতে পারেন (মান 0 থেকে 255 পর্যন্ত):
PCF8591:: AnalogInput ai = pcf8591.analogReadAll ();
সিরিয়াল.প্রিন্ট (ai.ain0); সিরিয়াল.প্রিন্ট (" -"); সিরিয়াল.প্রিন্ট (ai.ain1); সিরিয়াল.প্রিন্ট (" -"); সিরিয়াল.প্রিন্ট (ai.ain2); সিরিয়াল.প্রিন্ট (" -"); Serial.println (ai.ain3);
আপনি যদি একটি একক এনালগ ইনপুট বা চ্যানেল পড়তে চান:
int ana = pcf8591.analogRead (AIN0); // এনালগ 0 পড়ুন
ধাপ 5: চ্যানেল থেকে ভেল পড়ুন
এই আইসিতে একাধিক ধরনের পড়া আছে এবং আপনি এনালগ ইনপুট বা এনালগ চ্যানেল ব্যবহার করতে পারেন (যখন আপনি সিঙ্গেল রিড এনালগ ইনপুট ব্যবহার করেন এবং চ্যানেল ছবিতে থাকে)।
উদাহরণস্বরূপ দুটি ডিফারেনশিয়াল ইনপুটে চ্যানেল 0 এর মান পড়তে হলে আপনাকে অবশ্যই করতে হবে:
int ana = pcf8591.analogRead (CHANNEL0, TWO_DIFFERENTIAL_INPUT); // এনালগ 0 পড়ুন
ধাপ 6: মান লিখুন
আপনি যদি একটি এনালগ মান লিখতে চান তবে আপনাকে অবশ্যই করতে হবে (মানটি 0 থেকে 255 পর্যন্ত):
pcf8591.analogWrite (128);
ধাপ 7: অতিরিক্ত বৈশিষ্ট্য
অতিরিক্ত বৈশিষ্ট্য হল একটি লেখার ভোল্টেজ পড়া: ভোল্টেজ গণনার জন্য আপনাকে কিছু প্যারামিটার পাস করতে হবে:
- মাইক্রোকন্ট্রোলার রেফারেন্স ভোল্টেজ: মাইক্রোকন্ট্রোলার ভোল্টেজ থেকে ভোল্টেজ পান (শুধুমাত্র AVR no esp8266 esp 3.3v ফিক্সড)
- রেফারেন্স ভোল্টেজ: যদি মাইক্রোকন্ট্রোলার রেফারেন্স ভোল্টেজ মিথ্যা হয় এই মানটি নিন কমান্ড হল:
void voltageWrite (float value, bool microcontrollerReferenceVoltage = true, float referenceVoltage = 5.0);
float voltageRead (uint8_t analogPin, bool microcontrollerReferenceVoltage = true, float referenceVoltage = 5.0);
একটি উদাহরণ হল:
pcf8591.voltageWrite (2.7); // 2.7 ভোল্ট আউটপুট
বিলম্ব (3000);
ভাসা ana0V = pcf8591.voltageRead (AIN0); // এনালগ 0 থেকে ভোল্টেজ পড়ুন
Serial.println (ana0V);
ধাপ 8: উদাহরণ সংযোগ ডায়াগ্রাম
ধাপ 9: ধন্যবাদ
i2c প্রকল্প সিরিজ (সংগ্রহ):
- তাপমাত্রা আর্দ্রতা সেন্সর
- এনালগ সম্প্রসারণকারী
- ডিজিটাল সম্প্রসারণকারী
- LCD প্রদর্শন
প্রস্তাবিত:
DHT12 (i2c সস্তা আর্দ্রতা এবং তাপমাত্রা সেন্সর), দ্রুত সহজ ব্যবহার: 14 টি ধাপ
DHT12 (i2c সস্তা আর্দ্রতা এবং তাপমাত্রা সেন্সর), দ্রুত সহজ ব্যবহার: আপনি আমার সাইটে https://www.mischianti.org/2019/01/01/dht12-library-en/. আপডেট এবং অন্যান্য খুঁজে পেতে পারেন। 2 তারের (i2c প্রোটোকল) সঙ্গে ব্যবহার করা যেতে পারে, কিন্তু আমি সস্তা এক ভালবাসি। এটি DHT12 সিরিজের জন্য একটি Arduino এবং esp8266 লাইব্রেরি
6 টি সহজ ধাপে আপনার লক স্ক্রিন পরিবর্তন করার দ্রুত এবং সহজ উপায় (উইন্ডোজ 8-10): 7 টি ধাপ
6 টি সহজ ধাপে আপনার লক স্ক্রিন পরিবর্তন করার দ্রুত এবং সহজ উপায় (উইন্ডোজ 8-10): আপনার ল্যাপটপ বা পিসিতে জিনিস পরিবর্তন করতে চান? আপনার বায়ুমণ্ডলে পরিবর্তন চান? আপনার কম্পিউটার লক স্ক্রিন সফলভাবে ব্যক্তিগতকৃত করতে এই দ্রুত এবং সহজ ধাপগুলি অনুসরণ করুন
DIY MusiLED, সঙ্গীত সিঙ্ক্রোনাইজড LEDs এক-ক্লিক উইন্ডোজ এবং লিনাক্স অ্যাপ্লিকেশন (32-বিট এবং 64-বিট)। পুনরায় তৈরি করা সহজ, ব্যবহার করা সহজ, পোর্টে সহজ।: 3 টি ধাপ
DIY MusiLED, সঙ্গীত সিঙ্ক্রোনাইজড LEDs এক-ক্লিক উইন্ডোজ এবং লিনাক্স অ্যাপ্লিকেশন (32-বিট এবং 64-বিট)। পুনরায় তৈরি করা সহজ, ব্যবহার করা সহজ, পোর্টে সহজ। এই প্রকল্পটি আপনাকে আপনার আরডুইনো বোর্ডে 18 টি LED (6 লাল + 6 নীল + 6 হলুদ) সংযুক্ত করতে এবং আপনার কম্পিউটারের সাউন্ড কার্ডের রিয়েল-টাইম সংকেত বিশ্লেষণ করতে এবং তাদের রিলেতে সহায়তা করবে। বীট প্রভাব (ফাঁদ, উচ্চ টুপি, কিক) অনুযায়ী তাদের আলো জ্বালানোর জন্য LEDs
দ্রুত, দ্রুত, সস্তা, ভালো লাগার LED রুম আলো (কারও জন্য): 5 টি ধাপ (ছবি সহ)
দ্রুত, দ্রুত, সস্তা, ভালো লাগার LED রুম আলো (যে কারও জন্য): সবাইকে স্বাগতম :-) এটি আমার প্রথম নির্দেশযোগ্য তাই মন্তব্যগুলি স্বাগত জানাই :-) আমি আপনাকে দেখানোর আশা করি কিভাবে দ্রুত LED আলো তৈরি করা যায় TINY buget। আপনার যা প্রয়োজন: CableLEDsResistors (12V এর জন্য 510Ohms) StapelsSoldering ironCutters এবং অন্যান্য বেসি
দ্রুত এবং সহজ নরম সুইচ (দ্রুত প্রোটোটাইপিং এর জন্য): ৫ টি ধাপ
দ্রুত এবং সহজ নরম সুইচ (দ্রুত প্রোটোটাইপিংয়ের জন্য): নরম সুইচ তৈরির বিভিন্ন উপায়। এই নির্দেশযোগ্য নরম সুইচের জন্য একটি খুব দ্রুত প্রোটোটাইপের আরেকটি বিকল্প দেখায়, পরিবাহী কাপড়ের পরিবর্তে একটি অ্যালুমিনিয়াম টেপ এবং একটি পরিবাহী থ্রেডের পরিবর্তে কঠিন তারের ব্যবহার করে, যা বট