Arduino & IoT Academy · Lektion

Sådan kommunikerer I2C over to ledninger

SDA, SCL og enhedsadresser forklaret.

Lektion 1 af 413 trin

Sådan kommunikerer I2C over to ledninger er en gratis Arduino & IoT Academy-lektion på CoddyKit. Dette er lektion 1 af 4. Du kan læse hele lektionen gratis nedenfor — og derefter øve dig praktisk i browseren med en indbygget kodeeditor og en AI-vejleder, der er tilgængelig døgnet rundt. Den er en del af læringsforløbet i Arduino & IoT Academy, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Arduino & IoT Academy-kurset indeholder 4 lektioner i alt.

To ledninger, mange enheder

I2C lader mange chips dele blot to ledninger, så du kan tilføje sensorer og skærme uden at løbe tør for pins. 🔌

Mød SDA og SCL

I2C bruger to linjer: SDA transporterer data, og SCL transporterer clockpulserne, som holder begge sider perfekt synkroniserede.

Clocken holder tiden

SCL-clocklinjen tikker som en metronom. Hvert tik fortæller enhederne præcis, hvornår de skal læse den næste bit på datalinjen.

Master og slaver

Din Arduino er masteren: den starter hver samtale. Sensorer og skærme er slaver, som kun svarer, når de bliver kaldt.

Alle enheder har en adresse

Hver chip på bussen har en unik adresse, normalt et 7-bit-tal. Masteren bruger den til at kommunikere med præcis én enhed. 📬

Sådan begynder en besked

Masteren sender et start-signal og derefter målens adresse. Den matchende enhed svarer, mens resten forbliver tavse på de delte linjer.

Pull-up-modstande er nødvendige

I2C-linjer kræver pull-up-modstande til 3,3 V eller 5 V. Uden dem flyder bussen, og dine enheder vil ganske enkelt ikke svare.

Kortets forbindelser på Uno

På en Arduino Uno er SDA pin A4, og SCL er pin A5. Mange breakout-kort har allerede deres egne pull-up-modstande.

Wire-biblioteket

Arduino kommunikerer via I2C gennem det indbyggede Wire-bibliotek. Én include-linje giver dig alt, hvad du behøver for at komme i gang med kommunikationen.

#include <Wire.h>

Start bussen

Kald Wire.begin() i setup for at tilslutte dig bussen som master. Derefter kan du sende til enhver enhed via dens adresse.

void setup() {
  Wire.begin();
}

Hvorfor I2C vinder

Fordi enhederne deler to linjer, holder I2C ledningsføringen enkel og dine pins fri. Derfor bruger så mange moduler det.

Hurtigt tjek

Hvilke to linjer bruger I2C til at kommunikere?

Opsummering

Du har lært, at I2C deler to ledninger, SDA og SCL, med en master, adresserede slaver og pull-up-modstande. To ledninger, mange enheder. ✅

Gratis at komme i gang

Lær C++ med en AI-underviser — gratis

Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.

Kurser
30
Lektioner
120

Ofte stillede spørgsmål

Er lektionen “Sådan kommunikerer I2C over to ledninger” gratis?

Ja — hele teksten til “Sådan kommunikerer I2C over to ledninger” kan læses gratis her på nettet. Hvis du vil øve dig interaktivt med en indbygget kodeeditor og en AI-vejleder døgnet rundt og få adgang til resten af Arduino & IoT Academy-kurset, skal du opgradere til CoddyKit PRO. Arduino & IoT Academy-kurset indeholder 4 lektioner i alt.

Hvad lærer jeg i “Sådan kommunikerer I2C over to ledninger”?

SDA, SCL og enhedsadresser forklaret. Du øver dig i Arduino & IoT Academy med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.

Skal jeg have erfaring for at begynde på Arduino & IoT Academy?

Der kræves ingen tidligere erfaring. Arduino & IoT Academy på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 1 af 4.

Hvor lang tid tager lektionen “Sådan kommunikerer I2C over to ledninger”?

De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.

Kan jeg skrive og køre kode i denne Arduino & IoT Academy-lektion?

Ja. Alle Arduino & IoT Academy-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.

Alle lektioner i dette kursus

  1. Sådan kommunikerer I2C over to ledninger
  2. Scan efter I2C-adresser
  3. Sådan flytter SPI data hurtigt
  4. Kør flere enheder på én bus
← Tilbage til Arduino & IoT Academy