I2C kommunikasjonspinner i Arduino -brett

I2C kommunikasjonspinner i Arduino -brett
I2C, eller inter-integrert krets, er en kommunikasjonsprotokoll som brukes til å koble enheter til et hvilket. Det innebygde trådbiblioteket i Arduino IDE gir enkel kommunikasjon med I2C-enheter gjennom funksjoner på høyt nivå og støtter flere I2C-busser.

Denne artikkelen dekker:

  • Hva er I2C -kommunikasjon i Arduino
  • I2C -pinner i Arduino Uno
  • I2C -pinner i Arduino Mega
  • I2C -pinner i Arduino nano
  • Kort sammenligning av Arduino I2C -pinner
  • Koble til to Arduino -brett ved hjelp av I2C som mester og slave
  • Konklusjon

Hva er I2C -kommunikasjon i Arduino

I2C kommunikasjonspinner refererer til de spesifikke PIN -tilkoblingene på et Arduino -brett som brukes til å kommunisere med I2C -enheter. På de fleste Arduino -brett er I2C -kommunikasjonspinnene plassert på A4- og A5 -pinnene, og er merket SDA (for data) og SCL (for klokke).

Noen hovedhøydepunkter ved I2C -kommunikasjon inkluderer:

Multi-master og multi-slave-evne: I2C støtter flere masterenheter og flere slaveenheter på en enkelt buss, noe som gir mulighet for kommunikasjon mellom flere enheter samtidig.

Lav teller: I2C bruker bare to linjer, SDA og SCL, for kommunikasjon, noe som reduserer antall nødvendige tilkoblinger og forenkler ledning.

Adresserbare enheter: Hver I2C -enhet på bussen har en unik adresse, noe som gir enkel identifikasjon og kommunikasjon med spesifikke enheter.

Høy hastighet: I2C -spesifikasjonen støtter dataoverføringshastigheter på opptil 3.4 Mbps, noe som gjør det egnet for høyhastighetsdataoverføringsapplikasjoner.

Strømsparing: I2C gjør det mulig.

I2C -pinner i Arduino Uno

I I2C -kommunikasjon brukes to linjer:

  • Datalinje (SDA): Datalinje for utveksling av data mellom master- og slaveenheter.
  • Klokkelinje (SCL): Klokkelinje for synkronisering av I2C -kommunikasjonen mellom enheter.

Hovedenheten er ansvarlig for å kontrollere klokkelinjen og sette i gang kommunikasjonen, mens slaveenhetene er ansvarlige for å svare på mesterens forespørsler.

I2C -pinner i Arduino Mega

Arduino Mega har flere I2C -kommunikasjonspinner. Disse pinnene er:

  • SDA - A4 & 20
  • SCL - A5 & 21

Disse pinnene kan brukes til å koble I2C -enheter, for eksempel sensorer eller andre mikrokontrollere.

I2C -pinner i Arduino nano

I2C -pinnene på Arduino nano er A4 (SDA) og A5 (SCL), kan disse pinnene brukes til å kommunisere med I2C -enheter som sensorer, LCD -skjermer og andre mikrokontrollere. For å bruke disse pinnene, må du bruke trådbiblioteket, som er innebygd i Arduino IDE:

Det er viktig å merke seg at I2C -pinnene på Arduino Nano også kan brukes som standard digital I/O -pins hvis de ikke brukes til I2C -kommunikasjon. Det er imidlertid viktig å sørge for at I2C -kommunikasjonen er deaktivert eller stoppet før du bruker disse pinnene som digital I/O, da det kan forårsake konflikter og feil.

Kort sammenligning av Arduino I2C -pinner

Her er en liste over noen populære Arduino -tavler og deres tilsvarende I2C -pinner:

Borde I2C -pinner
Arduino Nano SDA-A4 | SCL-A5
Arduino Mega SDA-A4 | SCL-A5 og 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 forfaller SDA-20 | SCL-21
Arduino 101 SDA-20 | SCL-21

*I2C -pinner kan variere avhengig av hvilken tavleversjon du bruker vennlig, se respektive datablad for mer informasjon.

Vær oppmerksom på at noen av styrene kan ha mer enn ett SDA, SCL Pins, i slike tilfeller kan du bruke noen av dem i henhold til ditt krav og tilgjengelighet. Det er også bra å referere til den offisielle dokumentasjonen av styret du bruker, for å bekrefte I2C -pinout.

Koble til to Arduino -brett ved hjelp av I2C som mester og slave

For å etablere I2C -kommunikasjon mellom to Arduino -tavler, SDA og SCL Pins av begge brettene må være koblet sammen og dele en felles grunn. Kommunikasjonen kan oppnås ved å bruke det innebygde trådbiblioteket i Arduino som inneholder funksjoner for konfigurering og kommunikasjon på I2C -bussen.

Skjematisk

Under bildet viser to Arduino Uno -tavler koblet inn Master-Slave Konfigurasjon:

For å koble Arduino Uno med Arduino Nano ved hjelp av I2C Master Slave Protocol, følg nedenfor konfigurasjonen:

Arduino Mega -forbindelse med Arduino Uno ved bruk av I2C:

Konklusjon

Arduino -tavler kan konfigureres til å kommunisere med hverandre ved hjelp av I2C ved å koble til SDA- og SCL -pinnene og konfigurere tavlene som master og slave ved hjelp av Wire Library i Arduino. Dette gir mulighet for effektiv og enkel kommunikasjon mellom flere enheter i ethvert Arduino -basert prosjekt.