সুচিপত্র:

PCF8591 (i2c Analog I/O Expander) দ্রুত সহজ ব্যবহার: 9 টি ধাপ
PCF8591 (i2c Analog I/O Expander) দ্রুত সহজ ব্যবহার: 9 টি ধাপ

ভিডিও: PCF8591 (i2c Analog I/O Expander) দ্রুত সহজ ব্যবহার: 9 টি ধাপ

ভিডিও: PCF8591 (i2c Analog I/O Expander) দ্রুত সহজ ব্যবহার: 9 টি ধাপ
ভিডিও: Arduino analog port expander - pcf8591 with I2C protocol 2024, নভেম্বর
Anonim
PCF8591 (i2c Analog I/O Expander) দ্রুত সহজ ব্যবহার
PCF8591 (i2c Analog I/O Expander) দ্রুত সহজ ব্যবহার

Arduino এবং esp8266 সহ i2c pcf8591 IC ব্যবহার করার জন্য লাইব্রেরি।

এই আইসি নিয়ন্ত্রণ করতে পারে (4 পর্যন্ত) এনালগ ইনপুট এবং/অথবা 1 এনালগ আউটপুট যেমন পরিমাপ ভোল্টেজ, থার্মিস্টার মান পড়ুন বা একটি নেতৃত্বকে ফেইড করুন।

এনালগ মান পড়তে পারে এবং মাত্র 2 টি তারের সাথে এনালগ মান লিখতে পারে (ESP-01 এর জন্য নিখুঁত)।

আমি এই আইসি এর ব্যবহার সহজ করার চেষ্টা করি, অপারেশনের ন্যূনতম সেট সহ।

আপনি আমার সাইটে

ধাপ 1: কিভাবে I2c কাজ করে

কিভাবে I2c কাজ করে
কিভাবে 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 প্রদর্শন

প্রস্তাবিত: