Sensor

Verstehe nicht warum der Serielle Monitor, wenn ich den Magneten auf den Sensor halte kein "Erkannt ausgibt"

const int hallSensorPin = 12; // Pin an dem der Hall-Sensor angeschlossen ist

int hallSensorStatus = 0;

void setup() {
  // Pin fuerr den Hall-Sensor als Eingang definieren
  pinMode(hallSensorPin, INPUT);
  Serial.begin(9600);
}

void loop() {
  
  // Status des Hall-Sensors auslesen
  hallSensorStatus = digitalRead(hallSensorPin);

  if (hallSensorStatus == LOW) {     
      
   Serial.println("ERKANNT");
  } 
   
}

Weil du den Hallsensor wohl falsch angeschlossen hast.

Etwas genauere und ausführlichere Angaben solltest du schon machen.

Es wird nun ausgegeben wenn ich einen Magneten an den Sensor führe, jedoch direkt immer 20 mal oder öfter.

PAXON999:
Es wird nun ausgegeben wenn ich einen Magneten an den Sensor führe, jedoch direkt immer 20 mal oder öfter.

Ja, was denn nun.
Geht das zukünftig auch genauer ?

Und dein Sketch macht auch das, was du getippt hast.
Wenn es anders sein soll, musst du das auch schreiben.

Meine Frage ist nun warum er wenn ich den Magneten an den Sensor halte direkt 20 mal und öfters ausgibt "Erkannt". Habe das Programm bisschen umgeändert.

Weil Dein Magnet länger dran ist, als er für ein mal erkannt ausgeben braucht.
Wenn Du pro Magnetdurchgang nur 1 Meldung willst, musst Du Dir diesen Status merken und ihn wieder zurück schalten, wenn kein Magnet mehr da ist.

Google mal nach Statusmaschine, Schrittkette.

Gruß Tommy

PAXON999:
Meine Frage ist nun warum er wenn ich den Magneten an den Sensor halte direkt 20 mal und öfters ausgibt "Erkannt". Habe das Programm bisschen umgeändert.

Ach das müssen wir dann nicht sehen und weiter raten.
Warum zeigst du das nicht ?

Aber mal geraten:
Die Anzeige und Abfrage läuft in der Loop und wird somit ständig aufgerufen.
Solange der Magnet vor dem Sensor klebt.

Und nochmal, wir brauchen genauere Informationen, ist das so schwer ?

HotSystems:
Und nochmal, wir brauchen genauere Informationen, ist das so schwer ?

ja, das wissen wir doch inzwischen.

ElEspanol:
ja, das wissen wir doch inzwischen.

Schön für dich.

Ist doch komisch wenn ich den Magneten nur kurz an den Sensor halte das er dann direkt 20mal oder öfters Magnet erkannt ausgibt

Hi

Ich vermute, daß der Arduino in dieser kurzen Zeit '20mal oder öfter' die loop() durchläuft.
In jeder Runde prüft Er, ob Da ein Magnet ist - wenn JA, sagt Er im Terminal Bescheid.

Das liegt also an Dir - Du musst wesentlich schneller werden - oder Deinen Sketch umschreiben, daß die Erkennung nur noch 1x ausgegeben wird.

Ansatz: merke Dir, ob Du 'jetzt' was erkannt hast, oder ob nicht.
DAVOR prüfst Du, wenn Du was erkannt hast, ob Du 'beim letzten Mal' bereits was erkannt hattest.

Male Dir den Ablauf auf, was wann passieren soll und denke stets daran: der Arduino ist blöd, Der muß sich auch Alles aufschreiben, was Er Sich merken soll.

MfG

PAXON999:
Ist doch komisch wenn ich den Magneten nur kurz an den Sensor halte das er dann direkt 20mal oder öfters Magnet erkannt ausgibt

Liest Du eigentlich auch, was wir Dir geschrieben haben?
Wie mir scheint nicht, denn diese Frage hatte ich Dir längst beantwortet.

Gruß Tommy

ElEspanol:
ja, das wissen wir doch inzwischen.

Offensichtlich der TO nicht, da er hier nicht mitliest.

@PAXON999

Ich finde mich von Dir verarscht.
Wir fragen Dich um Informationen und Du gibst uns keine. Wie sollen wir Dir da helfen?

Grüße Uwe

PAXON999:
Es wird nun ausgegeben wenn ich einen Magneten an den Sensor führe, jedoch direkt immer 20 mal oder öfter.

Genau das hast du doch programmiert.

Ulli