oderlachs
08.02.2014, 17:14
Hallo Freunde !
Wenn ich hier frage, so weiss ich nicht mehr aus noch ein mit meinem Problem, es geht um einen Ultraschall Sensor HC-SR04, der mir die "Brotpreise von Chikago" anzeigt aber keine reale Entfernungen.
Gewiss kann es auch an der Software liegen, als erstes habe ich mit der ArduinoLib : Ultrasonic.h von GitHub gearbeitet, da ging gar nix.
Nun habe ich ein Beispiel aus dem Web probiert, was mir ja eigendlich von der Funktion her logisch erschien, aber diese irrelevanten Werte oder Zufallswerte bei der Entfernung lassen mich an mir selber Zweifeln.
habe mit mehreren Sensoren probiert, alle das selbe komische Ergebnis. kann mir wer helfen ???
Danke und Gruss
Gerhard
Hier nun der von mir benutzte Code:
/* ================================================== ======================== */
/* */
/* Testprogramm für US sensor HC-SR04 */
/* */
/* ================================================== ======================== */
#define trigPin 5
#define echoPin 6
#define led 13
/* ================================================== ======================== */
/* */
/* */
/* */
/* ================================================== ======================== */
void setup() {
Serial.begin (9600);
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
pinMode(led, OUTPUT);
}
/* ================================================== ======================== */
/* */
/* */
/* */
/* ================================================== ======================== */
void loop() {
long duration, distance;
digitalWrite(trigPin, LOW); // Added this line
delayMicroseconds(2); // Added this line
digitalWrite(trigPin, HIGH);
// delayMicroseconds(1000); - Removed this line
delayMicroseconds(10); // Added this line
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
distance = (duration/2) / 29.1;
if (distance < 4) { // This is where the LED On/Off happens
digitalWrite(led,HIGH);
}
else {
digitalWrite(led,LOW);
}
if (distance >= 200 || distance <= 0){
Serial.println("Out of range");
}
else {
Serial.print(distance);
Serial.println(" cm");
}
delay(500);
}
/* ================================================== ======================== */
/* */
/* */
/* */
/* ================================================== ======================== */
Wenn ich hier frage, so weiss ich nicht mehr aus noch ein mit meinem Problem, es geht um einen Ultraschall Sensor HC-SR04, der mir die "Brotpreise von Chikago" anzeigt aber keine reale Entfernungen.
Gewiss kann es auch an der Software liegen, als erstes habe ich mit der ArduinoLib : Ultrasonic.h von GitHub gearbeitet, da ging gar nix.
Nun habe ich ein Beispiel aus dem Web probiert, was mir ja eigendlich von der Funktion her logisch erschien, aber diese irrelevanten Werte oder Zufallswerte bei der Entfernung lassen mich an mir selber Zweifeln.
habe mit mehreren Sensoren probiert, alle das selbe komische Ergebnis. kann mir wer helfen ???
Danke und Gruss
Gerhard
Hier nun der von mir benutzte Code:
/* ================================================== ======================== */
/* */
/* Testprogramm für US sensor HC-SR04 */
/* */
/* ================================================== ======================== */
#define trigPin 5
#define echoPin 6
#define led 13
/* ================================================== ======================== */
/* */
/* */
/* */
/* ================================================== ======================== */
void setup() {
Serial.begin (9600);
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
pinMode(led, OUTPUT);
}
/* ================================================== ======================== */
/* */
/* */
/* */
/* ================================================== ======================== */
void loop() {
long duration, distance;
digitalWrite(trigPin, LOW); // Added this line
delayMicroseconds(2); // Added this line
digitalWrite(trigPin, HIGH);
// delayMicroseconds(1000); - Removed this line
delayMicroseconds(10); // Added this line
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
distance = (duration/2) / 29.1;
if (distance < 4) { // This is where the LED On/Off happens
digitalWrite(led,HIGH);
}
else {
digitalWrite(led,LOW);
}
if (distance >= 200 || distance <= 0){
Serial.println("Out of range");
}
else {
Serial.print(distance);
Serial.println(" cm");
}
delay(500);
}
/* ================================================== ======================== */
/* */
/* */
/* */
/* ================================================== ======================== */