Пришел RFID 7941W.
При подключении к Arduino показывает признаки жизни, однако команды отказывается принимать.
#include <SoftwareSerial.h>
SoftwareSerial rfidSerial(1, 0); // RX, TX
byte read_UID[6] = {0xAB, 0xBA, 0x00, 0x10, 0x00, 0x10};
byte read_PID[6] = {0xAB, 0xBA, 0x00, 0x15, 0x00, 0x15};
int read_UID_size = sizeof(read_UID) - 1;
int read_PID_size = sizeof(read_PID) - 1;
void setup()
{
Serial.begin(115200);
Serial.println("Goodnight moon!");
rfidSerial.begin(115200);
}
void loop()
{
if (read_PID_size != 0) {
for (read_PID_size; read_PID_size >= 0; read_PID_size--) {
rfidSerial.write(read_PID[read_PID_size]);
}
}
Serial.println("[|||||||||||||||||||||||||||||||]");
if (read_UID_size != 0) {
for (read_UID_size; read_UID_size >= 0; read_UID_size--) {
rfidSerial.write(read_UID[read_UID_size]);
}
}
read_UID_size = sizeof(read_UID) - 1;
read_PID_size = sizeof(read_PID) - 1;
delay(500);
}
При чтении:
if (Serial.available() > 0) {
Serial.println(Serial.read(), DEC);
}
Возвращает:
spoiler
91 B9 A2 FF 67 68 74 20 6D 6F 6F 6E 21 D A 39 31 20 42 39 20 41 32 20 46 46 20 36 37 20 36 38 20 37 34 20 32 30 20 36 44 20 36 46 20 36 46 20 36 45 20 32 31 20 44 20 41 20 33 39 20 33 31 20 32 30 20 34 32 20 33 39 20 32 30 20 34 31 20 33 32 20 32 30 20 34 36 20 34 32 33 33 32 33 33 32 33 33 32 33 33 32 33 34 32 33 34 32 33 34 32 33 34 32 33 33 32 34 32 34 32 33 33 32 33 33 32 33 33 32 33 33 32 33 33 32 33 33 32 33 далее просто 33
Если отключить датчик, такие же байты возвращает.
Как правильно общаться с RFID?