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.
    Please select a variant for all bundle products.
    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.
    Please select a variant for all bundle products.
    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.
    Please select a variant for all bundle products.
    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.
    Please select a variant for all bundle products.
    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.