INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Signal aus Fingerabdruckscanner als Eingangssignal
03.07.2014, 19:23
Beitrag #1
Signal aus Fingerabdruckscanner als Eingangssignal
Liebe Arduinogemeinde,
ich stehe vor einem Problem, mit dem ich mich als Arduinoneuling schon seit ein paar Wochen herumärgere.
Ich habe einen Fingerabdruckscanner, der an mein Arduinoboard angeschlossen ist. Sobald ein Finger auf den Scanner gelegt wird, gibt der Scanner für ein paar hundert Millisekunden ein 3-4Volt Signal aus. Ich habe ihn an den digitalen Eingang 7, den ich auch als Input definiert habe, angeschlossen.
Das Signal wird von dem Arduino erkannt.
Obwohl das Signal nur kurz aus dem Fingerabdruckscanner kommt, bleibt der "buttonCurState", auf "HIGH". Meine Versuche ihn über DigitalWrite(buttonCurState, false) zurückzusetzen haben nicht geklappt. Welche andere Möglichkeit habe ich, den "buttonCurState" wieder zurückzusetzen, um ihn anschließend erneut abzufragen und eine andere Aktion auszuführen?
Siehe Code:



int fingerprint = 7;
int relay2 = 2;
int relay3 = 3;
int condition = 0;
boolean buttonCurrState = false;
void setup()
{

pinMode(fingerprint, INPUT);
pinMode(relay2, OUTPUT);
pinMode(relay3, OUTPUT);

}
void loop()
{
buttonCurrState = digitalRead (fingerprint);

if(buttonCurrState==true && condition==0 )
{

digitalWrite(relay2, HIGH);

condition=1;
digitalWrite(buttonCurrState, false);
}
else if(buttonCurrState==true && condition==1)
{
delay(500);
digitalWrite(relay3,HIGH);
digitalWrite(relay2, LOW);
condition=0;
}

}


Vielen Dank für eure Hilfe!
Gruß,
Andreas
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
03.07.2014, 20:01
Beitrag #2
RE: Signal aus Fingerabdruckscanner als Eingangssignal
Hi,
das hier:
Code:
digitalWrite(buttonCurrState, false);
Tut wahrscheinlich gar nichts sinnvolles. Wahrscheinlich versucht es "LOW" auf Pin 255 auszugeben. buttonCurrState wird als Pin-Nummer interpretiert und ist in dem Moment gerade auf HIGH, was als int glaube ich 255 ist.

Ich denke, Du hast da ein ganz anderes Problem. Wenn buttonCurrState HIGH wird, dann laeuft Dein Coding erstmal durch den ersten Ast des if. Beim naechsten durchlauf von loop() sind aber nur ein paar Mikrosekunden vergangen und sofort wird auch der andere Ast des if durchlaufen. Dann wartet das System erstmal eine halbe Sekunde um dann die beiden Relais zu schalten. Das sieht dann so aus, als ob das Signal immer noch anliegt, was es aber wahrscheinlich nach den 500ms nicht mehr tut.

Eine unsaubere, aber moeglicherweise funktionierende Variante waere, das delay() dort hinzuverschieben, wo jetzt das "digitalWrite(buttonCurrState, false);" steht. Dann wartet das System bein Einschalten (?) erstmal und macht den Rest dann nur, wenn nach einer halben Sekunde nochmal oder immer noch der Pin HIGH wird.

Eine richtig gute Loesung wirst Du wahrscheinlich nur hinbekommen, wenn Du das delay() komplett vergisst und den Fingerabdruckscanner wie einen Taster behandelst. D.h. das ganze entprellen und nur bei einer echten ansteigenden Flanke schalten.

Gruss,
Thorsten

Falls ich mit einer Antwort helfen konnte, wuerde ich mich freuen, ein paar Fotos oder auch ein kleines Filmchen des zugehoerigen Projekts zu sehen.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
04.07.2014, 12:38
Beitrag #3
RE: Signal aus Fingerabdruckscanner als Eingangssignal
Hi Thorsten,

vielen Dank für deine schnelle Antwort!
Ich habe das "delay" umgesetzt, wie du es vorgeschlagen hast und konnte das Problem damit lösen.Wink
Dankeschön und schönes Wochenende!

Gruß,
Andreas
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  PWM Signal imitieren Marc2014 5 190 15.10.2016 11:34
Letzter Beitrag: Binatone
  PWM-Signal Ben-g 9 846 21.04.2016 13:09
Letzter Beitrag: Ben-g
  433 Mhz Signal von Garagentor Fernbedieung einlesen Much 6 813 07.02.2016 10:45
Letzter Beitrag: Binatone
  DMX Signal mit Arduino empfangen, aber wie? mat21his 4 663 28.01.2016 16:20
Letzter Beitrag: ardu_arne
  PWM-Signal PC-Lüfter scritch 1 433 03.01.2016 21:23
Letzter Beitrag: Bitklopfer
  Anfängerhilfe: Piezo-Signal auslesen/kopieren Koregan 9 891 31.12.2015 08:40
Letzter Beitrag: Bitklopfer
  Ir Signal bei High gronph 7 803 01.11.2015 18:49
Letzter Beitrag: gronph
  GPS Signal jeden Kilometer b3ta 8 910 26.10.2015 10:49
Letzter Beitrag: Scherheinz
  PWM-Signal auf anderen Pin übertragen Ard_Gast 23 2.318 16.03.2015 12:04
Letzter Beitrag: Thorsten Pferdekämper
  Pin 12 kein Signal Darkon 34 5.927 04.01.2015 22:36
Letzter Beitrag: Darkon

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste