Сканер qr неверно читает значение в коде

Тема в разделе "Arduino & Shields", создана пользователем dennche70, 4 ноя 2023.

  1. dennche70

    dennche70 Нуб

    Люди добрые! Бьюсь третий день. Есть сканер qr и штрих кодов ZCteco с интерфейсом Wiegand и rs485. Пробовал подключать к дуне и есп через конвертер ttl-rs485 на max485, в com порту тишина, при чем если подключить вторую дуню с таким же конвертером, то связь налаживается .

    Поэтому пробую Wiegand

    Код (C++):
    #include <Wiegand.h>

    WIEGAND wg;

    void setup() {
        Serial.begin(9600);
        //  По умолчанию, считыватель подключается к пинам 2 и 3 (см. подробнее https://wiki.iarduino.ru/page/stationary-rfid-reader/)
      //  Однако для некоторых плат может потребоваться поменять номера выводов. Для этого используйте wg.begin(pinD0, pinD1), где
      //  где pinD0 - номер пина, к которому подключен провод считывателя D0, а pinD1 - провод D1.
        wg.begin(2,4);
    }

    void loop() {
        if(wg.available())
        {
            Serial.print(", ID = ");
            Serial.print(wg.getCode());
            Serial.print(", Type Wiegand: W");
            Serial.println(wg.getWiegandType());  
        }
    }
    В баркоде зашит номер 871254922554
    но по Wiegand 26 приходит значение 14095674, а по Wiegand 34 3671528762

    Я так понимаю, что конвертит библиотека не правильно. Сам сканер в буфер по usb в компе шлет верное значение.

    Кто подскажет, куда копать, очень надо
     
  2. dennche70

    dennche70 Нуб

    Опытным путем установил, если значение кода больше 9 цифр, то значения не верные показывает
     
  3. dennche70

    dennche70 Нуб

    Сам спросил, сам разобрался, 10 цифр уже превышают допустимое количество битов в виганд 34) Чтобы не открывать тему, спрошу, как переварить в номере QR кириллическую букву?
     
  4. b707

    b707 Гуру

    Чиста по приколу отвечу - В НОМЕРЕ не может быть букв.

    А если серьезно - что вы читаете из QR - строку? Строка в любом случае состоит из байт.
    Как интерпретировать байт - как число, как латинский символ или как кириллицу - это дело вашей программы

    Посмотрел библиотеку Wiegand.h и я в недоумении - где вы там вообще буквы обнаружили? Покажите свой код
     
    Последнее редактирование: 22 ноя 2023