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
Zähler zählt nicht
18.01.2021, 22:39
Beitrag #9
RE: Zähler zählt nicht
Das sollte er, wenn Du ihn befolgst, was Du aber nicht tust.

Gruß Tommy

"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
19.01.2021, 20:03
Beitrag #10
RE: Zähler zählt nicht
(18.01.2021 22:39)Tommy56 schrieb:  Das sollte er, wenn Du ihn befolgst, was Du aber nicht tust.

Gruß Tommy
Hallo,
habe Dir mal geglaubt und das Programm so geändert:
Code:
void Tasterabfrage() {
   if (!digitalRead(StopPin)) {
         error ("Programmende!");  
      };
};

void loop() {
  SensorStatus = digitalRead(LichtPin);
  Serial.println (SensorStatus);
  if (SensorStatus != lastSensorStatus) {
    if (SensorStatus == LOW) {    
        Zaehlerstand = Zaehlerstand + 0.01;
        DateTime jetzt = RTC.now();
        dataFile = SD.open(Dateiname, FILE_WRITE);
        dataFile.print(jetzt.day(), DEC);
        dataFile.print(".");
        dataFile.print(jetzt.month(), DEC);
        dataFile.print(".");
        dataFile.print(jetzt.year(), DEC);
        dataFile.print(";");
        dataFile.print(jetzt.hour(), DEC);
        dataFile.print(":");
        dataFile.print(jetzt.minute(), DEC);
        dataFile.print(":");
        dataFile.print(jetzt.second(), DEC);
        dataFile.print(";");
        dataFile.print(Zaehlerstand);
        dataFile.print("\n");
        dataFile.close();
        Serial.print ("Zählerstand: ");
        Serial.println (Zaehlerstand,2);
        lcd.setCursor(0,1); //Text soll beim ersten Zeichen in der ersten Reihe beginnen..
        lcd.print(Zaehlerstand,2); //In der ersten Zeile soll der Text „Test Zeile 1“ angezeigt werden  
        };
     };  
  lastSensorStatus = SensorStatus;
  Tasterabfrage();
  delay(500);
}
Nach dem Studium des IDE-Beispieles nehme ich mal an, Dass Du so etwas meinst. Dann habe ich das neue Programm heute Nachmittag laufen lassen. Das Ergebnis ist so, wie ich es erwartet hatte, es wirkt sich auf den beschriebenen Fehler NICHT aus.
Hier mal ein Ausschnitt aus der erzeugten Datei mit dem Fehler als Bild.
Der Fehler tritt in dieser Art etwa alle 1,5h auf. Eine Erklärung würde mich nach wie vor interessieren.
Gruss, wonk


Angehängte Datei(en) Thumbnail(s)
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
19.01.2021, 20:18
Beitrag #11
RE: Zähler zählt nicht
Wo ist da ein Fehler? Du stellst keine führen 0 bei den Zeitteilen sicher. Die Nachkommastellen sollten eigentlich zweistellig sein, aber inhaltlich passen die Werte doch oder was erwartest Du?
Dass Fließkommarechnungen nie genau sind, ist Dir bewußt?

Ansonsten beschreibe doch mal ausführlich, was Du erwartest.

Gruß Tommy

"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
19.01.2021, 20:36 (Dieser Beitrag wurde zuletzt bearbeitet: 19.01.2021 20:56 von wonk.)
Beitrag #12
RE: Zähler zählt nicht
(19.01.2021 20:18)Tommy56 schrieb:  Wo ist da ein Fehler? Du stellst keine führen 0 bei den Zeitteilen sicher. Die Nachkommastellen sollten eigentlich zweistellig sein, aber inhaltlich passen die Werte doch oder was erwartest Du?
Dass Fließkommarechnungen nie genau sind, ist Dir bewußt?
Gruß Tommy
Hallo,
ich addiere etwa alle 2 Minuten 0,01 zum Zählerstand (6-stellige Ziffernfolge). Und dann soll nach etwa 90 Minuten - sprich 45 mal addieren - ein Fehler von 0,01 auftreten??? So ungenau??? Ok, ich versuche es mit Ganzzahlarithmetik.
Gruss, wonk
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
19.01.2021, 20:55
Beitrag #13
RE: Zähler zählt nicht
Warum nicht? Float/Double auf dem Arduino hat nur 5-6 signifikante Stellen.
Brauchst Du unbedingt float oder kannst Du auch mit Ganzzahlen (*100) arbeiten? Das ist auch noch schneller.

Gruß Tommy

"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
19.01.2021, 21:01
Beitrag #14
RE: Zähler zählt nicht
@Wonk,
ja das sind wohl die Rechenalgorhytmen wo dir da einmal 0.01 unterschlägt.
Wenn dich das stört kannst du ja in unsigned long int den Zählerstand mit der Wertigkeit 0.01 erfassen. Dann mußt beim ausgeben oder speichern eben vorher durch 100 teilen - fedisch.
Oder du schaust mal ob es irgendwo eine BCD Arithmetik für den Arduino gibt. Für den AT90S4433 hatte ich vor Jahrenzehnten mal eine bei Atmel runtergezogen...leider keine Arduino Lib.
lgbk


An alle Neuankömmlinge hier, wenn ihr Code(Sketch) hier posten wollt dann liest euch bitte diese Anleitung durch.

Ich spreche fließend Schwäbisch, Deutsch das Notwendigste und für die Begriffsstutzigen erprobtes Tacheles mit direkten Hinweisen ohne Schnörkel...

1+1 = 10 Angel ...und ich bin hier nicht der Suchmaschinen-Ersatz Dodgy...nur mal so als genereller Tipp..
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
21.01.2021, 20:26
Beitrag #15
RE: Zähler zählt nicht
Hallo,
habe den Zähler jetzt mit Integer-Arithmetik laufen lassen, das Problem ist weg. War also doch die zu ungenaue float-Addition von 0,01. Hatte aber nichts mit Flankenerkennung zu tun.
Gruss, wonk
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  Bibliothek einbinden funktioniert nicht Maxcruiser 5 390 18.04.2021 21:31
Letzter Beitrag: Tommy56
  Nano. Sketch kann nicht hochgeladen werden 4heiner 4 469 02.04.2021 17:21
Letzter Beitrag: 4heiner
  Programm startet bei Neustart nicht Moritzzz 18 1.041 02.04.2021 14:06
Letzter Beitrag: Tommy56
  Arduino Ampelschaltung Taster funktioniert nicht fatihakan36 9 869 13.03.2021 22:06
Letzter Beitrag: N1d45
  Library Ethernet: Nicht zu compilieren GuaAck 5 548 22.02.2021 17:31
Letzter Beitrag: Tommy56
  von delay auf millis umgestellt, klappt nur nicht. Servo Geschwindigkeit einstellen. gutschy 8 921 21.02.2021 15:22
Letzter Beitrag: gutschy
  Zähler mit Taster und Serial Monitor LK2567 16 1.405 16.02.2021 22:37
Letzter Beitrag: Bitklopfer
  MMega2560-Clone läßt sich nicht programmieren kpc 8 744 08.02.2021 09:50
Letzter Beitrag: hotsystems
  If-Schleife wird nicht mehr durchlaufen LK2567 2 473 05.02.2021 21:20
Letzter Beitrag: LK2567
  Tasterabfrage funktioniert nicht Moehn 4 641 05.02.2021 15:23
Letzter Beitrag: Moehn

Gehe zu:


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