problema sensore di impronte TTL - GT-511C3

salve io volevo fare un apertura semplice di un portone tramite il lettore di impronte digitali TTL - GT-511C3

non credevo di aver nessun problema visto che è un programmino stupido stupido ma così non è

non capisco perchè ma dopo un pò smette di lavorare il sesonre rimane acceso ma non controlla + l’impronte digitale

ho cercato di semplificare sempre di + il codice
ora sto pensando che sia un problema del sensore visto che ho cambiato pure Arduino per scrupolo

che ne dite ?

#include "FPS_GT511C3.h"
#include "SoftwareSerial.h"

//FPS connected to pin 12 and 13 - see previous schemas
FPS_GT511C3 fps(12, 13);


int rele = 10;  //pin relè

void setup()
{
  Serial.begin(9600); 

digitalWrite (rele, HIGH); 
  
  pinMode(rele, OUTPUT);         //Set Pin10 as output

  delay(100);
  fps.Open();
  fps.SetLED(true);

}





void loop()
{

  // Identify fingerprint test
  if (fps.IsPressFinger())
  {
    fps.CaptureFinger(false);
    int id = fps.Identify1_N();
    if (id <200)
    {
      Serial.print("Verified ID:");
      Serial.println(id);
      // apro la porta 
        openDoor();
    }
    else
    {
      Serial.println("impronta non trovata ");
    }
  }
  else
  {
    Serial.println("aspetto l'impronta ");
  }
  delay(100);
}





void openDoor(){
 
  digitalWrite(rele, LOW);
 // Serial.println("Relè ON");
  delay(2000);
  digitalWrite(rele, HIGH);
//  Serial.println("Relè OFF");
   
}

Link a dove lo hai preso ? Hai provato il demo software che fonisce Sparkfun per i suoi (a fondo pagina) ?

Guglielmo

comprato robotstore

non ho provato il software su win perchè non ho adattore usb com

ma ho usato il codice che forniscano loro

Ciao,
hai fatto il partitore di resistenze dal tx arduino all'rx del lettore?
La seriale del modulo accetta 3,3V, senza partitore ne invii 5V..
Ciao

edit
almeno da un esempio trovato sul sito specifica di inserire il partitore però dal codice prodotto parla di TTL quindi 5V ?!

Ti inserisco le righe di codice....

#include "FPS_GT511C3.h"
#include "SoftwareSerial.h"

// Hardware setup - FPS connected to:
//	  digital pin 4(arduino rx, fps tx)
//	  digital pin 5(arduino tx - 560ohm resistor fps tx - 1000ohm resistor - ground)
//		this brings the 5v tx line down to about 3.2v so we dont fry our fps

FPS_GT511C3 fps(4, 5);

tonid:
... almeno da un esempio trovato sul sito specifica di inserire il partitore però dal codice prodotto parla di TTL quindi 5V ?!

Vero, anche l'esempio di "Instructables" usa un partitore, però, leggendo il datasheet del prodotto, in 4a pagina, tra le specifiche, è indicato: "Operating Voltage : DC 3.3 ~ 6V" ... ::slight_smile:

Guglielmo

... QUI la libreria per usarlo con Arduno e .. parla di interfaccia TTL ... ::slight_smile:

Guglielmo

Vero, anche l'esempio di "Instructables" usa un partitore, però, leggendo il datasheet del prodotto, in 4a pagina, tra le specifiche, è indicato: "Operating Voltage : DC 3.3 ~ 6V" ... ::slight_smile:

...infatti, strano.... :o
In ogni caso prima di fare danno inserirei le resistenze, magari si è ancora in tempo e proverei...

… QUI la libreria per usarlo con Arduno e … parla di interfaccia TTL … ::slight_smile:

E’ proprio da quella libreria che ho preso le righe di codice, sono nell’esempio FPS_IDFinger

tonid:
E' proprio da quella libreria che ho preso le righe di codice, sono nell'esempio FPS_IDFinger

Mah ... comunque il partitore male NON fa ... :slight_smile:

Guglielmo

grazie mille per le risposte

non ho messo nessun partitore avevo letto il datasheet e pensavo di andare di 5

chi mi fà uno schemino anche veloce....ho pura di fare danni ...

lato programmazione per me ok lato elettrico ho molte lacune

digital pin 5(arduino tx - 560ohm resistor fps tx - 1000ohm resistor - ground)

Ciao,
è semplice, fai come dice....
dal pin tx di arduino (quello che hai dichiarato nella software serial che per te dovrebbe essere il pin 13) parti con una resistenza da 560 ohm e vai al tx rx del modulo, da questo stesso pin (tx rx del modulo) metti una resistenza di 1000 ohm verso GND
Ciao, facci sapere

edit
anche qui c'è un errore.....

/ Hardware setup - FPS connected to:
//	  digital pin 4(arduino rx, fps tx)
//	  digital pin 5(arduino tx - 560ohm resistor fps tx - 1000ohm resistor - ground)
//		this brings the 5v tx line down to about 3.2v so we dont fry our fps

collega le resistenze come ti ho riportato sopra e non come da codice

altra cosa...
sposterei la software serial dal pin 13 di arduino perchè c'è il led collegato on board e potrebbe portare problemi, settala magari come 11 e 12 ad esempio, giusto per togliere ogni possibile causa di problema
ciao

ty mi procuro le 2 resistenze e provo subito

digitalWrite (rele, HIGH);
 
  pinMode(rele, OUTPUT);         //Set Pin10 as output

Fai prima il pinMode e poi il digital Write.

ciao Uwe

li ho invertiti perchè voglio essere sicuro che non va low allo start altrimenti mi apre la porta

gino123456:
li ho invertiti perchè voglio essere sicuro che non va low allo start altrimenti mi apre la porta

All'avvio TUTTI i pin di Arduino sono in modo INPUT in alta impedenza ... è compito TUO mettere sul pin una resistenza di pull-up esterna per tenere quel pin HIGH all'accensione in modo che il relè NON scatti.

Per il SW, la sequenza corretta è quella che ti ha detto Uwe.

Guglielmo

ok quella parte la modifico

ma il problema sul sensore rimane dopo un tot di tempo si spegne
ed ora con il partitore si spegne pure il led