Code funktioniert nicht wie gewünscht

Hallo ich bin neu im Forum.
Gestern ist mein Arduino von elegoo angekommen: https://www.amazon.de/Set-Kit-für-Arduino-Mikrocontroller/dp/B01IHCCKKK/ref=sr_1_1?ie=UTF8&qid=1533912644&sr=8-1&keywords=elegoo+ultimate+starter+kit .
Ich habe ein bisschen herumexperimentiert Turtorials geschaut und jetzt komm ich einfach nicht weiter weil der Code nicht funktioniert wie gewünscht.

Also zuerst habe ich ein video über den ultraschallsensor geschaut: MIDI-Controller selber bauen (E08) Ultraschall-Sensor HC-SR 04 mit Arduino Tutorial - YouTube den Code habe ich nicht verstanden aber es hatt gaklappt.
Jetzt wollte ich, dass eine rote LED leuchtet wenn etwas näher als 40 cm vom Sensor entfern ist das klappt

auch aber wenn ich die hand wieder weghalte leuchtet die Led weiter. Mein Code:

int trigger = 2;
int echo = 3;
long messung = 0;
int ergebnis = 0;
int rot = 6;

void setup() {
Serial.begin(9600);
pinMode(trigger, OUTPUT);
pinMode(echo, INPUT);

 
}

void loop() {

 label:
 
digitalWrite(trigger, LOW);
delayMicroseconds(2);
digitalWrite(trigger, HIGH);
delayMicroseconds(10);
digitalWrite(trigger, LOW);

messung = pulseIn(echo, HIGH);
ergebnis = (messung/2)/29;

Serial.print(ergebnis);
delay(60);
if(ergebnis<40) {
 digitalWrite(rot, HIGH);
 delay(10);
}

else { goto label;
}
}

Und noch ne Frage kann man irgendwie einstellen, dass die messwerte vom seriellen Monitor von oben nach unten und nicht von links nach rechts angezeigt werden?
Ich hoffe jemand kann mir helfen.

Serial.print(ergebnis);
Serial.println(ergebnis);

if(ergebnis<40) {
~~ digitalWrite(rot, HIGH);~~
~~ delay(10);~~
}

digitalWrite(rot, ergebnis<40&&ergebnis>0);

Danke funktioniert! Aber den neuen Code verstehe ich nicht.

Ich hab eben rumprobiert der erste Versuch sah anders aus. Newbie eben (-:

Loop ist eine Schleife. Was soll also der Quatsch mit dem goto?

&&

Ok die rote Led leuchtet wenn beides zutrifft, aber warum hat mein Code nicht funktioniert mal angenommen ohne das else mit dem goto(so war es ja am Anfang).

aber warum hat mein Code nicht funktioniert

Weil du den Rückgabewert von pulseIn() noch nicht mal ignorierst. Den lässt du dir ja noch noch mal ausgeben. Sonst würdest du selber drauf kommen.....

Lese bitte in der Referenz nach, wie pulseIn() funktioniert.

Tipp(für die Zukunft): Videos können den Blick in die Referenz/Doku nicht ersetzen. Andersrum ja, Programmier-Video sind im Grunde überflüssig.

Und wo kann man nachlesen wie man z.B. das LCD Display anschließt?

Timbo3: Und wo kann man nachlesen wie man z.B. das LCD Display anschließt?

hast du keine Unterlagen vom Lieferanten erhalten ? Was ist das für ein LCD ?

Mehr als ein Blatt habe ich nicht.

Edit:
display 1602a

WIN_20180810_17_33_50_Pro.jpg

Timbo3: Mehr als ein Blatt habe ich nicht.

Dann hast du wohl den falschen Lieferanten gewählt.

Wenn du uns nicht sagen willst, was du für ein Display hast, können wir nicht helfen.

display 1602a

Timbo3: display 1602a

Mit oder ohne I2C ?

Aber Google kannst du bedienen?

ohne I2C dann hier: https://funduino.de/nr-13-lcd-display

Ich hoffe, den Rest bekommst du alleine klar ?

Hi

Wenn's ein LCD mit zwei Zeilen und 16 Zeichen pro Zeile ist, kann man sich bei SPRUT, Seite LCD sehr gut einlesen. Hat allerdings NICHTS mit Arduino zu tun, sonder damit, wie so ein LCD 'tickt'. Dort erfärst Du, wie man ein LCD in 8-Bit oder 4-Bit-Modus ansteuert.

Gleiches kann auch so ziemlich jede LCD-Library auf dem Arduino. DOrt gibst Du an, wie das Display angesteuert wird (bzw. hierzu suchst Du die passende Library heraus), gibst die Pins an (bei 4/8 Bit oder SPI), sagst dem µC noch, wie groß das Ding ist (16,02) und schaust, ob eines der Beispiele bei Dir so läuft.

Ist das ein nacktes Display, oder ist dort eine Zusatz-Platine dran? Mit dieser Zusatz-Platine kannst Du das Display per I²C ansprechen, selber wird Das dann intern im 4-Bit-Modus bedient - kann Dir aber egal sein.

MfG

PS: Der Fundino-Link hier drüber sollte genau für Dich passen, wenn das Display KEINE Zusatz-Platine hat.

Hi,

ich nehme mal an, die CD in dem Set ist nur als Untersetzer gedacht, und daß da keine Anleitung oder gar Beispiel-Sketches drauf sind? Sorry. Aber ich habe mit einem ganz ähnlichem Set angefangen, gleiche Firma, und fand es eigentlich ausreichend dokumentiert, dafür daß es vom FC ist ...

Gruß André

Timbo3: Und wo kann man nachlesen wie man z.B. das LCD Display anschließt?

https://www.mymakerstuff.de/2016/05/10/arduino-tutorial-das-lcd-display/