- 3D-Druck Einstieg und Tipps         
Ergebnis 1 bis 10 von 11

Thema: Arduino-Code: fehlende Definition, benötige Hilfe

Baum-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    31.03.2014
    Beiträge
    173

    Arduino-Code: fehlende Definition, benötige Hilfe

    Hallo,

    um mal mit meinen Anfänger-Arduino-Kenntnissen weiterzukommen habe ich mir ein Buch gekauft, welches ich nun Seite für Seite abarbeite. Es handelt sich um das Buch

    MUSIK MIT DEM ARDUINO UND MIDI vom FRANZIS-VERLAG

    Leider scheint das Buch an einigen Stellen fehlerhaft zu sein, denn die enthaltenen Hinweise und Codes funktionieren manchmal nicht. Auf Seite 72 z.B. steht ein Beispielcode, um ein Lauflicht mit einem kurzen Tasterdruck an-, später dann mit nochmaligem kurzen Tasterdruck wieder auszuschalten.
    Hier der Code (zur besseren Übersicht habe ich alle Anmerkungen entfernt, nur die Befehlszeilen belassen):


    Code:
    const int LED_PINS[] = {2, 3, 4, 5};
    const int PUSH_BUTTON = 6;
    int buttonStateOld = 0;
    bool buttonFlag = false;
    
    void setup() 
    {
      for (int a=0; a<4; a++)
      {
        pinMode(LED_PINS[a], OUTPUT);
        }
      pinMode(PUSH_BUTTON, INPUT);
    }
    
    void loop() 
    {
      if (buttonState != buttonStateOld)
      {
        if(buttonState == HIGH)
        {
          if(buttonFlag == false)
          {
            buttonFlag = true;
          }
          else
          {
            buttonFlag = false;
          }        
        }
        buttonStateOld = buttonState;
      }
      if(buttonFlag == true)
      {
        for(int a=0; a<4; a++)
        {
          digitalWrite(LED_PINS[a], HIGH);
          delay(200);
        }
        for(int a=0; a<4; a++)
        {
          digitalWrite(LED_PINS[a], LOW);
          delay(200);      
        }  
      }
    }

    Unter "void loop" gibt es gleich den "if"-Befehl:


    Code:
      if (buttonState != buttonStateOld)

    Allerdings wurde im FRANZIS-Buch der "buttonState" als Variable im Definitions-Bereich des Codes nicht deklariert, was folgerichtig zu einer Fehlermeldung führt. Lediglich "buttonStateOld" wird dort deklariert.
    Das FRANZIS-Buch ist - sagen wir mal - in seinen Hinweisen und Hilfestellungen durchwachsen. Einerseits genau das, was ich vorhabe (MIDI- bzw. HUI-Controller mit dem Arduino bauen), aber die Befehle und Werte, die zum Einsatz kommen, werden teilweise nicht einmal erklärt. Bei meiner Google-Suche komme ich dann manchmal auch nicht weiter, so wie in diesem Fall. Kann mir von Euch hier bitte jemand helfen?

    Ich habe zunächst versucht, im Definitions-Bereich zusätzlich die Zeile für "int buttonState = " einzufügen und mit einem Wert zu versehen, aber da komme ich nicht weiter. Bei "int buttonStateOld =" steht: 0
    Was genau bedeutet eigentlich dort diese Null? Sie ist ja nicht dasselbe, wie die Zahlen bei "const int", wo 2, 3, 4 usw. den zugehörigen PIN des Arduino definieren. Die Null gibt ja hier keine PIN-Nr. an. Bedeutet "0" bei "int buttonStateOld" dasselbe wie LOW, und daraus folgernd müsste "1" dasselbe wie HIGH bedeuten? Oder wofür steht dort der Wert "0"?

    Ich habe es für "int buttonState =" versucht mit folgenden Werten:

    0
    1
    255
    true
    false

    aber alles ohne Erfolg. Zwar wird nun bei der Überprüfung des Codes in allen Varianten kein Fehler mehr angezeigt, aber funktionieren tut es trotzdem nicht. Fakt ist, dass "buttonState" definiert werden muss. Aber mit welchem Wert bzw. Befehl? Und "warum" mit welchem Wert bzw. Befehl?

    Kann mir von Euch jemand hier bitte helfen? Gern auch www-Links, die ich bisher möglicherweise noch nicht entdeckt habe?

    Andi
    Geändert von Andi#87 (17.03.2023 um 21:29 Uhr)

Ähnliche Themen

  1. Antworten: 0
    Letzter Beitrag: 29.01.2013, 20:33
  2. Bascom code auf Arduino Board Flashen **Hilfe**
    Von KoaxPilot im Forum Microcontroller allgemeine Fragen/Andere Microcontroller
    Antworten: 13
    Letzter Beitrag: 23.06.2011, 10:14
  3. Benötige Hilfe bei der CC2 auf RP5
    Von blade im Forum C-Control II
    Antworten: 28
    Letzter Beitrag: 19.03.2006, 18:02
  4. Hilfe: BASCOM Definition files?
    Von reiner im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 2
    Letzter Beitrag: 17.12.2005, 16:03
  5. benötige Hilfe bei meinem Code
    Von Reeper im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 5
    Letzter Beitrag: 09.12.2005, 16:36

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Labornetzteil AliExpress