پی سی ایف 8574: اردوینو کے بارے میں I2C I / O توسیع کنندہ

پی سی ایف 8574 ٹی آئی چپ

آپ نے یقینا the سنا ہے آئی سی PCF8574، ایک چپ جو الگ سے خریدی جاسکتی ہے یا بہت سے دوسرے جیسے ماڈیول پر پہلے سے نصب کی جاسکتی ہے برقی پرزہ جات تاکہ آپ کے آرڈینو بورڈ کے ساتھ اپنے آپ کو ملانے میں آسانی ہو۔ اس معاملے میں ، یہ آؤٹ پٹس اور آؤٹ پٹ کو بڑھانے والا ہے I2C بس.

آپ یہ سوچ سکتے ہیں کہ ارڈینو کا پہلے سے ہی اپنا ایک وجود ہے انٹیگریٹڈ I2C بس، اور یہ سچ ہے۔ لیکن پی سی ایف 8574 اس بس کو آپ کے ڈویلپمنٹ بورڈ کی حدود سے آگے بڑھانے میں مدد کرسکتا ہے ، جو کچھ سازوں کے لئے بہت مددگار ثابت ہوسکتا ہے جن کو اردوینو مہیا کرتی ہے اس سے کہیں زیادہ کی ضرورت ہے۔

I2C بس کیا ہے؟

Arduino UNO ملی افعال

I2C نام آیا ہے انٹر انٹیگریٹڈ سرکٹ یا بین مربوط سرکٹس۔ اس کا ورژن 1.0 فلپس نے 1992 میں تشکیل دیا تھا۔ پھر دوسرا 2.1 2000 میں آئے گا اور آج یہ ایک معیار بن گیا ہے (100 کیبٹ فی سیکنڈ پر ، اگرچہ یہ پیٹنٹ کی میعاد 3.4 میں ختم ہوجاتا ہے اور اسے آزادانہ طور پر استعمال کیا جاسکتا ہے ، اگرچہ یہ 2006 Mbit / s تک زیادہ سے زیادہ تک کی اجازت دیتا ہے)۔

اس وقت یہ صنعت میں بڑے پیمانے پر استعمال ہوتا ہے مواصلات کے لئے، اور ایک آئی سی میں شامل مختلف مائیکروکنٹرولروں اور پیری فیرلز کو بات چیت کرنے کے لئے اپنے پروجیکٹس کے لئے کار سازوں کی طرف سے بھی ان کی بہت تعریف کی گئی۔

El I2C ایک بس ہے مشہور سیریل مواصلات اس میں صرف 2 چینلز کے ساتھ ہم وقت ساز مواصلات کا پروٹوکول استعمال کیا جاتا ہے (ایک تیسرا ہے ، لیکن اس کا حوالہ یا جی این ڈی بھی ملتا ہے) ، حقیقت میں اسے ٹی ڈبلیو آئی (دو وائر انٹرفیس) بھی کہا جاتا ہے:

  • گھڑی کے لئے ایک (ایس سی ایل)۔
  • ڈیٹا (ایس ڈی اے) کے ل Other دیگر۔
دونوں اوپن ڈرین سی ایم او ایس کنیکشن ہیں اور انہیں پل اپ ریزسٹرس کی ضرورت ہوتی ہے۔ نیز ، اگر ایک آلہ 0 اور دوسرا 1 1 ٹرانسمیٹ کرتا ہے تو ، وہاں پریشانی ہوسکتی ہے ، یہی وجہ ہے کہ لائن ہمیشہ 0 (اعلی سطح) پر رکھی جاتی ہے اور آلات ہمیشہ XNUMX (کم سطح) کو منتقل کرتے ہیں۔

اس کا مطلب یہ ہے کہ آقا اور غلام وہ ایک ہی کیبل یا ٹریک پر ڈیٹا بھیجتے ہیں ، جس میں سب سے پہلے کے ذریعہ کنٹرول کیا جاتا ہے جس میں گھڑی کا اشارہ تیار کیا جاتا ہے۔ ٹرانسمیشن کی ہدایت کے ل the ، I2C بس سے منسلک ہر ایک پردیی آلات کے پاس ایک انوکھا پتہ تفویض ہوگا۔ لیکن یہ ضروری نہیں ہے کہ آقا ہمیشہ ایک جیسے (ملٹی ماسٹر) ہوتا ہے ، یہ ہمیشہ وہی ہوتا ہے جو منتقلی کا آغاز کرتا ہے۔

جیسا کہ میں پہلے ہی مضمون میں وضاحت کرچکا ہوں ارڈینو I2C میں نے پہلے حوالہ دیا ، ہر بورڈ کے پاس یہ I2C کنکشن مختلف جگہوں پر ہیں۔ یہ ایسی چیز ہے جس کے بارے میں آپ کو ذہن میں رکھنا ہوگا کہ ہر پلیٹ ورژن میں اس کا صحیح استعمال کریں۔

  • Arduino UNO: ایس ڈی اے اے 4 میں ہے اور ایس 5 اے میں ہے
  • اردوینو نینو: پچھلے کی طرح
  • ارڈینو مینی پرو: اسی.
  • اردوینو میگا: ایس ڈی اے پن 20 اور ایس سی کے 21 پر ہے۔
  • پلیٹوں کے بارے میں مزید معلومات۔

