-         

Ergebnis 1 bis 5 von 5

Thema: Arduino mega + keypatshield + lcd display,counter zählt bis 32 und dann zurück zu 0.

  1. #1
    Neuer Benutzer
    Registriert seit
    03.04.2013
    Beiträge
    3
    Blog-Einträge
    1

    Arduino mega + keypatshield + lcd display,counter zählt bis 32 und dann zurück zu 0.

    Anzeige

    hasendorf
    am 03.04.2013 um 14:32 (27 Hits)

    Hallo Freunde, das ist derAuszug aus dem Sketch zur Pelletverbrauchsberechnung. Folgendes Problem: Der counter0 zählt die Umdehung der Stokerschnecke und counter1 berechnet den Pelletverbrauch, das klappt auch alles prima, aber bei ca. 32 kg Anzeige erscheint vor der Summe ein Minuszeichen und die Verbrauchsanzeige zählt rückwärts bis 0. Vielleicht kann mir einer der Experten helfen, bin nicht mehr ganz jung (73) und erst seit 6 Mon. begeisterer Arduinofan, somit etwas unerfahren. Meine Suche im Netz zum Problem war bisher erfolglos.
    Würde mich über Hilfe freuen.

    void irq_Svc0() // Entprellung, Zähler, Verbrauchsberechnung
    {
    if (inputpin2==HIGH)
    if(debounce(inputpin2))
    digitalWrite(inputpin2,HIGH);
    long unsigned act_IRQ0; // Umdrehungen der Stokerschnecke zählen,
    act_IRQ0=millis();
    {
    counter0++; // Zähler für Stokerschnecke,
    counter1=counter0*1/10; // Zähler durch 10 teilen zur LCD Anzeige,
    if(counter1>20000)counter1=0; // Zähler: gültiger Zustandswechsel, bei 4140 kg reset,
    last_IRQ0 = act_IRQ0;
    long unsigned act_counter1;
    var=counter1 *207/1000; // Pelletverbrauch berechnen, 1 Umdr.= 20,725 gr. Pellets,
    if (Serial.read()== ';') // Pelletverbrauch an LCD ausgeben,
    Serial.println( var);
    Serial.print( var);
    }
    {
    val=digitalRead(inputpin2); // LED - Umdrehungsanzeige Stokerschnecke,
    if(val==LOW)
    digitalWrite(led13,HIGH); // LED Pin 13
    delay(2000),
    digitalWrite(led13,LOW);
    }
    }

  2. #2
    Erfahrener Benutzer Robotik Visionär Avatar von Hubert.G
    Registriert seit
    14.10.2006
    Ort
    Pasching OÖ
    Beiträge
    6.190
    Wo ist counter0 definiert?
    Sieht so aus als wäre counter0 signed
    Grüsse Hubert
    ____________

    Meine Projekte findet ihr auf schorsch.at

  3. #3
    Neuer Benutzer
    Registriert seit
    03.04.2013
    Beiträge
    3
    Blog-Einträge
    1
    Zitat Zitat von Hubert.G Beitrag anzeigen
    Wo ist counter0 definiert?
    Sieht so aus als wäre counter0 signed
    Hallo, danke für die schnelle Reaktion, Ausschnitt aus dem Sketch.

    PCF8583 rtc (0xA0); // Instanz fürRTC:
    LiquidCrystal lcd(8, 9, 4, 5, 6, 7); // Instanz für LCD + Tastatur:
    OneWire ds(3); // Instanz für 1Wire Bus(PIN3):
    //-------------------------------------------------------------------------
    int lcd_key = 0; // Definieren von Werten der LCD-Anzeige mit den Tasten:
    int lcd_key_prv = 0;
    int adc_key_in = 0;
    int number_screen = 1; // erstes Bild aufrufen
    int Pellet = 0;
    int var = 0;
    int led13 = 13;
    int inputpin2 = 2; // Zählimpuls Pin 2
    int val = 0;
    int lcd_bl = 1; // Bild Nr..., zur Anzeige:
    int debounceDelay = 1000; // Entprellverzögerung 1 sek
    int counter1 = 0;
    char degree_sign = 0xDF; // Grad Celsius Zeichen auf LCD:
    #define btnRIGHT 0 // Tasten Nr...
    #define btnUP 1
    #define btnDOWN 2
    #define btnLEFT 3
    #define btnSELECT 4
    #define btnNONE 5

  4. #4
    Erfahrener Benutzer Robotik Visionär Avatar von Hubert.G
    Registriert seit
    14.10.2006
    Ort
    Pasching OÖ
    Beiträge
    6.190
    Ich verwende Arduino nur als Hardware und programmiere in C. Von daher habe ich darauf geschlossen das counter0 signed sein muss.
    Mit der Arduino Software habe ich mich nie so richtig beschäftigt.
    In deiner Auflistung steht int counter1 = 0; Man müsst da mal nachsehen wie bei Arduino int definiert ist, oder schreib da mal hin unsigned int.
    counter0 ist da gar nicht dabei.
    Grüsse Hubert
    ____________

    Meine Projekte findet ihr auf schorsch.at

  5. #5
    Neuer Benutzer
    Registriert seit
    03.04.2013
    Beiträge
    3
    Blog-Einträge
    1
    Zitat Zitat von Hubert.G Beitrag anzeigen
    Ich verwende Arduino nur als Hardware und programmiere in C. Von daher habe ich darauf geschlossen das counter0 signed sein muss.
    Mit der Arduino Software habe ich mich nie so richtig beschäftigt.
    In deiner Auflistung steht int counter1 = 0; Man müsst da mal nachsehen wie bei Arduino int definiert ist, oder schreib da mal hin unsigned int.
    counter0 ist da gar nicht dabei.
    Danke an alle, werde alles mal probieren, z.Z. habe ich andere sehr dingende Dinge zu tun.

Ähnliche Themen

  1. Billiges LCD-Display mit Atmega8 und Arduino
    Von Codalibre im Forum Allgemeines zum Thema Roboter / Modellbau
    Antworten: 6
    Letzter Beitrag: 27.05.2013, 15:12
  2. Arduino UNO, MEGA und Bascom
    Von Ripper121 im Forum Arduino -Plattform
    Antworten: 1
    Letzter Beitrag: 27.03.2013, 17:57
  3. Antworten: 2
    Letzter Beitrag: 13.06.2011, 17:43
  4. wie lange Zählt Der counter
    Von becki133 im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 1
    Letzter Beitrag: 10.06.2008, 20:53
  5. welches display und wie steuer ich es dann an
    Von mirco13 im Forum Controller- und Roboterboards von Conrad.de
    Antworten: 4
    Letzter Beitrag: 11.08.2004, 15:01

Stichworte

Berechtigungen

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