# Usar dois sensores RFID simultaneamente

**URL:** <https://forum.fazedores.com/t/usar-dois-sensores-rfid-simultaneamente/7698>\
**Category:** Arduino\
**Created:** [Outubro 2, 2020, 2:02pm UTC](https://forum.fazedores.com/t/usar-dois-sensores-rfid-simultaneamente/7698 "2020-10-02T14:02:36Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![marcokoch](https://avatars.discourse-cdn.com/v4/letter/m/77aa72/32.png) [@marcokoch](https://forum.fazedores.com/u/marcokoch)\
**Post date:** [Outubro 2, 2020, 2:02pm UTC](https://forum.fazedores.com/t/usar-dois-sensores-rfid-simultaneamente/7698/1 "2020-10-02T14:02:36Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![Tutume](https://avatars.discourse-cdn.com/v4/letter/t/7ea924/32.png) [@Tutume](https://forum.fazedores.com/u/Tutume)\
**Post date:** [Outubro 6, 2020, 2:26pm UTC](https://forum.fazedores.com/t/usar-dois-sensores-rfid-simultaneamente/7698/2 "2020-10-06T14:26:21Z")

</div>

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.

```auto
#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();
  }
}

```

---

<div class="post-metadata">

**Author:** ![marcokoch](https://avatars.discourse-cdn.com/v4/letter/m/77aa72/32.png) [@marcokoch](https://forum.fazedores.com/u/marcokoch)\
**Post date:** [Outubro 6, 2020, 3:02pm UTC](https://forum.fazedores.com/t/usar-dois-sensores-rfid-simultaneamente/7698/3 "2020-10-06T15:02:05Z")

</div>

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.

[![]( " - YouTube") ](https://www.youtube.com/watch?v=HmGmFknAIqc)

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

---

<div class="post-metadata">

**Author:** ![Tutume](https://avatars.discourse-cdn.com/v4/letter/t/7ea924/32.png) [@Tutume](https://forum.fazedores.com/u/Tutume)\
**Post date:** [Outubro 7, 2020, 12:03am UTC](https://forum.fazedores.com/t/usar-dois-sensores-rfid-simultaneamente/7698/4 "2020-10-07T00:03:40Z")

</div>

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.
