CP2112 Placa de Depuración CP2112, Mod de Comunicación USB a I2C para Arduino

[CP2112] CP2112 Placa de Depuración CP2112, Mod de Comunicación USB a I2C para Arduino

https://electrofranko.com/web/image/product.template/4437/image_1920?unique=eede0a5

S/ 29.00 29.0 PEN S/ 29.00

S/ 29.00

Not Available For Sale

Esta combinación no existe.

Términos y condiciones
Envío: 2-3 días laborales


Referencia Interna: CP2112

Módulo Adaptador USB a I2C / SMBus CP2112

Controlador puente de alta integración que permite comunicar sensores o dispositivos I2C directamente con una computadora por USB sin usar microcontroladores ni drivers.

El CP2112 de Silicon Labs es un controlador puente USB a SMBus/I2C de alta velocidad que elimina la necesidad de un microcontrolador intermedio (como un Arduino) al realizar pruebas o depuración de hardware desde una PC. Al ser reconocido como un dispositivo HID (Human Interface Device) estándar, los sistemas operativos Windows, Mac y Linux no requieren la instalación de drivers especiales. Convierte tu computadora en un dispositivo "Maestro" en el bus I2C para leer memorias EEPROM, probar sensores giroscópicos o controlar placas esclavas de forma directa desde Python o C++.

Especificaciones Técnicas

Parámetro ElectrónicoRango / Valor Oficial
Alimentación del Módulo5 V DC (Directo desde el puerto USB del PC)
Voltaje Lógico Interno3.0 V a 3.6 V (Regulador interno integrado)
Tolerancia de Lógica (I/O)Pines SDA, SCL y GPIO tolerantes a entradas de 5V
Velocidad del Bus I2C/SMBusConfigurable por software (de 10 kHz hasta 400 kHz)
Velocidad USBUSB 2.0 Full Speed (12 Mbps)
Clase de Dispositivo USBEstándar HID (Human Interface Device) Plug & Play
Parámetro Mecánico / EstructuraRango / Valor Oficial
Chipset PrincipalSilicon Labs CP2112 (Empaquetado QFN-24)
Pines GPIO Disponibles8 pines de entrada/salida de propósito general configurables
Interfaz de PCConector Micro-USB o Tipo-C (Dependiendo del fabricante)
Pines de Comunicación I2CSDA (Datos Seriales) y SCL (Reloj Serial)
Indicadores de EstadoLEDs integrados para transmisión (TX) y recepción (RX)
Interfaz Física de MóduloHeaders macho de 2.54 mm listos para protoboard

Ventajas Clave del Módulo Adaptador CP2112

Plug & Play Verdadero (Cero Drivers): Olvídate de los dolores de cabeza buscando drivers CH340 o FTDI. Al usar la especificación USB HID, tu sistema operativo lo reconoce instantáneamente al igual que un teclado o mouse de computadora, listo para ser interrogado por tu software.

Depuración de Sensores Simplificada: Si estás diseñando un circuito y necesitas comprobar si un sensor I2C (como un MPU6050 o una pantalla OLED) funciona, no necesitas escribir, compilar y subir código a un Arduino. Conecta el sensor al CP2112 y lee los registros directamente desde la terminal de tu computadora.

GPIOs Integrados Adicionales: Además del bus I2C, el chip expone 8 pines de propósito general (GPIO). Puedes usarlos para encender LEDs de estado, leer botones o alternar señales de Reset en tu hardware esclavo, todo controlado desde un script de Python en tu PC.

La topología de este módulo se basa en la conexión periférica. El puerto USB se enlaza al computador (Maestro), mientras que los pines SDA y SCL se conectan en paralelo a todos los sensores o memorias (Esclavos) que desees interrogar.

Galería Dinámica de Conexiones de Hardware

Esquema 1: Conexión mediante cable USB de datos estándar al computador
Esquema 3: Integración del bus SDA y SCL hacia múltiples sensores esclavos
Esquema 2: Mapa detallando los pines de comunicación y las entradas de propósito general
Esquema 4: Esquema eléctrico recomendando resistencias Pull-Up de 4.7k en el bus
Guía Esencial de Conexión y Montaje de Hardware: El conexionado del bus I2C es siempre directo: El pin **SDA** (Data) del módulo CP2112 va al pin SDA del sensor, y el pin **SCL** (Clock) va al SCL del sensor. Ambos dispositivos deben compartir imperativamente la línea **GND** (Tierra). Tenga en cuenta que el bus I2C funciona bajo una topología de colector abierto; si el módulo CP2112 o el sensor que está probando no incluyen físicamente resistencias "Pull-Up" soldadas en su placa, el bus se congelará. En ese caso, deberá insertar resistencias de 4.7 kΩ entre SDA y VCC, y entre SCL y VCC en su protoboard.
🎓 Programación desde PC y Arduino como Esclavo I2C