آپ پہلے ہی جان چکے ہیں کہ آپ I2C کو آسانی سے اپنے خاکوں کے لئے استعمال کرسکتے ہیں ، چونکہ آپ Wire.h لائبریری اس سیریل مواصلات کے لئے مختلف کاموں کے ساتھ:

  • شروع (): وائر لائبریری شروع کریں اور بتائیں کہ آیا یہ ماسٹر ہے یا غلام
  • درخواست سے (): غلام سے ڈیٹا کی درخواست کرنے کے لئے ماسٹر کے ذریعہ استعمال کیا جاتا ہے۔
  • شروع منتقلی (): غلام کے ساتھ ٹرانسمیشن شروع.
  • اختتامی ترسیل (): اختتام ٹرانسمیشن.
  • لکھیں ()- آقا کی درخواست کے جواب میں غلام سے ڈیٹا لکھیں یا آپ کسی ماسٹر کی ترسیل کی قطار بناسکتے ہیں
  • دستیاب (): پڑھنے کیلئے بائٹس کی تعداد واپس کردے گا۔
  • پڑھیں (): غلام سے ماسٹر میں منتقل کردہ بائٹ پڑھیں یا اس کے برعکس۔
  • آنرسیپ (): جب کوئی غلام کسی آقا سے ٹرانسمیشن وصول کرتا ہے تو ایک فنکشن کال کرتا ہے۔
  • درخواست پر (): جب کوئی غلام کسی ماسٹر سے ڈیٹا کی درخواست کرتا ہے تو فنکشن کہتے ہیں۔

کرنے مزید معلومات اردوینو پروگرامنگ اور افعال کے بارے میں جو آپ ہمارے ڈاؤن لوڈ کرسکتے ہیں پی ڈی ایف ٹیوٹوریل.

پی سی ایف 8574 کیا ہے؟

PCF8574 ماڈیول

پی سی ایف 8574 ایک ہے I2C بس ڈیجیٹل آدانوں اور آؤٹ پٹ (I / O) پھیلانے والا. یہ مختلف مینوفیکچررز تیار کرسکتے ہیں ، اس کے علاوہ یہ آئی سی اور ماڈیولز میں بھی دستیاب ہے۔ کسی بھی صورت میں ، اسے اپنے آردوینو بورڈ سے جوڑنا بہت عملی ہے اور مدر بورڈ کی اجازت سے زیادہ ڈیوائسز کو کنٹرول کرنے کی صلاحیت رکھتا ہے۔

El پی سی ایف 8574 پن آؤٹ یہ آسان ہے ، کیونکہ اس میں صرف شامل ہے 8 پائن اعداد وشماتی (P0-P7 جہاں مواصلت کرنے کے لئے چپس منسلک ہیں) ، اور دوسری طرف آپ کے پاس ایس ڈی اے اور ایس سی ایل ہے کہ آپ ماڈیول کو طاقت بخشنے کے ل you آپ کو ارڈینو بورڈ کے ساتھ ہی وی سی سی اور جی این ڈی سے رابطہ قائم کریں۔ اور ایڈریسنگ کے تین پنوں A0، A1، A2 کو نہ بھولیں کہ اس بات کا انتخاب کریں کہ مواصلات کی ہدایت کے لئے کون سے آلات ...

پی سی ایف 8574 پن آؤٹ

اپنی ہے۔ دیگر خصوصیات کہ آپ کو معلوم ہونا چاہئے:

  • اس کے رابطے ، کھلی نالی ہونے کی وجہ سے ہوسکتے ہیں آدانوں اور آؤٹ پٹ دونوں کے طور پر استعمال کیا جاتا ہے.
  • La موجودہ چوٹی یہ 25mA ہے جب یہ آؤٹ پٹ (سنک ، جب پی سی ایف 8574 کی طرف موجودہ بہتی ہے) اور 300 µA (ماخذ ، پی سی ایف 8574 سے موجودہ بہاؤ) کے طور پر کام کرتا ہے۔
  • La کشیدگی بجلی کی فراہمی 2.5 اور 6v ہے۔ کھڑے ہونے سے کھپت بہت کم ہے ، صرف 10 .A۔
  • تمام نتائج لیچز ہیں، بیرونی اقدامات کی ضرورت کے بغیر ریاست کو برقرار رکھنے کے لئے۔ آپ کو صرف اس وقت کام کرنا ہوگا جب آپ ریاست کو تبدیل کرنا چاہتے ہو۔
  • آپ 8 حاصل کر سکتے ہیں ممکنہ سمتیں ، یعنی اس میں 8 ڈیوائسز تک وسعت دینے کے لئے 8 آلات تک بات چیت کرنے یا 64 ماڈیولز استعمال کرنے کے لئے۔ پتے (پن A0، A1، A2) ہوں گے:
    • 000: ایڈریس 0x20
    • 001: ایڈریس 0x21
    • 010: ایڈریس 0x22
    • 011: ایڈریس 0x23
    • 100: ایڈریس 0x24
    • 101: ایڈریس 0x25
    • 110: ایڈریس 0x26
    • 111: ایڈریس 0x27
  • داخل کرتا ہے رکاوٹ (INT) بغیر کسی نگرانی کے اعداد و شمار کا پتہ لگانے کے لئے ایک خصوصی لائن کے ذریعہ۔

