Spring til hovedindhold (tryk på Enter)

Multiplexer Moduler

Multiplexer-moduler udvider antallet af I/O-porte på en mikrocontroller — eller løser adresse-konflikter mellem flere ens I²C-sensorer på samme bus. Med en multiplexer kan du tilkoble mange ens sensorer uden at de bekæmper hinanden om samme I²C-adresse, eller udvide antallet af GPIO-ben fra 4-8 til 24-128 ekstra ben. Udvalget rummer I²C multiplexers (8 porte), I²C hubs til at fordele én bus til flere stik, og digitale IO-expanders med 16-24 ekstra GPIO-ben. Find modulet til store sensor-arrays, robotik eller IO-kritiske projekter.

  • I2C HUB, Connects 8 Devices, 27x37mm, 17g
    Mængderabat

    DFRobot

    I2C HUB, Connects 8 Devices, 27x37mm, 17g

    17,50
    DKK

    This item is only sold in badges of .

    eller

    Du skal vælge en variant.
    Minimumsmængde nået.
    Maksimal mængde nået
    Du er ved at bestille mere end vi har på lager. Resterende antal bliver bestilt fra vores leverandør. Lager beholdning = .
  • I2C 24 Digital IO Expansion Module CH423, 8 GPIOs, 16 GPOs, 15mA Drive
    Mængderabat

    DFRobot

    I2C 24 Digital IO Expansion Module CH423, 8 GPIOs, 16 GPOs, 15mA Drive

    60,00
    DKK

    This item is only sold in badges of .

    eller

    Du skal vælge en variant.
    Minimumsmængde nået.
    Maksimal mængde nået
    Du er ved at bestille mere end vi har på lager. Resterende antal bliver bestilt fra vores leverandør. Lager beholdning = .
  • I2C Multiplexer, Digital 1-to-8, 3.3~5V, 8 Ports, Plug & Play
    Mængderabat

    DFRobot

    I2C Multiplexer, Digital 1-to-8, 3.3~5V, 8 Ports, Plug & Play

    83,00
    DKK

    This item is only sold in badges of .

    eller

    Du skal vælge en variant.
    Minimumsmængde nået.
    Maksimal mængde nået
    Du er ved at bestille mere end vi har på lager. Resterende antal bliver bestilt fra vores leverandør. Lager beholdning = .
  • I2C 16 Digital IO Expansion Module MCP23017, 3.3V-5V, 128 IOs
    Mængderabat

    DFRobot

    I2C 16 Digital IO Expansion Module MCP23017, 3.3V-5V, 128 IOs

    72,00
    DKK

    This item is only sold in badges of .

    eller

    Du skal vælge en variant.
    Minimumsmængde nået.
    Maksimal mængde nået
    Du er ved at bestille mere end vi har på lager. Resterende antal bliver bestilt fra vores leverandør. Lager beholdning = .

To problemer — én løsning

Multiplexer-moduler bruges til at løse to forskellige problemer:

  • Adresse-konflikter på I²C-bus: hvis du har to identiske sensorer (fx to MPU6050 accelerometre eller fire BME280 vejr-sensorer), har de typisk samme I²C-adresse og kan ikke fungere på samme bus. En I²C-multiplexer giver dig 8 separate "kanaler" du kan tænde og slukke for én ad gangen.
  • For få GPIO-ben: en Arduino UNO har 14 digitale + 6 analoge ben. Med en IO-expander kan du udvide til 16, 24 eller 128 ekstra GPIO-ben — uden at opgradere til en Mega eller ESP32.

Modeller i udvalget

I²C multiplexer (kanal-skiftning)

  • I²C Multiplexer 1-til-8 (DFR0576) — 8 separate I²C-kanaler. Tilkobl op til 8 sensorer med samme adresse, og brug software til at vælge hvilken der er aktiv. Justerbar I²C-adresse 0x70-0x77 — kan kaskaderes med op til 8 multiplexers for i alt 64 enheder med samme adresse. Plug-and-play med Gravity-stik.

I²C hub (passiv splitter)

  • I²C HUB (DFR0759) — kompakt passiv splitter der fordeler én I²C-bus til 8 stik. Bruger ikke selv en I²C-adresse. Til når du har forskellige I²C-sensorer (med forskellige adresser) der bare skal tilkobles samme bus uden ledningsrod.

IO-expandere (flere GPIO)

  • I²C IO Expansion 16 GPIO MCP23017 (DFR0626) — udvider med 16 fuldt konfigurerbare GPIO-ben (kan være input, output eller input med pull-up). 8 mulige I²C-adresser betyder du kan tilkoble 8 moduler = 128 ekstra GPIO. Med interrupt-pins til hver halvdel (8+8). 3,3 V og 5 V kompatibel.
  • I²C IO Expansion 24 GPIO CH423 (DFR0979) — 24 ekstra ben (8 GPIO med interrupt + 16 GPO). Kan drive 15 mA pr. ben — direkte LED-drift uden ekstra transistorer. Til LED-cubes, dot-matrix-skærme og lyseffekter.

