Conflicto entre módulos NRF24L01 y SD (SPI)

Tengo un problema al intentar usar simultáneamente un módulo NRF24L01 y un módulo SD (lector de tarjetas) con un Arduino Uno. Por separado, ambos funcionan correctamente, pero al usarlos juntos solo el módulo SD responde.

Investigación previa:

  • Según información del foro, el módulo SD podría mantener la línea MISO activa incluso cuando no está seleccionado (CS alto), lo que interferiría con la comunicación del NRF24L01.
  • He probado:
    • Resistencia de 4kΩ en MISO (entre módulo SD y Arduino).
    • Resistencia de pull-up (∼4kΩ ya que por el momento solo cuento con estos) en los pines CS de ambos módulos a VCC.
    • Cambios en el orden de inicialización (primero NRF, luego SD, y viceversa).
    • Verificado conexiones de alimentación (3.3V para NRF y 5V para SD ).

Ninguna solución ha funcionado. El módulo SD sigue teniendo prioridad en la línea MISO.

Pregunta:
¿Alguien ha resuelto este conflicto?

El problema con la línea MISO ocurre generalmente con los módulos lectores de microSD que traen adaptador de niveles, no con los SD.
¿Cuál de ellos estás usando?

Mira este hilo y en particular el post#5

Estoy usando el que trae adaptador de 5v a 3.3v

Problema resuelto. La solución la encontré en otro hilo: SPI MISO pin conflict - #8 by ShermanP
El conflicto se debía a que el módulo SD no liberaba correctamente la línea MISO al deseleccionarse, lo que bloqueaba el bus SPI. La solución fue:

  1. Cortar la pista que conecta la salida del conversor de nivel al pin MISO del módulo.
  2. Conectar directamente el MISO de la tarjeta SD al header

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.