Помогите пожалуйста подключить сканер отпечатков GTM-5110c31

iliailia1212
Offline
Зарегистрирован: 16.01.2015
Здравствуйте, купил недавно модуль GTM-5110c31 для сканирования отпечатков пальцев с внутренней памятью. Но уже какой день не могу его настроить, он работает через uart, пробовал настраивать arduino как мост uart->USB и для PC есть демо программа для этого модуля, всё работает, но что бы Arduino работала сама с этим модулем как не получается.
Есть документация:
 
Пробовал уже отслеживать данные от этой программ на PC, вроде как разобрался как нужно отправлять данные (12 байт):
 
1: 0x55
2: 0xAA
3: 0x01 (id устройства 2-а байта по умолчанию - это 1)
4: 0x00
5:0x01 (Опции 4-е байта (для включения модуля - это 1))
6: 0x00
7: 0x00
8: 0x00
9: 0x01 (Команда 2-а байта  (для включения модуля - это 1))
10: 0x00
11: 0x02(контрольная сумма 2-а байта)
12: 0x01

Но как бы я не старался ,не разу не получил ответа от модуля (он должен прийти в случаи правельно команды я так понимаю)
Пробовал отправлять эти данные с помощью бибилиотеке SoftwareSerial, возможно это нужно делать по другому?
Вот пример моей программы:

#include <SoftwareSerial.h>
SoftwareSerial mySerial(10, 9); // RX, TX

byte buf[12] = {0x55, 0xAA, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 0x01};
byte buf2[12] = {0x55, 0xAA, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x12, 0x00, 0x13, 0x01};

void setup() {
   mySerial.begin(9600);
   Serial.begin(9600);
   delay(500);
   mySerial.write(buf2,12);
   delay(500);
   mySerial.write(buf,12);
}

void loop() {
 if(mySerial.available()){
    Serial.write(mySerial.read());
  }
}

buf - это команда включения
buf2 - это команда включить подсветку ,если я правильно разобрался
 
Вот тут есть ещё одна документация, описание и тестовая программа:
 
Помогите новичку разобраться в этом, буду очень благодарен.

 

iliailia1212
Offline
Зарегистрирован: 16.01.2015

Разобрался сам, есть библиотека для работы с ним 
https://github.com/oopsmonk/arduino-finger-dev

Вот пример кода:
 

#include <SoftwareSerial.h>
#include <gtm5110.h>
#include <gtm5110_proto.h>
SoftwareSerial gswSerial(10, 9);
int ind;
void setup() {
  Serial.begin(9600);
  gswSerial.begin(9600);
  delay(500);
  gtm_get_serial(&gswSerial);
  gtm_open();
  delay(100);
}

void loop() {
  ind = OnIdentify(10000);
  if(ind >= 0) {
    Serial.print("You ID: ");
    Serial.println(ind);
  }
  else if(ind == -500) {
    Serial.println("TimeOut");
  }
  else if(ind == -400) {
    Serial.println("You not DB");
  }
}