Làm cách nào để sử dụng thiết bị I2C với Arduino?


12

Tôi có một vài thành phần I2C hữu ích, chẳng hạn như bộ mở rộng cổng 16 bit (MCP23017), mà tôi muốn sử dụng trong các dự án khác nhau.

Tôi cần làm gì để những thứ này hoạt động với Arduino? Nó sẽ hoạt động với bất kỳ Arduino nào, hoặc tôi cần một bảng hoặc lá chắn cụ thể?

Câu trả lời:


9

Arduino có Thư viện dây giao tiếp với I2C.

Thư viện này cho phép bạn giao tiếp với các thiết bị I2C / TWI. Trên các bo mạch Arduino có bố trí R3 (chân cắm 1.0), SDA (đường dữ liệu) và SCL (đường xung nhịp) nằm trên các tiêu đề chân gần với chân ISF. Arduino Do có hai giao diện I2C / TWI SDA1 và SCL1 gần với chân ISF và một giao diện bổ sung nằm trên các chân 20 và 21. Như một tham chiếu bảng dưới đây cho thấy các chân TWI được đặt trên các bo mạch Arduino khác nhau.

Bảng I2C / TWI

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

Bạn có thể xem qua, ví dụ này .

Giống như @TheDoctor đã nói:

Cả hai dòng dữ liệu I2C đều cần điện trở đến 3,3V. Điều này giữ cho chúng khỏi trôi nếu chúng bị vô hiệu hóa. Giá trị điện trở Andy sẽ hoạt động, nhưng nên sử dụng một trong khoảng từ 10k ohm đến 47k ohm.


1
Đừng quên điện trở pullup trên các đường I2C
TheDoctor

1
Để mở rộng trên đó, cả hai dòng dữ liệu i2c đều cần điện trở đến 5v. Điều này giữ cho chúng khỏi trôi nếu chúng bị vô hiệu hóa. Giá trị điện trở Andy sẽ hoạt động, nhưng nên sử dụng một trong khoảng từ 10k ohm đến 47k ohm
TheDoctor

Cần phải nói rằng nếu bạn sử dụng pullups 5V trên Arduino do (được đặt tên trong câu trả lời) thì bạn đã làm hỏng bo mạch. Arduino Do sử dụng logic 3,3V và nó không cần pullups 5V, SDA và SCL cũng đã được bảng nội bộ kéo lên.
Giăng

3

Khiên bổ sung là không cần thiết.

Bạn chỉ cần thư viện Dây và một vài dây để kết nối thiết bị với SDASCL .

Vị trí của các chân này là khác nhau trên các Arduinos khác nhau, xin vui lòng xem tại đây .


2

Đối với độc giả trong tương lai: sử dụng thư viện Adaf nhung_MCP23017.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.