Hvilket modul skal jeg vælge?

  • Flere ens I²C-sensorer (samme adresse): I²C Multiplexer 1-til-8 (DFR0576).
  • Forskellige I²C-sensorer der skal samles på én bus: I²C HUB (DFR0759). Billigere og passivt.
  • Flere GPIO-ben til knapper, switches, LED'er: MCP23017 IO Expansion (DFR0626).
  • LED-arrays, dot-matrix eller lyse-effekter: CH423 IO Expansion (DFR0979). Har indbygget driver så LED'er kan drives direkte.
  • Få ens I²C-sensorer + forskellige sensorer på samme bus: Kombinér multiplexer + hub.

Forskel på multiplexer vs hub

I²C MultiplexerI²C Hub
FunktionSkifter mellem kanalerFordeler én bus til flere stik
Bruger I²C-adresseJa (0x70-0x77)Nej (passiv)
Kræver softwareJa — vælg kanal før læsningNej
Til ens I²C-adresserJaNej
Til forskellige adresserOgså (men overkill)Ja
PrisHøjereLav

Forskel på multiplexer vs IO-expander

  • Multiplexer: skifter mellem allerede eksisterende I²C-enheder (sensorer du har).
  • IO-expander: giver dig nye GPIO-ben til at tilkoble knapper, LED'er, switches og andre digitale komponenter direkte.

Begge moduler bruger I²C-bus til at tale med mikrocontrolleren — og begge giver dig adgang til mere "noget" via samme I²C.

Sådan bruger du I²C Multiplexer

  1. Tilkobl multiplexer (DFR0576) til Arduino's I²C-bus (SDA, SCL, VCC, GND).
  2. Tilkobl op til 8 sensorer til multiplexerens 8 udgangs-kanaler (SC0-SC7).
  3. I koden: send en byte til multiplexer-adressen (0x70) for at vælge hvilken kanal der er aktiv. Eks: Wire.beginTransmission(0x70); Wire.write(1 << 0); Wire.endTransmission(); — dette aktiverer kanal 0.
  4. Læs nu sensoren via dens normale I²C-adresse — den ses kun på den valgte kanal.
  5. Gentag for hver kanal/sensor.

Sådan bruger du IO-expander (MCP23017)

  1. Tilkobl modulet (DFR0626) til I²C-bussen.
  2. Inkluder Adafruit_MCP23X17 eller lignende bibliotek i Arduino-koden.
  3. Konfigurer hvert ben som input eller output: mcp.pinMode(0, OUTPUT);
  4. Læs/skriv på de 16 ekstra ben præcis som med Arduino's egne: mcp.digitalWrite(0, HIGH); eller mcp.digitalRead(1);

Andre multiplexer-typer

Selvom udvalget primært består af I²C-baserede løsninger, findes der flere typer multiplexere generelt:

  • Analog multiplexer (CD74HC4051, CD74HC4067): ren signalskifter til analog/digital. 8 eller 16 kanaler. Til at læse mange potentiometre eller analog-sensorer med få ADC-ben.
  • Digital multiplexer: samme princip men kun til digitale signaler. Til at gemme RX/TX-pins.
  • Shift register (74HC595): outputter mange GPIO via SPI-lignende protokol. Bruges typisk til 7-segment, LED-arrays.
  • Mux Shield (Arduino): kombineret 48-pin shield til mange I/O på én gang.

Til disse typer, se Shift Register Moduler og hovedkategorien Moduler.

Programmering — biblioteker

  • Adafruit_MCP23X17 — til MCP23017 IO-expandere. Gør ekstra ben tilgængelige som var de Arduino's egne.
  • Wire (Arduino): standard I²C-bibliotek til at tale med multiplexere på lavt niveau.
  • SparkFun_I2C_Mux_Arduino_Library: wrapper-bibliotek der gør I²C-multiplexer simpelt.
  • SX1509: til SX1509-baserede IO-expandere med PWM, breathing-effects og keypad-scanning.

Typiske anvendelser

Vejrstationer med flere identiske sensorer på forskellige steder, robotik med multiple accelerometre eller IMU-sensorer, store LED-cube projekter (hvor en MCP23017 driver 16 søjler), keyboard-matrixer med 64+ taster, smart-hjem med mange knapper og switches, hjemmeautomation hvor mange sensorer og aktuatorer skal tilkobles én Arduino, billige Arduino-projekter hvor du vil undgå at opgradere til Mega eller ESP32, og audio-projekter med multiple analog-input til lydblanding.

Relateret

Til shift-registre der også giver flere I/O, se Shift Register Moduler. Til mikrocontrollere med flere indbyggede I/O, se Arduino (Mega-serien) og ESP32 Boards. Til I²C-kabler og stik, se Qwiic I²C Moduler. Til level-shiftere når du tilkobler 5 V og 3,3 V enheder, se Level Shifter. Tilbage til Moduler oversigt.