Usar dois sensores RFID simultaneamente

Estou iniciando um projeto, onde preciso usar mais de um sensor RFID (RDM 6300 125khz) em uma mesma placa (arduino uno), se possível.

Eles precisam funcionar simultaneamente, como faço para retornar qual deles estou acionando de uma forma mais apurada?

Fiz este código, porem eu gostaria que retornasse apenas uma string, e ele não esta funcionando direito. Eles nunca serão acionados ao mesmo tempo, somente um de cada vez, com intervalos de aproximadamente 1s, podendo variar um pouco para mais ou menos. O problema é que as tags irao ficar em cima dos sensores quando o outro começar a ler. A solução seria utilizar mais de um arduino, ou é possivel com apenas uma placa?

#include <SoftwareSerial.h>
#include <SPI.h>

//Inicializa a serial nos pinos 2 (RX) e 3 (TX)
SoftwareSerial rfid(10, 11);
SoftwareSerial rfid2(8, 9);

void setup()
{

//Inicializa a serial para comunicacao com o PC
Serial.begin(9600);

while (!Serial) {
; // wait for serial port to connect. Needed for native USB port only
}
//Inicializa a serial para o leitor RDM6300
rfid.begin(9600);
rfid2.begin(9600);

}
void loop()
{
rfid.listen();

while(rfid.available()){
Serial.println("Carta do jogador 1");
char inByte = rfid.read();
Serial.write(inByte);
Serial.println();

}

rfid2.listen();

  while(rfid2.available()){
  Serial.println("Carta do jogador 2");
  char inByte = rfid2.read();
  Serial.write(inByte);
  Serial.println();

}
}

trecho do monitor serial:

1:00:38.481 -> Sensor 1
11:00:38.528 -> 3
11:00:38.528 -> Sensor 1
11:00:38.528 -> 1
11:00:38.528 -> Sensor 1
11:00:38.528 -> 7
11:00:38.528 -> Sensor 1
11:00:38.574 -> 7
11:00:38.574 -> Sensor 1
11:00:38.574 -> 3
11:00:38.574 -> Sensor 1
11:00:38.574 ->
11:00:41.731 -> Sensor 2
11:00:41.777 -> ⸮
11:00:41.777 -> Sensor 2
11:00:41.777 -> ⸮
11:00:41.777 -> Sensor 2
11:00:41.777 -> ⸮
11:00:41.777 -> Sensor 2
11:00:41.777 -> "
11:00:41.824 -> Sensor 2
11:00:41.824 ->
11:00:41.824 -> Sensor 2
11:00:41.824 -> ⸮
11:00:41.824 -> Sensor 2

Ola,

eu estava com uma ideia de fazer algo do gênero tb, não sem nenhum tempo para pensar e tentar fazer isto. Se tiver interesse em trocar idéias e quem sabe trabalharmos juntos nisso, seria interessante.

Nunca cheguei a usar leitores RFID, mas imagino que o aceito não seja diferente de nenhum sensor na lógica básica. Também não estou com um compilador neste computador para fazer testes da sintaxe/lógica, mas a ideia básica seria acho como abaixo. Somente para esclarecer o entendimento básico de Arduino, o void loop() é praticamente a mesma coisa que um while(true), portanto, nesta sua lógica básica, vc não precisa colocar um while para cada leitura.

#include <SoftwareSerial.h>
#include <SPI.h>

//Inicializa a serial nos pinos 2 (RX) e 3 (TX)
SoftwareSerial rfid(10, 11);
SoftwareSerial rfid2(8, 9);

void setup()
{

  //Inicializa a serial para comunicacao com o PC
  Serial.begin(9600);

  while (!Serial)
  {
    ; // wait for serial port to connect. Needed for native USB port only
  }
  //Inicializa a serial para o leitor RDM6300
  rfid.begin(9600);
  rfid2.begin(9600);
}
void loop()
{
  rfid.listen();
  rfid2.listen();

  if rfid.available()
  {
    Serial.println("Carta do jogador 1");
    char inByte = rfid.read();
    Serial.write(inByte);
    Serial.println();
  }

  if rfid2.available()
  {
    Serial.println("Carta do jogador 2");
    char inByte = rfid2.read();
    Serial.write(inByte);
    Serial.println();
  }
}
1 curtida

Obrigado pela ajuda Tutume. Nunca tive contato com arduino, embora trabalhe com programação há algum tempo. Achei uma solução, me parece ser boa, estou esperando os novos sensores chegar para testar.

Eles se comunicam de outra forma com o arduino pelo que entendi, acho que vai resolver meu problema.

Eu acho que tenho um deste RC522. Depois vou ver. E pelo que li rapidamente o protocolo de comunicação é difente. O que vc está usando pelo comentário no código é o RDM6300 e ele utiliza RS232 que é um procotolo serial. O RC522 usa SPI, que também é serial. Não deveria necessário mudar tanto, nem viabilizar ou inviabilizar o uso em paralelo.
Qual o problema efetivamente que vc está tendo? parece ruido de sinal? isto muitas vezes é mais a parte de eletronica, onde vc precisa colocar alguns componentes para filtragem. Eu não conheço muito bem esta parte. Precisaria perguntar para o pessoal que conhece de eletronica. No forum labdegaragem tem um chat que eles são bem receptivos e costumam ajudar.