題:
如何在Arduino上使用I2C設備?
Peter Bloomfield
2014-02-13 16:08:54 UTC
view on stackexchange narkive permalink

我有一些有用的I2C組件,例如我想在各種項目中使用的16位端口擴展器(MCP23017)。

要做這些,我需要做些什麼?使用Arduino嗎?它可以與任何Arduino一起使用,還是需要特定的板子或屏蔽板?

三 答案:
Butzke
2014-02-13 16:23:07 UTC
view on stackexchange narkive permalink

Arduino具有與I2C進行通信的 Wire庫

該庫允許您與I2C / TWI設備進行通信。在具有R3佈局(1.0引腳)的Arduino板上,SDA(數據線)和SCL(時鐘線)位於靠近AREF引腳的引腳接頭上。 Arduino Due有兩個I2C / TWI接口,SDA1和SCL1靠近AREF引腳,另外一個位於引腳20和21。作為參考,下表顯示了TWI引腳在各種Arduino板上的位置。

板載I2C / TWI引腳

  • Uno,以太網A4(SDA),A5(SCL)
  • Mega2560 20(SDA),21(SCL) )
  • Leonardo 2(SDA),3(SCL)
  • Due 20(SDA),21(SCL),SDA1,SCL1

您可以看一下這個示例。

就像@TheDoctor所說:

I2C數據線都需要3.3V的電阻。如果禁用它們,則可以防止它們漂移。安迪電阻值應該可以,但是建議使用10k歐姆至47k歐姆之間的電阻。

不要忘記I2C線上的上拉電阻
為了擴展這一點,i2c數據線都需要5v的電阻。如果禁用它們,則可以防止它們漂移。安迪電阻值應該可以,但建議使用10k歐姆至47k歐姆之間的電阻
應該說,如果您在Arduino Due上使用5V上拉電阻(在答案中被命名),那麼您的電路板已經損壞.Arduino Due使用3.3V邏輯並且不需要5V上拉電阻,因此SDA和SCL也已經被拉在董事會內部
Klaus-Dieter Warzecha
2014-02-13 16:14:07 UTC
view on stackexchange narkive permalink

不需要附加的屏蔽。

您只需要線庫和幾條線即可將設備連接到 SDA SCL

這些引腳在各種Arduino上的位置都不同,請在此處看看。

Gordon
2015-11-21 05:14:26 UTC
view on stackexchange narkive permalink

供將來的讀者使用:使用Adafruit_MCP23017庫。



該問答將自動從英語翻譯而來。原始內容可在stackexchange上找到,我們感謝它分發的cc by-sa 3.0許可。
Loading...