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