Pins komunikacyjny I2C w tablicach Arduino

Pins komunikacyjny I2C w tablicach Arduino
I2C, czyli obwód międzyintegrowany, to protokół komunikacyjny używany do łączenia urządzeń z dowolną płytą mikrokontrolera Arduino i wykorzystuje wspólną linię danych (SDA) i linię zegara (SCL) do komunikacji. Wbudowana biblioteka drutu w Arduino IDE umożliwia łatwą komunikację z urządzeniami I2C poprzez funkcje wysokiego poziomu i obsługuje wiele autobusów I2C.

Ten artykuł obejmuje:

  • Co to jest komunikacja I2C w Arduino
  • I2C szpilki w Arduino Uno
  • Piny I2C w Arduino Mega
  • Piny I2C w Arduino nano
  • Krótkie porównanie pinów Arduino I2C
  • Łączenie dwóch płyt Arduino za pomocą I2C jako mistrza i niewolnika
  • Wniosek

Co to jest komunikacja I2C w Arduino

Piny komunikacyjne I2C odnoszą się do konkretnych połączeń PIN na płycie Arduino, które są używane do komunikacji z urządzeniami I2C. Na większości płyt Arduino piny komunikacyjne I2C znajdują się odpowiednio na pinach A4 i A5 i są oznaczone odpowiednio SDA (dla danych) i SCL (dla zegara).

Niektóre główne atrakcje komunikacji I2C obejmują:

Możliwość wielu mistrzów i wielu niewolników: I2C obsługuje wiele urządzeń głównych i wielu urządzeń niewolników w jednym autobusie, umożliwiając jednocześnie komunikację między wieloma urządzeniami.

Niska liczba pinów: I2C używa tylko dwóch linii, SDA i SCL, do komunikacji, co zmniejsza liczbę wymaganych połączeń i upraszcza okablowanie.

Urządzenia adresowalne: Każde urządzenie I2C w autobusie ma unikalny adres, umożliwiający łatwą identyfikację i komunikację z określonymi urządzeniami.

Wysoka prędkość: Specyfikacja I2C obsługuje szybkości transferu danych do 3.4 Mbps, co czyni go odpowiednim do szybkich aplikacji do przesyłania danych.

Oszczędzanie energii: I2C pozwala na komunikację o niskiej mocy między urządzeniami, umożliwiając umieszczenie urządzeń w trybie niskiej mocy, gdy nie komunikuje się i budzą na żądanie.

I2C szpilki w Arduino Uno

W komunikacji I2C wykorzystywane są dwie linie:

  • Linia danych (SDA): Linia danych do wymiany danych między urządzeniami głównymi i niewolnikami.
  • Linia zegara (Scl): Linia zegara do synchronizacji komunikacji I2C między urządzeniami.

Urządzenie główne jest odpowiedzialne za kontrolowanie linii zegara i inicjowanie komunikacji, podczas gdy urządzenia niewolników są odpowiedzialne za odpowiedź na żądania Mistrza.

Piny I2C w Arduino Mega

Arduino Mega ma wiele pinów komunikacyjnych I2C. Te szpilki to:

  • SDA - A4 i 20
  • Scl - A5 i 21

Te piny mogą być używane do łączenia urządzeń I2C, takich jak czujniki lub inne mikrokontrolery.

Piny I2C w Arduino nano

Piny I2C na Arduino nano to A4 (SDA) i A5 (Scl), Piny te mogą być używane do komunikacji z urządzeniami I2C, takimi jak czujniki, wyświetlacze LCD i inne mikrokontrolery. Aby użyć tych pinów, musisz użyć biblioteki drutu, która jest wbudowana w Arduino IDE:

Należy zauważyć, że szpilki I2C w Arduino nano mogą być również używane jako standardowe cyfrowe piny we/wy, jeśli nie są używane do komunikacji I2C. Ważne jest jednak, aby upewnić się, że komunikacja I2C jest wyłączona lub zatrzymana przed użyciem tych pinów jako cyfrowych we/wy, ponieważ może to powodować konflikty i błędy.

Krótkie porównanie pinów Arduino I2C

Oto lista popularnych tablic Arduino i odpowiadających im pinów I2C:

Tablica Piny I2C
Arduino nano SDA-A4 | SCL-A5
Arduino Mega SDA-A4 | SCL-A5 i SDA-20 | SCL-21
Arduino Leonardo SDA-A4 | SCL-A5
Arduino Uno SDA-A4 | SCL-A5
Arduino Micro SDA-02 | SCL-03*
Arduino Leonardo SDA-02 | SCL-03
Arduino Micro SDA-02 | SCL-03
Arduino Pro Mini SDA-A4 | SCL-A5
Arduino należne SDA-20 | SCL-21
Arduino 101 SDA-20 | SCL-21

*Pinsy I2C mogą się różnić w zależności od wersji płyty, której używasz uprzejmie, aby zobaczyć odpowiedni arkusz danych, aby uzyskać więcej informacji.

Należy pamiętać, że niektóre płyty mogą mieć więcej niż jedną SDA, Scl piny, w takim przypadku możesz użyć dowolnego z nich zgodnie z wymaganiami i dostępnością. Dobrze jest również odwołać się do oficjalnej dokumentacji używanej przez tablicę, aby potwierdzić pinout I2C.

Łączenie dwóch płyt Arduino za pomocą I2C jako mistrza i niewolnika

Aby ustanowić komunikację I2C między dwoma tablicami Arduino, SDA I Scl Piny obu płyt muszą być połączone i dzielić wspólną płaszczyznę. Komunikację można osiągnąć za pomocą wbudowanej biblioteki drutu w Arduino, która zawiera funkcje konfigurowania i komunikacji w magistrali I2C.

Schematyczny

Poniżej obrazu pokazuje dwie połączone płyty Arduino UNO Mistrz-niewolnik konfiguracja:

Aby podłączyć Arduino UNO z Arduino Nano za pomocą protokołu niewolników Master I2C, postępuj zgodnie z poniższą konfiguracją:

Arduino Mega Connection z Arduino Uno za pomocą I2C:

Wniosek

Tablice Arduino można skonfigurować do komunikowania się ze sobą za pomocą I2C poprzez podłączenie pinów SDA i SCL i konfigurowanie płyt jako master i niewolnika za pomocą biblioteki drutu w Arduino. Pozwala to na wydajną i łatwą komunikację między wieloma urządzeniami w dowolnym projekcie opartym na Arduino.