Hola Gente
Bueno, después de pasar días leyendo( y frustrado) creo que estoy cerca de poder resolver mi problema. Tengo un Arduino Nano(clon), compré SD card reader y un modulo ethernet enc28j60 y los hé probado individualmente, y funcionan.
Ahora intenté conectarlos simultaneamente y no funciónan, aparentemente se debe a que existe un problema con el buffer tri-state en el MISO de alguno de los modulos, creo que el enc28j60 pues este es el que no es detectado al inicio mas si la SD.
¿Existe alguna forma de hacer que funcionen? He intentado, colocando resistores de 10k en el pin SD en paralelo, con voltaje 5v en la punta extrema del resistor. Tambien probe el check de este link y efectivamente tengo problemas. https://www.dorkbotpdx.org/blog/paul/better_spi_bus_design_in_3_steps
¿Debo comprarme un modulo que no tenga este problema, existe una solucion o tengo alguna conexion mala?
Las conexiones las tengo asi.
CS -> D04
SCK -> D13
MOSI -> D11
MISO -> D12
Conexion fisica modulo Enc28j60:
en arduino mini
SCK/CLK ;sck como sck -> D13
SO ;miso -> D12
ST ;mosi -> D11
CS ;ss o sp -> D10
En el codigo, antes de inicializar los módulos hago lo siguiente
Serial.print("\nInitializing SD card...");
digitalWrite(10 , HIGH);
digitalWrite(chipSelect, LOW);
if (!card.init(SPI_HALF_SPEED, chipSelect)) {
Serial.println("initialization failed.");
}
digitalWrite(chipSelect, HIGH);
digitalWrite(10, LOW);
Serial.println(F("->init Ethernet"));
if (ether.begin(sizeof Ethernet::buffer, mymac) == 0)
Serial.println(F("Failed to access Ethernet controller"));
En este ultimo "if" es donde el código queda bloqueado, así use, otra libreria.
Gracias.