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
else if
10.03.2014, 17:36 (Dieser Beitrag wurde zuletzt bearbeitet: 10.03.2014 17:47 von ross.)
Beitrag #9
RE: else if
alles klar - bei "Button" schaltet if die LED an und else aus...
also muss ich noch ein "else if" einfügen?

else if (buttonState == LOW) {
// turn LED on:
digitalWrite(ledPin, HIGH);
}
else {
// turn LED off:
digitalWrite(ledPin, LOW);
}
}

leider bleibt die LED wieder an???

so funktioniert, ist alles korrekt?

if (buttonState == HIGH)

{
// turn LED off:
digitalWrite(ledPin, LOW);

// Program Start
digitalWrite(TRIGPIN, LOW);
delayMicroseconds(2);
digitalWrite(TRIGPIN, HIGH);
delayMicroseconds(10);
digitalWrite(TRIGPIN, LOW);
// Compute distance
float distance = pulseIn(ECHOPIN, HIGH);
distance= distance/58;
Serial.println(distance);
delay(200);


}
else
{
// turn LED on:
digitalWrite(ledPin, HIGH);
}
}
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
10.03.2014, 21:20
Beitrag #10
RE: else if
Zitat:alles klar - bei "Button" schaltet if die LED an und else aus.......
so funktioniert,

gut!!!

ob ALLES korrekt ist? kannst nur Du vor Ort testen - aber ich denk Du bist nen Schritt weiter in Sachen Programmierung.
Ich les gerade noch mal Deinen Eingangspost - in dem Du wohl den vorgegebenen Code (den Du für die LED anpassen wolltest) kopiert hast.

Code:
// check if the pushbutton is pressed.
// if it is, the buttonState is HIGH:
if (buttonState == HIGH)

{
// Program Start.......usw.....

Für Dich ist wichtig, dass die LED leuchtet, wenn Du den Schalter drückst???
und Du somit erkennst, dass das Programm läuft?

umgekehrt - soll die LED nicht leuchten, wenn der Button nicht gedrückt wird..
und hier definierst Du es auch
Zitat:if (buttonState == HIGH)

{
// turn LED off: mach dat Ding AUS Smile und genau das sagst Du dem Board mit folgendem:
digitalWrite(ledPin, LOW.....

leuchtet jetzt nicht nur die LED an der von Dir gewünschten Stelle - sondern funktioiert auch der Rest in Deinem Programm, dann hast Du nicht viel falsch gemacht.

Sicher, wird der ein oder andere hier noch eine elegantere Lösung anbieten.
Aber wenn es so funktioniert, wie Du es willst.

kann eigentlich nicht mehr viel falsch sein Big Grin

Greetz
Sloompie

Dimidium facti, qui coepit, habet: SAPERE AUDE, incipe!©Horaz

Vor allem sapere aude! oder wie Immanuel Kant sagt:
"Habe Mut, dich deines eigenen Verstandes zu bedienen!"

Es tut auch nicht weh! Daher: incipe! oder Tu es! wie Yoda sagen würde.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
12.03.2014, 09:03
Beitrag #11
RE: else if
wie kann ich zwei programme mit "if" aufteilen wenn die auch mit if und else arbeiten?

Knopf aus - Programm A läuft, Knopf ein Programm B
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
12.03.2014, 09:17
Beitrag #12
RE: else if
(12.03.2014 09:03)ross schrieb:  wie kann ich zwei programme mit "if" aufteilen wenn die auch mit if und else arbeiten?

Knopf aus - Programm A läuft, Knopf ein Programm B

Solange du die Klammern richtig setzt, kannst du das beliebig tief schachteln:

Hier als Pseudocode:
Code:
if (bedinung1)
{
  if (bedingung2)
  {
    // etwas machen
  }
  else
  {
     // etwas anderes machcen
  }
}
else
{
  if (bedingung3)
  {
    // noch was anderes. hier könnte auch wieder ein if stehen
  }
  else
  {
    // ...
  }
}

Alternativ kannst du die inneren Teile auch in Funktionen auslagern.
Siehe dazu hier: http://arduino.cc/de/Reference/FunctionDeclaration oder einfach nach "arduino functions" googlen.

Gruß, Alex
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
14.03.2014, 10:53
Beitrag #13
RE: else if
Danke für Tips (klammer), es funktioniert
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
30.09.2015, 13:57
Beitrag #14
RE: else if
Hallo Leute,

ich bin absoluter neuling und versuche meine ersten Schritte Arduino. Jetzt habe ich was programiert und es leuft nicht Huh

ich bekomme ständig die Meldung:

Robi-2.ino: In function 'void loop()':
Robi-2:38: error: 'else' without a previous 'if'

Was hab ich denn falsch gemacht??

Kann mir jemand helfen??

int moli=2; //Antrieb Links auf pin2
int more=3; //Antrieb Rechts auf pin3
int zuruck=4; //Relais zum umschalten vor oder zurück Fahrt auf pin4
int bumper=5; //Bumper auf pin5
int bumperstatus=0; //Taster gedrückt oder nicht
int richtung=0; //Drehrichtung grade zahl= rechtsherum, ungradezahl=linksherum


void setup()
{
pinMode(moli,OUTPUT); //moli ist ein ausgang
pinMode(more,OUTPUT); //more ist ein ausgang
pinMode(zuruck,OUTPUT); //zuruck ist ein ausgang
pinMode(bumper,INPUT); //bumper ist ein eingang

}

void loop()
{
bumperstatus=digitalRead(bumper);

if(bumperstatus==HIGH); //wenn Bumper gedrückt
{
digitalWrite(moli,LOW); //Motor Links aus
digitalWrite(more,LOW); //Motor rechts aus
delay(500); //warten 0,5 sekunden
digitalWrite(zuruck,HIGH); //auf rückwerts schalten
delay(500); //warten 0,5 sekunden
digitalWrite(moli,HIGH); //Motor Links an
digitalWrite(more,HIGH); //Motor rechts an
delay(2000); //warten 2 sekunden
digitalWrite(moli,LOW); //Motor Links aus
digitalWrite(more,LOW); //Motor rechts aus
delay(500); //warten 0,5 sekunden
digitalWrite(zuruck,LOW); //auf vorwerts schalten
delay(500); //warten 0,5 sekunden
}
else //ansonsten
{
digitalWrite(moli,HIGH); //Motor Links an
digitalWrite(more,HIGH); //Motor rechts an
}
}

Ich hab doch vor dem else Befehl ein if ! was will der denn von mir AngryHuh
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
30.09.2015, 15:49 (Dieser Beitrag wurde zuletzt bearbeitet: 30.09.2015 16:02 von hotsystems.)
Beitrag #15
RE: else if
Hallo Neoneo23,

Eine neue Frage gehört auch in einen neuen Thread.

Aber hier zu deinem Problem:
hinter die "if-Anweisung" gehört kein Semikolon ";", nehme das weg und das sieht besser aus.

I2C = weniger ist mehr: weniger Kabel, mehr Probleme. Cool
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Gehe zu:


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