Ciao ho un problema con arduino mega MFRC522 e w5100.
Quando collego sia MFRC522 e la W5100 non mi funziona la scheda ethernet.
Il problema è legato al pin MISO che quando viene condiviso non funziona.
Ho usato dei pin SS diversi per la MFRC522 ma i pin 50,51,52 MISO,MOSI e SCK non posso cambiarli.
Qualche idea per risolvere?
Questo lo schema e la prima parte di setup.
Grazie
/*MFRC522
* Signal Pin Pin
* Arduino Mega MFRC522 Cable
* -----------------------------------------------------------------------------
* SPI SS 8 SDA Rosso/Blu
* SPI SCK 52 SCK Rosa
* SPI MOSI 51 MOSI Marrone
* SPI MISO 50 MISO Viola
* IRQ
* GND GND GND Bianco
* Reset 7 RST Nero
* +3.3V +3.3V +3.3V Gialllo
* 5 R LED Rossso (anodo rosso)
* 6 G LED Verde (anodo rosso)
* 3 B LED Blu (anodo rosso)
* +5V Cadodo Grigio/rosa
* 2 Buzzer Grigio
*/
#include <SPI.h>
#include <Ethernet.h>
#include <MFRC522.h>
#include <EEPROM.h>
#define Buzzer 2
#define ledBlu 3
#define SDcard 4
#define ledRed 5
#define ledGreen 6
#define RST_PIN 7
#define SS_MFRC522 8
#define SS_ETH 10 //Ethernet shield
MFRC522 mfrc522(SS_MFRC522, RST_PIN); // Create MFRC522 instance.
//ETHERNET SETTINGS---------------------------------------------
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
IPAddress ip(192, 168, 0, 100);
IPAddress subnet(255, 255, 255, 0);
IPAddress gateway(192, 168, 0, 1);
IPAddress dnServer(192, 168, 0, 1);
EthernetClient client;
//--------------------------------------------------------------
void setup() {
pinMode(SS_MFRC522, OUTPUT);
pinMode(SS_ETH, OUTPUT);
digitalWrite(SS_MFRC522, HIGH);
digitalWrite(SS_ETH, HIGH);
pinMode(ledRed, OUTPUT);
pinMode(ledGreen, OUTPUT);
pinMode(ledBlu, OUTPUT);
pinMode(Buzzer, OUTPUT);
pinMode(SDcard, OUTPUT);
digitalWrite(SDcard, HIGH); //disable SDcard
Serial.begin(9600); // Initialize serial communications with the PC
SPI.begin(); // Init SPI bus
mfrc522.PCD_Init(); // Init MFRC522 card
Ethernet.begin(mac, ip, dnServer, gateway, subnet);
Serial.print("IP = ");
Serial.println(Ethernet.localIP());
delay(1000); // give the Ethernet shield a second to initialize:
Serial.println("connecting...");
}