Hello. I'm using RFID U107 (or JRD-4035 - I don't know how it's properly called) for my project.
My setup includes RFID, Adafruit ESP32 Feather and a board that transforms 5V-logic to 3,3V-logic (and vice versa).
In the description for RFID is noticed that the distance for recognition is up to 1.5-2 meters, but in my case it's up to 30-50 cm. Can you help and explain how to reach the distance of 1.5-2 m, please?
For my work I use an example from here: https://github.com/m5stack/M5-ProductExampleCodes/tree/master/Unit/UHF_RFID
I tried to change transmitting power to its maximum by using a function "Set_transmission_Power" and found that the maximum power is 2600 by reading set value with a function "Read_transmitting_power". So I'm using "Set_transmission_Power(2600)" at the moment.
Also I tried to change "Region" to EU, but this function ("Set_up_work_area(3)") doesn't work. I read this value after configuration and it is "1" (CH). I don't know if this is important. If it can do working distance larger I can try to find why this function doesn't work as expected.
And I found the function "Sets_the_receiv_demodulator_parameters" but don't know what parameters I should use to set maximum working distance.
I have a set of different tags and of course the bigger tag is the larger the recognition distance I get. If the problem is in tags size what tags do you recommend?
My setup code:
void setup()
{
Serial.begin(115200);
Serial.println("Program started!");
Serial1.begin(115200, SERIAL_8N1, SERIAL1_RXPIN, SERIAL1_TXPIN);
Serial.println("Second Serial activated!");
RFID._debug = 1;
// UHF_RFID set UHF_RFID设置
Serial.println(RFID.Set_transmission_Power(2600));
delay(100);
delay(100);
Serial.println(RFID.Set_up_work_area(3));
delay(100);
ReadInfo transmissionPower = RFID.Read_transmitting_power();
Serial.print("Pow: "); Serial.println(transmissionPower.Pow);
delay(100);
transmissionPower = RFID.Read_working_area();
Serial.print("Region: "); Serial.println(transmissionPower.Region);
Serial.println(RFID.Set_the_Select_mode());
RFID.Delay(100);
RFID.Readcallback();
RFID.clean_data();
// Prompted to connect to UHF_RFID 提示连接UHF_RFID
Serial.println("Please connect UHF_RFID to Port C");
// Determined whether to connect to UHF_RFID 判断是否连接UHF_RFID
String soft_version;
soft_version = RFID.Query_software_version();
while(soft_version.indexOf("V2.3.5") == -1)
{
RFID.clean_data();
Serial.println("Waiting...");
RFID.Delay(150);
Serial.println("Waiting...");
RFID.Delay(150);
soft_version = RFID.Query_software_version();
}
Serial.println("Please approach the RFID card you need to use");
Serial.print("Software version: "); Serial.println(soft_version);
}
To summarize my questions are:
- The maximum transmission power is 2600?
- Is the "Region" important for the recognition distance? The same question to the working channel because I don't set it.
- What parameters should I use for the function "Sets_the_receiv_demodulator_parameters" if I want to reach the maximum distance?
- How I can reach the maximum distance of 1.5-2 meters (thanks for any advice)?
- Can I find something like a datasheet for this RFID unit because the description I see on the product page isn't enough to understand how it works and how properly to work with it?