اردوینو کے ساتھ اتحاد

آرڈینوو IDE کا اسکرین شاٹ

آرڈینوو کے ساتھ رابطہ بہت آسان ہے ، آپ کو VCD کو Ardino بورڈ کے 5v پن سے ، اور GND Ardino کے GND کے ساتھ جوڑنا ہے۔ دوسری طرف ، پی سی ایف 8574 ایس ڈی اے اور ایس سی ایل ماڈیول کی پن ہوسکتی ہے پنوں سے جڑیں 14 (اے 5 ایس سی ایل) اور 15 (اے 4 ایس ڈی اے)۔ صرف اس کے ساتھ ہی یہ کام کرنا شروع کردے گا ، ظاہر ہے کہ آپ Px کو ان آلات کو مربوط کرنے کے لئے استعمال کرسکتے ہیں جن سے آپ گفتگو کرنا چاہتے ہیں ...

تب یہ صرف غائب ہوگا ایک مثال خاکہ کے ساتھ شروع کریں اردوینو IDE میں۔ آپ اضافی لائبریری کا استعمال کیے بغیر بھی کرسکتے ہیں جیسے ...

#include <Wire.h>
 
const int address = 0x38;
 
void setup()
{
   Wire.begin();
   Serial.begin(9600);
}
 
void loop()
{
   for (short channel = 0; channel < 8; channel++)
   {
      // Escribir dato en cada uno de los 8 canales
      Wire.beginTransmission(address);
      Wire.write(~(1 << channel));
      Wire.endTransmission();
      
      // Lee dato del canal
      delay(500);
   }
}

بطور ان پٹ:

#include <Wire.h>
 
const int address = 0x38;
 
void setup()
{
   Wire.begin();
   Serial.begin(9600);
}
 
void loop()
{
   short channel = 1;
   byte value = 0;
 
   // Leer el dato del canal
   Wire.requestFrom(pcfAddress, 1 << channel);
   if (Wire.available())
   {
      value = Wire.read();
   }
   Wire.endTransmission();
 
   // Mostrar el valor leido por el monitor serie
   Serial.println(value);
}

یا یہ بھی لائبریریاں استعمال کریںجیسے پی سی ایف 8574 یہاں ڈاؤن لوڈ کریں اور خود اس لائبریری کے ساتھ آنے والے مثال سے ہی اس جیسے کوڈ کا استعمال کریں:

#include <Wire.h>
#include "PCF8574.h"
 
PCF8574 expander;
 
void setup() 
{
  Serial.begin(9600);
  
  expander.begin(0x20);
  
  /* Setup some PCF8574 pins for demo */
  expander.pinMode(0, OUTPUT);
  expander.pinMode(1, OUTPUT);
  expander.pinMode(2, OUTPUT);
  expander.pinMode(3, INPUT_PULLUP);
 
  /* Blink hardware LED for debug */
  digitalWrite(13, HIGH);  
  
  /* Toggle PCF8574 output 0 for demo */
  expander.toggle();
  
  /* Blink hardware LED for debug */
  digitalWrite(13, LOW);
}
 
 
 
void loop() 
{
}


مضمون کا مواد ہمارے اصولوں پر کاربند ہے ادارتی اخلاقیات. غلطی کی اطلاع دینے کے لئے کلک کریں یہاں.

تبصرہ کرنے والا پہلا ہونا

اپنی رائے دیں

آپ کا ای میل ایڈریس شائع نہیں کیا جائے گا. ضرورت ہے شعبوں نشان لگا دیا گیا رہے ہیں کے ساتھ *

*

*

  1. اعداد و شمار کے لئے ذمہ دار: میگل اینگل گاتین
  2. ڈیٹا کا مقصد: اسپیم کنٹرول ، تبصرے کا انتظام۔
  3. قانون سازی: آپ کی رضامندی
  4. ڈیٹا کا مواصلت: اعداد و شمار کو تیسری پارٹی کو نہیں بتایا جائے گا سوائے قانونی ذمہ داری کے۔
  5. ڈیٹا اسٹوریج: اوکیسٹس نیٹ ورکس (EU) کے میزبان ڈیٹا بیس
  6. حقوق: کسی بھی وقت آپ اپنی معلومات کو محدود ، بازیافت اور حذف کرسکتے ہیں۔