in meiner sketch lese ich nun die werte aus.
das erstaunlich ist, dass ohne magnet sowohl der digitale als auch der analoge input wie verrückt zählt.
digital geht von 0 auf 1
analog hat unnachvollziehbare werte - immer was neues.
zusätzlich ist auf dem modul eine power led und eine sensor led verbaut.... da leuchtet aber rein gar nichts
eigentlich sollte nur wenn ein magnet vorbeikommt der wert verändert werden?
sketch:
const int sensorPin = 12;
const int analogPin =0;
const int ledPin = 13;
int sensorState = 0;
float sensorAnalogValue = 0;
void setup() {
pinMode(ledPin, OUTPUT);
pinMode(sensorPin, INPUT);
pinMode(analogPin, INPUT);
Serial.begin(9600);
}
void loop(){
sensorState = digitalRead(sensorPin);
sensorAnalogValue = analogRead(analogPin);
Serial.println(514-sensorAnalogValue);
Serial.print("Digital");
Serial.println(sensorState);
delay(250);
if (sensorState == LOW) {
digitalWrite(ledPin, HIGH); // Turn on LED
}
else {
digitalWrite(ledPin, LOW); // Turn off LED
}
}
Hast du bereits den Verkäufer angeschrieben? Das deine Werte so zappeln, liegt vermutlich daran, dass du die DO falsch angeschlossen hast. Ist es hier ein OpenKollektor Ausgang?
hallo uwe, erstmal danke für die antwort, habe soeben die analoge geschichte entfernt. resultat ist, dass nun der digitale input zwischen 0 und 1 springt - ohne dass ich was mache????
also 0,1,1,1,0,1,.......
@sschulte....
nein ich habe d0 und a0 nicht verwechselt. hatte bisher nur d0 vcc und gnd verbunden. mit dem gleichen resultat. nämlich, dass der input in einer tour läuft und nicht auf ein schaltereignis wartet.
ob das modul ein open collector ist weiss ich nicht, ich bin elektronik neuling und wollte lediglich eine art drehzahlmesser bauen.
tx peter
epeter:
ob das modul ein open collector ist weiss ich nicht, ich bin elektronik neuling und wollte lediglich eine art drehzahlmesser bauen.
Erstmal ein Tipp: Kaufe Dir keine Hardware, zu der Du keine technischen Angaben, keine Datenblätter und keine Programmierbeispiele finden kannst!
Wenn Dein Sensor mit 5V Betriebsspannung arbeitet (steht das irgendwo?) und wenn er einen Open-Collector Ausgang hat, dann müßtest Du in Deiner Schaltung wenigstens noch einen PullUp-Widerstand am Digitalpin verwenden. Notfalls zum Ausprobieren erstmal den internen PullUp aktivieren, statt:
pinMode(sensorPin, INPUT);
setze:
pinMode(sensorPin, INPUT_PULLUP);
Auf den PullUp muss nur dann verzichtet werden, wenn der Ausgang des Sensors ein Push-Pull-Ausgang ist.
Welcher Art der Ausgang des Moduls ist, sollte aus der Schaltung, Dokumentation oder dem Datenblatt hervorgehen.
Geht denn die "Sensor" LED auf dem Modul an, wenn Du einen starken Magneten nah am Sensor vorbeiführst?
BTW: Testen von Hardware in Unkenntnis des Datenblatts: Immer auf eigene Gefahr des Experimentators!
Ist das nicht der digitale Pin 0? Analog-Pin 0 ist A0.
Man kann glaube ich auch die Analog Pins mit Zahlen ansprechen, aber die haben dann andere Werte. Ich glaube ab dem höchsten Digital Pin. Aber da bin ich mir nicht sicher.
EDIT:
Laut Visual Studio ist die Konstante A0 als static const A0 = (uint8_t)'6' definiert, was 54 wäre. Das wäre dann eins über dem höchsten Pin des Mega
EDIT2:
Das gilt nur für den Mega. Auf dem UNO ist A0 '\016'
danke für de A0, das war natürlcih falsch. habe ich korrigiert - nichts anderes.
@ jurs
INPUT_PULLUP ... auf meiner installation ist INPUT_PULLUP nicht definiert..... muss ich morgen reparieren wie in den diversen threads beschrieben.
zum datenblatt: ich war davon ausgegangen ein solches zu erhalten (amazon subhändler ... aber nix) jedenfalls ist es das Recommendations For You - DealeXtreme
die beschreibung ist:
Color: Black
Material: PCB
AO: Sensor analog output
GND: Ground
VCC: Power input (3~24V)
DO: Digital output (comparator output)
Suitable for testing magnetic field
mehr gibts dazu leider nicht.
@jurs: nein die led geht nicht an. magnet stammt von meinem motorrad tacho und sollte stark genug sein ????
das alles auf eigene gefahr ist, und der tester auch coden können muss .... da muss ich durch
epeter:
INPUT_PULLUP ... auf meiner installation ist INPUT_PULLUP nicht definiert..... muss ich morgen reparieren wie in den diversen threads beschrieben.
Was ist das für eine "Installation"?
Arduino-Software 1.0.5 oder was anderes?
Und was für ein "Arduino-Board" verwendest Du?
Auf einem Arduino-UNO und der Arduino-Software 1.0.x wäre es bei analogRead beispielsweise vollkommen egal, ob Du "0" oder "A0" als Parameter verwendest. Aber das ist nicht bei jedem Board der Fall. Und bei der Arduino-Version für den DUE 1.5.x glaube ich auch nicht.
Was bedeutet es, dass der DIGITALE Ausgang als Comperator genutzt wird? Ein Comperator ist für mich eigentlich ein Ausgang, der je nach dem AN oder AUS geht, ob Wert1 größer Wert2 oder Wert 2 größer Wert1 ist. Was soll dieser hier vergleichen, bzw. zurückliefern?
Edit: Datenblätter werden meist bei solchen Angeboten nicht mitgeschickt. Auch ist die Beschreibung meist doch recht fehlerhaft! Das beste ist es, vor dem Kauf genau zu schauen, ob das Modul überhaupt eingesetzt werden kann. "Modul + Arduino" sollte bei Google meist ausreichen. Die entsprechenden Thread haben dann auch meist irgendwo die Datenblätter hinterlegt.
sschultewolter:
Was bedeutet es, dass der DIGITALE Ausgang als Comperator genutzt wird? Ein Comperator ist für mich eigentlich ein Ausgang, der je nach dem AN oder AUS geht, ob Wert1 größer Wert2 oder Wert 2 größer Wert1 ist. Was soll dieser hier vergleichen, bzw. zurückliefern?
Nein, der Operationsverstärker auf der Platine wird als Komparator verwendet. Er vergleicht das analoge Signal des Sensors mit einer Referenz (eine Spannung die mittels Spannungsteiler prodziert wird) und gibt LOW bzw HIGH aus jenachdem ob die Sensorsannung kleiner oder Größer der Referenzspannng ist.
Grüße Uwe
Das beste ist es, vor dem Kauf genau zu schauen, ob das Modul überhaupt eingesetzt werden kann. "Modul + Arduino" sollte bei Google meist ausreichen.
Die freundlichen Chinesen bei ebay wissen, dass sie viel mehr Käufer finden, wenn sie das Wort "Arduino" im Titel angeben.
Für unsereins ist es ein Hinweis, dass es oft ein Nachbau ( oder sagt man second source ?) von etwas ist, was es auch sauber dokumentiert bei adafruit etc. gibt. Was beim Nachbau dann eingespart wurde, bleibt dann das spannende
das alles auf eigene gefahr ist, und der tester auch coden können muss .... da muss ich durch
Amazon - Beschreibung beschränkt sich gern auf "Geben Sie die erste Bewertung für diesen Artikel ab"
Hier in deinem Link sind immerhin ein paar Kundenkommentare:
Beware it's a digital sensor, so no strength of field is reported, but uses the Hall efect to trigger a Schmidtt circuitry and give the output.