- LiFePO4 Speicher Test         
Ergebnis 1 bis 5 von 5

Thema: brauche Hilfe für den einfachsten Sketch

Baum-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #4
    Erfahrener Benutzer Robotik Einstein Avatar von i_make_it
    Registriert seit
    29.07.2008
    Ort
    Raum DA
    Alter
    56
    Beiträge
    2.814
    Mein erstes Arduino Programm sah ähnlich aus (Fußgänger Ampel).
    Ich hatte im Define Teil keine "const" drin.

    Und ich habe durchgängig nur "HIGH" und "LOW" benutzt und keine "0" und "1".
    Als erste Maßnahme kann man mal prüfen welche Werte den "schwelle1" und 2 annehmen.
    Also eine Serielle Übertragung starten und nach der übernahme durch digitalRead mit Serial.print ausgeben und mit dem seriellen Monitor beobachten.

    Denn bis auf die Zuweisung statt des Vergleichs erscheint der Code OK zu sein.
    Und im dem Fall macht er ja was er soll.
    Die Konzequenz daraus wäre, daß das was er macht zwar richtig ist, aber nicht das was Du erwartest.
    Und da bleiben nur die beiden Variablen, die als einziges Zustandsänderungen verursachen können.
    Alo mal nachsehen was die für Werte haben.

    Beispiel für eine serielle Ausgabe in Deinem Code
    Code:
    void setup() {
      Serial.begin(9600); <<<< Serielle Ausgabe starten
      .
      .
      .
    }
    
    
    
    void loop() {
      int schwelle1 = digitalRead(M1);
      int schwelle2 = digitalRead(M2);
     
      Serial.print(schwelle1);   <<<< Wert ausgeben
      Serial.println(schwelle2);  <<<< Wert ausgeben und Zeilenumbruch
    
      if (schwelle1 == 0){
      .
      .
      .
      .
      .
    }
    Hier habe ich mal meinen Code drangehängt. der funktioniert so auf einem Arduino Nano.
    Code:
    int f_tast = 2;
    int a_rot = 3;
    int a_gelb = 4;
    int a_gruen = 5;
    int f_rot = 8;
    int f_gruen = 9;
    int f_lamp_tast = 13;
    int s_licht = A0;
    byte f_press = HIGH;
    
    void setup() {
    pinMode(f_tast, INPUT);
    pinMode(a_rot, OUTPUT);
    pinMode(a_gelb, OUTPUT);
    pinMode(a_gruen, OUTPUT);
    pinMode(f_rot, OUTPUT);
    pinMode(f_gruen, OUTPUT);
    attachInterrupt(0, button, LOW);
    //Serial.begin(9600);
    }
    
    void loop() {
      int sensorValue = analogRead(s_licht);
      //Serial.println(sensorValue);
      // Blinker code zum Prüfen ob Programm läuft 
      digitalWrite(f_lamp_tast, HIGH); //Blinker an Taste fuer Fussgaenger
      delay(500);
      digitalWrite(f_lamp_tast, LOW);
      delay(500);
      
      if (sensorValue > 500){ //Dämmerungswert für Nachtschaltung
      digitalWrite(a_rot, LOW);
      digitalWrite(a_gelb, HIGH); //Autos Gelb für Blinker
      digitalWrite(a_gruen, LOW);
      digitalWrite(f_rot, LOW);
      digitalWrite(f_gruen, LOW);
      delay(500);
      digitalWrite(a_gelb, LOW);
      }
      else {
      digitalWrite(a_rot, LOW);
      digitalWrite(a_gelb, LOW);
      digitalWrite(a_gruen, HIGH); //Autos gruen
      digitalWrite(f_rot, HIGH); //Fussgaenger rot
      digitalWrite(f_gruen, LOW);
      }
    
      // if (digitalRead(f_tast) == LOW){ //Taste Fussgaenger abfragen
      if (f_press == LOW){ //Statusvariable Taste Fussgaenger abfragen
      delay(500);
      digitalWrite(13, HIGH); //Taste Fussgaenger ist gedrueckt worden
      digitalWrite(f_rot, HIGH); //Fussgaenger rot
      digitalWrite(a_gruen, LOW);
      digitalWrite(a_gelb, HIGH); //Autos gelb
      delay(1000); // Autos Gelbphase
      digitalWrite(a_gelb, LOW);
      digitalWrite(a_rot, HIGH); //Autos rot
      delay(1000); // Fussgaenger Wartezeit damit kein Auto mehr fährt
      digitalWrite(13, LOW);
      digitalWrite(f_rot, LOW);
      digitalWrite(f_gruen, HIGH); //Fussgaenger gruen
      delay (6000); //Fussgaenger gruenphase
      digitalWrite(f_rot, HIGH); //Fussgaenger rot
      digitalWrite(f_gruen, LOW);
      delay(1000); //Autos Wartezeit damit kein Fussgaenger mehr laeuft
      digitalWrite(a_gelb, HIGH); //Autos gelb
      delay(1000); // Autos Gelbphase
      f_press = HIGH;
      }
    }
    void button(){
    f_press = LOW;
    }
    Geändert von i_make_it (10.02.2018 um 06:46 Uhr)

Ähnliche Themen

  1. Relai Signal an PC erkennen. Wie ist es am einfachsten zu realisieren?
    Von Earthbound64 im Forum PC-, Pocket PC, Tablet PC, Smartphone oder Notebook
    Antworten: 0
    Letzter Beitrag: 10.10.2013, 00:06
  2. [ERLEDIGT] Am einfachsten im Kreis fahren ?
    Von PICture im Forum Mechanik
    Antworten: 5
    Letzter Beitrag: 05.07.2012, 20:21
  3. [ERLEDIGT] Am einfachsten anfangen ?
    Von PICture im Forum Assembler-Programmierung
    Antworten: 49
    Letzter Beitrag: 17.07.2011, 21:38
  4. [ERLEDIGT] Wie am einfachsten Ausführungszeit Unterprogramms messen?
    Von PICture im Forum PIC Controller
    Antworten: 11
    Letzter Beitrag: 06.05.2006, 23:50
  5. Wie am besten und einfachsten °(Grad) mit LCD anzeigen?
    Von gzah im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 7
    Letzter Beitrag: 09.03.2006, 07:41

Berechtigungen

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

LiFePO4 Speicher Test