Kunkune

Come usare un convertitore di livello logico con Arduino

Come usare un convertitore di livello logico con Arduino

By Kunkune | Published: 2026-10-23

Category: Guide pratiche

Scopri come collegare un Arduino a 5V a sensori a 3.3V usando un convertitore di livello logico. Cablaggio passo passo e codice per lo spostamento di livello I2C con TXS0108E.

Risposta rapida

Utilizza un convertitore di livello logico bidirezionale come il TXS0108E per collegare in sicurezza i pin Arduino a 5V ai sensori I2C a 3.3V. Collega il lato ad alta tensione a 5V e il lato a bassa tensione a 3.3V, quindi collega le linee SDA e SCL attraverso i canali del convertitore.

Perché hai bisogno di uno shifter di livello per I2C

Arduino Uno e molte schede classiche funzionano a logica 5V, mentre sensori popolari come MPU6050, BMP280 e display OLED operano a 3.3V. Collegarli direttamente può danneggiare il sensore o causare comunicazioni erratiche. Un convertitore di livello bidirezionale gestisce automaticamente la traduzione di tensione senza pin di controllo aggiuntivi.

Il TXS0108E fornisce otto canali, quindi puoi spostare più segnali contemporaneamente. Per semplici progetti I2C, hai bisogno solo di due canali (SDA e SCL), ma i canali extra rimangono disponibili per altre periferiche a 3.3V.

Scegliere tra moduli a 2 canali e a 8 canali

Il modulo convertitore di livello logico I2C IIC a 2 canali (ID prodotto 2426955) è compatto e sufficiente per la maggior parte dei progetti con sensori I2C. Costa leggermente di più ma include resistori di pull-up ottimizzati per I2C. Il convertitore di livello logico bidirezionale TXS0108E a 8 canali (ID prodotto 2426944) offre più canali a un costo inferiore per canale, rendendolo migliore per progetti con più dispositivi a 3.3V o tipi di segnale misti.

Se devi spostare solo una o due linee I2C, il modulo a 2 canali mantiene il cablaggio semplice. Se prevedi di espanderti in seguito, la versione a 8 canali ti dà spazio per aggiungere dispositivi SPI o UART senza acquistare un altro convertitore.

Guida passo passo: cablaggio e utilizzo di un convertitore di livello logico

  1. Identifica i lati ad alta e bassa tensione: Su un tipico modulo convertitore di livello, un lato è etichettato HV (alta tensione, 5V) e l'altro LV (bassa tensione, 3.3V). Collega il pin HV all'alimentazione 5V di Arduino e il pin LV all'alimentazione 3.3V del sensore. Errore comune: invertire queste tensioni può danneggiare il modulo o il sensore. Ricontrolla le etichette serigrafiche prima di alimentare il circuito.
  2. Collega il riferimento di massa: Collega un filo di massa dal GND di Arduino al pin GND sul convertitore di livello, e un altro dal GND del convertitore al GND del sensore. Entrambi i lati devono condividere una massa comune affinché lo shifter di livello funzioni. Errore comune: dimenticare la connessione di massa causa dati erratici o nessuna comunicazione. Utilizza una barra di distribuzione della breadboard per distribuire la massa a tutti i dispositivi.
  3. Collega le linee dati I2C: Collega SDA di Arduino (A4 su Uno) a un pin del canale HV (es. HV1), quindi collega il corrispondente pin del canale LV (LV1) a SDA del sensore. Ripeti per SCL (A5 su Uno) usando un secondo canale (HV2 a LV2). Errore comune: incrociare i canali (es. SDA su HV1 e SCL su LV2) non funzionerà. Mantieni lo stesso numero di canale per ogni linea di segnale su entrambi i lati.
  4. Aggiungi resistori di pull-up (se necessario): Molti moduli convertitori di livello includono resistori di pull-up su entrambi i lati. Se il tuo modulo ne è privo o il tuo bus I2C è più lungo di 10 cm, aggiungi resistori da 4.7kΩ da SDA e SCL a 3.3V solo sul lato LV. Errore comune: aggiungere pull-up a 5V sul lato HV può sovraccaricare il sensore. Controlla la scheda tecnica del tuo modulo; il modulo a 2 canali li include, il TXS0108E potrebbe non includerli.
  5. Carica e testa con lo scanner I2C: Carica lo sketch standard dello scanner I2C (File > Esempi > Wire > i2c_scanner) sul tuo Arduino. Apri il Monitor Seriale a 9600 baud. Se il cablaggio è corretto, vedrai l'indirizzo I2C del sensore. Errore comune: non vedere dispositivi significa controllare massa, alimentazione e mappatura dei canali. Una scansione riuscita conferma che il convertitore di livello funziona prima di scrivere lo sketch principale.

Dati del prodotto

  • 5pcs Modulo convertitore di livello logico I2C IIC a 2 canali da 5V a 3.3V per Arduino: Il convertitore di livello I2C IIC a 2 canali collega sistemi a 5V e 3.3V, consentendo una comunicazione efficiente e stabile tra dispositivi a diversa tensione, perfetto per una gamma di applicazioni seriali. Questo modulo include resistori di pull-up integrati che soddisfano i requisiti di temporizzazione I2C, quindi puoi cablarlo direttamente senza componenti esterni.
    5pcs 2 Channel IIC I2C Logic Level Converter Module 5V to 3.3V Arduino
    5pcs Modulo convertitore di livello logico I2C IIC a 2 canali da 5V a 3.3V per Arduino
  • Convertitore di livello logico bidirezionale TXS0108E a 8 canali: Convertitore di livello logico bidirezionale TXS0108E a 8 canali. Otto canali ti permettono di spostare simultaneamente segnali I2C, SPI, UART e GPIO, rendendolo una scelta flessibile per progetti multi-sensore.
    TXS0108E 8 Channel Bidirectional Logic Level Converter
    Convertitore di livello logico bidirezionale TXS0108E a 8 canali

Shop Related Products

5 pezzi Modulo convertitore di livello logico IIC I2C a 2 canali, 5V a 3.3V Arduino

5 pezzi Modulo convertitore di livello logico IIC I2C a 2 canali, 5V a 3.3V Arduino

$2.99 $4.90

Shop Now
Convertitore di livello logico bidirezionale TXS0108E a 8 canali

Convertitore di livello logico bidirezionale TXS0108E a 8 canali

$1.29 $1.90

Shop Now