Arduino ile I2C cihazlarını nasıl kullanabilirim?


12

Çeşitli projelerde kullanmak istediğim 16 bit bağlantı noktası genişletici (MCP23017) gibi birkaç kullanışlı I2C bileşenim var.

Bunların Arduino ile çalışması için ne yapmam gerekiyor? Herhangi bir Arduino ile çalışacak mı, yoksa belirli bir tahtaya veya kalkana ihtiyacım var mı?

Yanıtlar:


9

Arduino'nun I2C ile iletişim kuran Tel Kütüphanesi var.

Bu kütüphane I2C / TWI cihazlarıyla iletişim kurmanızı sağlar. R3 yerleşimli Arduino kartlarında (1.0 pinout), SDA (veri hattı) ve SCL (saat hattı) AREF pimine yakın pim başlıklarında bulunur. Arduino Due, iki I2C / TWI arayüzüne sahiptir SDA1 ve SCL1, AREF pinine yakındır ve ek olan, pin 20 ve 21'dir. Referans olarak aşağıdaki tablo, TWI pinlerinin çeşitli Arduino kartlarında nerede bulunduğunu gösterir.

Board I2C / TWI pimleri

  • Uno, Ethernet A4 (SDA), A5 (SCL)
  • Mega2560 20 (SDA), 21 (SCL)
  • Leonardo 2 (SDA), 3 (SCL)
  • Vadesi 20 (SDA), 21 (SCL), SDA1, SCL1

Bu örneklere bir göz atabilirsiniz .

@TheDoctor'un dediği gibi:

I2C veri hatlarının her ikisi de 3.3V'a kadar dirençlere ihtiyaç duyar. Bu, devre dışı bırakıldıklarında sürüklenmelerini önler. Andy direnç değeri çalışmalıdır, ancak 10k ohm ile 47k ohm arasında bir tane kullanılması önerilir.


1
I2C hatlarındaki çekme dirençlerini unutmayın
TheDoctor

1
Bunu genişletmek için, i2c veri hatlarının her ikisinin de 5v'ye direnç göstermesi gerekir. Bu, devre dışı bırakıldıklarında sürüklenmelerini önler. Andy direnç değeri çalışmalıdır, ancak 10k ohm ile 47k ohm arasında bir tane kullanılması önerilir
TheDoctor

Arduino'da 5V pullups kullanmanız gerektiğinde (cevapta adlandırılmıştır) tahtaya zarar verdiğiniz söylenmelidir. Arduino Due 3.3V mantık kullanır ve 5V pullup'lara ihtiyaç duymaz, ayrıca SDA ve SCL zaten dahili olarak kart tarafından çekilir.
John

3

Ek kalkanlara gerek yoktur.

Cihazı SDA ve SCL'ye bağlamak için sadece Tel kütüphanesine ve birkaç kabloya ihtiyacınız vardır .

Bu pinlerin konumu çeşitli Arduino'larda farklıdır, lütfen buraya bir göz atın .


2

Gelecekteki okuyucular için: Adafruit_MCP23017 kütüphanesini kullanın.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.