Alex91
22.Июль.2025 14:11:07
1
Никак не могу подключить Модуль чтения RFID карт YS-RFID2 125 кГц, TK4100 UART 5V к esp32. Не видит данные и всё. Уже что только не пробовал. Подскажите, куда направить взгляд, может что-то не то делаю?
#define TX_PIN 10 //tx
#define RX_PIN 11 //rx
void setup() {
Serial.begin(115200);
Serial2.begin(9600);
Serial.println("...INIT...");
}
void loop() {
if (Serial2.available())
{
String tag = "";
while (Serial2.available() > 0) {
char c = Serial2.read();
tag += c;
}
Serial.print("Tag detected: ");
Serial.println(tag);
delay(10);
}
Alex91
22.Июль.2025 14:29:38
3
Нет. Пины пробовал несколько раз менять местами Rx/TX
А у этой штуки это точно UART? Вот тут у китайцев чуть поболее, чем в наших магазинах написано. https://aliexpress.ru/item/1005004388589398.html?sku_id=12000029005110731 Но я что-то так и не понял, что это тут за пины TXD и RXD. Слова UART вообще не вижу, и про скорости ничего нет.
Alex91:
куда направить взгляд
А есть Нано/Уно попробовать подключить? У этого модуля, пишут, питание 5в.
Может логика не подходит?
Мишутк
22.Июль.2025 14:51:20
6
Мне в исходнике скобки не нравятся. Парность не сходится. Где-то обманывают, код не тот.
1 лайк
Alex91
22.Июль.2025 14:56:41
8
Уно/Нано нету. 5в и подключаю
Мишутк
22.Июль.2025 15:05:28
9
Setting method of serial port baud rate:
(1) The serial port receiving format is: “Set the baud rate: xxxx@”
Baud rate: 4800, 9600, 57600, 115200 If you want to set the baud rate to 9600, send: “Set the
baud rate: 96000”
Вы скорость порта на устройстве настроили? В описании не указано умолчательное значение, поэтому никто не знает, на какой скорости оно вам отвечает.
Проще всего подключить его напрямую к порту компьютера и пообщаться в терминалке с ним.
Alex91
22.Июль.2025 15:08:23
10
Пробовал все предложенные скорости
Мишутк
22.Июль.2025 15:16:01
11
Так может он ни на какой ни шлет, пока ему явно команду инициализации порта не пришлют?
Мишутк
22.Июль.2025 15:23:49
12
В автономном режиме без МК метки запоминает, опознает?
Alex91:
5в и подключаю
Попробуйте через делитель 1кОм + 2кОм подключить пин TX
модуля к пину RX ESP32.
RX модуля вообще не подключайте
Alex91
22.Июль.2025 15:28:29
14
Да, запоминает, в out кидает 0/1 в соответствии с картой
Alex91
22.Июль.2025 15:29:36
15
Пробовал задавать
Serial2.write("Set the baud rate: 9600@");
Alex91:
Можно схему
Наберите в гугле “согласование уровней 3.3в и 5в UART”
Upper
22.Июль.2025 17:10:31
18
Вы считаете, что в результате Serial2 работает на 10 и 11 пине, или это по другому поводу ?
К каким пинам вы подключаете Serial2 ?
Проверьте работоспособность Serial2 тестовым скетчем, соединив его RX и TX пины (для перестраховки можно резистором на 1 кОм).
ua6em
22.Июль.2025 17:21:06
19
Если не изменяет память Serial2 на 4 и на 25, изменяет, на 38 пиновой плате на 16 и 17
Я ESP32 юзаю очень редко, знаю плохо, поэтому спросил:
Дим-мычъ:
Здесь нет ошибки?
Выше правильно сказали про пины, но всё равно может не работать.
Пробуйте инициализировать Serial2 так:
Спойлер
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
Serial2.begin(9600, SERIAL_8N1, 16, 17);
delay(300);
}
void loop() {
static char a = '0';
char b;
Serial2.print(a);
if (a++ > '~')
a = '0';
if (Serial.available())
{
b = Serial.read();
Serial.println(b);
}
delay(100);
}
Запустив простой скетч, можно проверить, живы ли порты после 5в))
Спойлер
Спойлер
P.S. Код и картинку немного подправил