🚚 Envío GRATIS en compras sobre $30.000 | Retiro en Curauma, Valparaíso | 📞 +56 9 65214463
Electrónica General 05 de July de 2026 · 2 min de lectura

Protocolo SPI con Arduino: Cómo Funciona y Cuándo Usarlo vs I2C

Entiende el protocolo SPI: 4 cables (MOSI, MISO, SCK, CS), cómo seleccionar dispositivos, velocidad vs I2C y cuándo elegir cada uno. Con ejemplos prácticos en Arduino.

El protocolo SPI (Serial Peripheral Interface) es la otra gran interfaz de comunicación serial, junto con I2C. Es más rápido pero usa más cables. Entender cuándo usar SPI en lugar de I2C es clave para diseñar circuitos eficientes con Arduino.

Los 4 Cables SPI

SeñalDirecciónFunción
MOSIMaster → SlaveDatos del Arduino al dispositivo
MISOSlave → MasterDatos del dispositivo al Arduino
SCKMaster → SlaveSeñal de reloj sincronización
CS / SSMaster → SlaveChip Select: activa un dispositivo

Pines SPI en Arduino Uno

  • MOSI: Pin 11
  • MISO: Pin 12
  • SCK: Pin 13
  • SS/CS: Cualquier pin digital (Pin 10 por convención)

SPI vs I2C: ¿Cuándo Usar Cada Uno?

CriterioSPII2C
VelocidadHasta 80 MHz100 kHz / 400 kHz
Cables4 + 1 CS por dispositivo2 (todos comparten)
Dispositivos max.Ilimitado (1 CS cada uno)127
Full-duplexSí (MOSI y MISO simultáneos)No
Uso típicoSD card, TFT, NRF24L01, ADC rápidosSensores, RTC, LCD, OLED

Ejemplo: Leer SD Card por SPI

#include <SPI.h>
#include <SD.h>

const int PIN_CS = 10;

void setup() {
  Serial.begin(9600);
  if (!SD.begin(PIN_CS)) {
    Serial.println("SD no encontrada");
    return;
  }
  File f = SD.open("datos.txt", FILE_WRITE);
  if (f) {
    f.println("Temperatura,Hora");
    f.println("25.3,12:00");
    f.close();
    Serial.println("Datos guardados");
  }
}

Múltiples Dispositivos SPI

Cada dispositivo SPI necesita su propio pin CS. Los pines MOSI, MISO y SCK se comparten. Para activar un dispositivo: poner su CS en LOW, enviar datos, luego CS en HIGH. Solo un dispositivo puede estar activo (CS=LOW) a la vez.

Compartir: WhatsApp
Escríbenos por WhatsApp