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
Variablen addieren
13.05.2014, 18:04
Beitrag #1
Variablen addieren
Hallo Forum,

ich bin gerade bei einem Projekt an dem ich einem Code programmiere, der beim drücken eines Schalters eine grüne LED anschalten soll und beim zweiten mal drücken eine rote LED anschalten soll. Danach soll wieder alles von vorn anfangen.
Mein Code der nicht funktioniert:

int buttonPin = 11; // Schalter
int ledGruen = 13; // Grün
int ledRot = 12; // Rot

int buttonState = 0;

void setup() {

pinMode(ledGruen, OUTPUT);

pinMode(buttonPin, INPUT);

pinMode(ledRot,OUTPUT);

Serial.begin(9600);

}

void loop(){

buttonState = digitalRead(buttonPin);
int zweifach = 0; // 0 zuweisen


if (buttonState == HIGH) {

digitalWrite(ledGruen, HIGH); // Grün an

zweifach = zweifach + 1 ; // +1

}
else {

digitalWrite(ledGruen, LOW); // Grün aus
}

while ( zweifach = 2 )
{
digitalWrite(ledRot, HIGH); // Rot an
}

Serial.print(zweifach);

}

---------------------------------------------------------------

Weis jemand den Fehler ??

Danke,
H. Schutter
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
13.05.2014, 18:11
Beitrag #2
RE: Variablen addieren
Hallo Hendrik,

kannst du (genauer) sagen was nicht funktioniert bzw. wie er der Code aktuell "reagiert". Dann sucht es sich einfacher nach dem Fehler

Grüße Ricardo

Nüchtern betrachtet...ist besoffen besser Big Grin
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
13.05.2014, 18:13
Beitrag #3
RE: Variablen addieren
Hallo rkuehle,

wenn ich den Code hochlade, geht sofort das rote LED an. Beim drücken passiert nichts.

Danke für deine Antwort
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
13.05.2014, 18:16
Beitrag #4
RE: Variablen addieren
Hallo Hendrik,
benutzt Du einen Taster? Dann kann es sein das du ihn entprellen must. Gibt hier sicher genug Beispiele. Die While Anweisung finde ich ungünstig, da sie für Schleifen mit bedingten Abbrüchen gedacht ist. Nur ändert sich in Deiner Schleife nichts und wird somit leicht zur Endlosschleife.

Gruß Sven

Nichts auf der Welt ist unnütz, es kann im schlimmsten Fall immer noch als schlechtes Beispiel dienen.
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
13.05.2014, 18:42
Beitrag #5
RE: Variablen addieren
Hallo Eichner,
ja ich benutze eine Taster. Die While Anweisung finde ich auch irgendwie unpraktisch, soll ich es mal mit einer if Anweisung probieren??
Das eigentliche Problem ist wie ich die if Anweisung dazu zubekommen nur alle zwei mal das LED anzuschalten.

Danke für deine Antwort
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
13.05.2014, 19:03
Beitrag #6
RE: Variablen addieren
Hallo Hendrik,

versuche mal diesen Code:
Code:
const int buttonPin = 11; // Schalter
const int ledGruen = 13; // Grün
const int ledRot = 12; // Rot

int buttonState = 0;
int lastButtonState = 0;
int buttoncount = 0;

void setup() {
  pinMode(ledGruen, OUTPUT);
  pinMode(buttonPin, INPUT);
  pinMode(ledRot, OUTPUT);
}
void loop()
{
  buttonState = digitalRead(buttonPin);
  if (buttonState != lastButtonState)
  {
    buttoncount++;
    if (buttonState == HIGH) // wenn button gedrückt
    {
      if (buttoncount == 1)
      {
        digitalWrite(ledRot, LOW); // Rot aus
        digitalWrite(ledGruen, HIGH); // Grün an
        if (buttoncount == 2)
        {
          digitalWrite(ledGruen, LOW); // Grün aus
          digitalWrite(ledRot, HIGH); // Rot an
          buttoncount = 0;
        }
      } else {} // wenn button nicht gedrückt
    }
  }
  lastButtonState = buttonState;
}
Sag mal was passiert.

Bei der Verkabelung solltest du aufpassen um den Button zu entsprellen:
- ein Ende an 5V
- das andere Ende an den Buttonpin des Arduino
- dann noch einen Widerstand (so um die 10 K) vom Buttonpin nach GND
Grüße Ricardo

Nüchtern betrachtet...ist besoffen besser Big Grin
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
13.05.2014, 19:08
Beitrag #7
RE: Variablen addieren
Danke für den Sketch!!

den Taster habe ich richtig angeschlossen( 10KOhmen und so) und er hatt auch schon funktioniert.
Aber dein Sketch geht auch nicht. Nach dem hochladen bleiben alle LED aus und beim drücken geht das grüne an. Dann geht nix mehr.

Danke für die Hilfe, ich werde morgen noch mal drangehn
Das muss doch irgenwie klappen ;-)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
13.05.2014, 19:14
Beitrag #8
RE: Variablen addieren
Sorry,

mein Fehler. Hatte die Klammern falsch gesetzt.
Hier der korrigierte Code:
Code:
const int buttonPin = 11; // Schalter
const int ledGruen = 13; // Grün
const int ledRot = 12; // Rot
int buttonState = 0;
int lastButtonState = 0;
int buttoncount = 0;
void setup() {
  pinMode(ledGruen, OUTPUT);
  pinMode(buttonPin, INPUT);
  pinMode(ledRot, OUTPUT);
}
void loop()
{
  buttonState = digitalRead(buttonPin);
  if (buttonState != lastButtonState)
  {
    buttoncount++;
    if (buttonState == HIGH) // wenn button gedrückt
    {
      if (buttoncount == 1)
      {
        digitalWrite(ledRot, LOW); // Rot aus
        digitalWrite(ledGruen, HIGH); // Grün an
      }
      if (buttoncount == 2)
      {
        digitalWrite(ledGruen, LOW); // Grün aus
        digitalWrite(ledRot, HIGH); // Rot an
        buttoncount = 0;
      }
    } else {} // wenn button nicht gedrückt
  }
  lastButtonState = buttonState;
}

Grüße Ricardo

Nüchtern betrachtet...ist besoffen besser Big Grin
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  Variablen over/underflow "deaktivieren" Scheams 6 225 23.06.2016 16:36
Letzter Beitrag: Scheams
Exclamation String Zerlegen in drei Variablen Wampo 4 854 28.12.2015 01:07
Letzter Beitrag: Wampo
  Plausibiltätsprüfung Variablen ??? MaHaI976 10 832 16.10.2015 17:39
Letzter Beitrag: MaHaI976
Information Rechnen mit variablen Jim 3 1.828 22.05.2015 16:44
Letzter Beitrag: Jim
  Variablen Fehler bei TFT Display Xwill 1 810 08.05.2015 13:10
Letzter Beitrag: Thorsten Pferdekämper
  Due: freier Speicher für Variablen während der Laufzeit? HaWe 8 1.398 28.04.2015 08:22
Letzter Beitrag: tito-t
  Variablen per WIFI zwischen 3 Arduinos versenden Daewid 4 797 23.04.2015 01:22
Letzter Beitrag: Daewid
  Variablen Typ double, char, long aus ext. EEPROM lesen SternGucker 8 1.538 02.04.2015 08:10
Letzter Beitrag: SternGucker
  Probleme mit Variablen Johngun 3 629 07.03.2015 02:37
Letzter Beitrag: Johngun
  Probleme mit einer Variablen scritch 12 1.705 05.12.2014 16:56
Letzter Beitrag: Thorsten Pferdekämper

Gehe zu:


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