Es vital entender que el CP2112 NO se programa mediante el Arduino IDE. No es un microcontrolador, es un "puente" que recibe órdenes de la computadora. La programación real se hace en tu PC usando lenguajes como Python (ej. librería `pycp2112` o `hidapi`). Sin embargo, para probar si tu módulo CP2112 funciona bien, puedes programar un Arduino clásico para que actúe como un sensor esclavo falso y responda a las peticiones de tu PC:

  • Modo Esclavo (Slave): Usando la librería Wire.h, puedes inicializar el Arduino con una dirección fija (por ejemplo, Dirección 8) usando Wire.begin(8);.
  • Escuchar Peticiones: Cuando el CP2112 envíe una lectura desde tu computadora, el Arduino activará el evento Wire.onRequest() y devolverá la información solicitada (un texto o valor numérico simulado).
  • Recepción de Datos: Si desde Python envías un dato al CP2112, este lo trasladará al Arduino, activando el evento Wire.onReceive(), permitiendo que enciendas LEDs o muevas motores basándote en los bytes recibidos.
// Código para usar un Arduino como ESCLAVO I2C (Simulador de Sensor) // Utilízalo para probar si tu puente CP2112 se está comunicando correctamente desde la PC. // Conexión: SDA del CP2112 al pin A4 del Arduino. SCL al pin A5. GND con GND. #include <Wire.h> const byte DIRECCION_ESCLAVO = 8; // Dirección asignada a este Arduino simulador const int PIN_LED = 13; // LED integrado para confirmaciones visuales void setup() { Serial.begin(115200); pinMode(PIN_LED, OUTPUT); digitalWrite(PIN_LED, LOW); // Unimos el Arduino al bus I2C asignándole la dirección 8 Wire.begin(DIRECCION_ESCLAVO); // Asignamos las funciones que reaccionarán cuando el CP2112 hable Wire.onReceive(eventoRecepcion); // Cuando la PC nos envía datos Wire.onRequest(eventoPeticion); // Cuando la PC nos pide datos Serial.println("--- Arduino configurado como Esclavo I2C (Dir: 8) ---"); Serial.println("Esperando comandos desde el módulo CP2112 (PC)..."); } void loop() { // En modo I2C Esclavo controlado por interrupciones, // el loop principal queda libre para otras tareas. delay(100); } // Función que se ejecuta cuando el CP2112 (PC) escribe datos hacia el Arduino void eventoRecepcion(int numeroDeBytes) { Serial.print("Comando recibido del PC: "); while (Wire.available()) { char c = Wire.read(); // Leemos el byte como caracter Serial.print(c); // Ejemplo: Si la PC envía un '1', encendemos el LED. Si es '0', lo apagamos. if (c == '1') digitalWrite(PIN_LED, HIGH); if (c == '0') digitalWrite(PIN_LED, LOW); } Serial.println(); } // Función que se ejecuta cuando el CP2112 (PC) solicita leer datos del Arduino void eventoPeticion() { // El Arduino devuelve un mensaje o simula la lectura de un sensor // (Nota: Wire.write transmite bytes, el límite suele ser 32 bytes de golpe) Wire.write("Sensor_OK"); Serial.println("-> El PC solicito informacion. Se envio 'Sensor_OK'"); }
1. ¿Necesito descargar algún driver chino como el CH340 para que funcione?
**No.** Esa es la característica principal del CP2112. Al conectarlo al puerto USB, la computadora lo identifica de la misma manera que identifica a un ratón (Mouse) o un teclado USB genérico. Utiliza la clase de dispositivo HID nativa que ya viene preinstalada en el núcleo de Windows, MacOS y Linux. Podrá comenzar a enviarle comandos inmediatamente usando librerías de programación HID.
2. ¿Por qué usar este módulo en lugar de un Arduino común para leer un sensor en la PC?
Usar un Arduino como intermediario requiere de tres pasos lentos: Escribir el código en C++, subir el código a la placa, y crear un programa en PC que lea el puerto serie. El CP2112 omite el Arduino por completo. Si usted es un programador de software y quiere hacer una aplicación en Python que reaccione directamente a un sensor de temperatura I2C, el CP2112 establece un enlace directo, rápido y transparente entre su código de alto nivel y el silicio del sensor.
3. ¿Puedo utilizar el CP2112 para programar o subir código a mis placas Arduino (Pro Mini, ESP32)?
**No.** No confunda el CP2112 con el clásico CP2102. El CP2102 o el FT232 son puentes USB a UART (Comunicación Serial asíncrona RX/TX) que sí sirven para flashear placas Arduino. El CP2112 es un puente exclusivo de USB hacia bus I2C/SMBus (Comunicación síncrona SDA/SCL). Su propósito es leer sensores y memorias, no cargar firmware en microcontroladores.
4. El bus no se comunica y la lectura da errores continuos, ¿qué estoy haciendo mal?
El error número uno al trabajar con el bus I2C es la falta de resistencias de estabilización (Pull-Up). El protocolo exige que las líneas SDA y SCL mantengan un voltaje "flotante" alto por defecto. Muchas placas CP2112 ya las incluyen soldadas en formato SMD, pero si su sensor tampoco las tiene o los cables son muy largos, la capacitancia arruinará la señal. Agregue manualmente resistencias de 4.7 kΩ entre SDA y VCC, y entre SCL y VCC, y el problema de comunicación desaparecerá.