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
Fehlermeldung 'class DS3231' has no member named 'lostPower'
12.10.2019, 13:12
Beitrag #1
Fehlermeldung 'class DS3231' has no member named 'lostPower'
Hi, ich bekomme immer wieder diese Fehlermeldung beim Versuch, eine RTC DS3231 in meinen Code (und meine Schaltung einzubinden). Falls jemand den Fehler in meinem Code entdeckt, bitte sagt Bescheid.

Ich benutze folgende Librabry: http://www.rinkydinkelectronics.com/library.php?id=73

Der Code:
Code:
#include <Wire.h>
#include <DS3231.h>
#include <OneButton.h>
#include <LCD.h>
#include <LiquidCrystal_I2C.h>
#include <Wire.h>
#include <Adafruit_Sensor.h>
#include <DHT.h>

DS3231  rtc;

char daysOfTheWeek[7][12] = {"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"};

LiquidCrystal_I2C lcd(0x27,2,1,0,4,5,6,7,3,POSITIVE);

#define DHTTYPE DHT11
#define DHTPIN 9
DHT dht (DHTPIN, DHTTYPE);

int sensorPin = A3;
int sensorValue = 0;
int percentValue = 0;

const int  buttonPin = 8;
int buttonPushCounter = 0;   // counter for the number of button presses
int buttonState = 0;         // current state of the button
int lastButtonState = 0;     // previous state of the button

void setup(){
  lcd.begin(16, 2);
  lcd.clear();

  pinMode(buttonPin, INPUT);
  Serial.begin(9600);

  delay(3000);

  dht.begin();
  //Serial.println(F("DHTxx test!"));

  if (! rtc.begin()) {
    Serial.println("Couldn't find RTC");
    while (1);
  }

  if (rtc.lostPower()) {
    Serial.println("RTC lost power, lets set the time!");
    // following line sets the RTC to the date & time this sketch was compiled
    rtc.adjust(DateTime(F(__DATE__), F(__TIME__)));
    // This line sets the RTC with an explicit date & time, for example to set
    // January 21, 2014 at 3am you would call:
    // rtc.adjust(DateTime(2014, 1, 21, 3, 0, 0));
  }
   //rtc.adjust(DateTime(F(__DATE__), F(__TIME__)));  
  
}


void loop(){

  DateTime now = rtc.now();

  buttonState = digitalRead(buttonPin);
  if (buttonState != lastButtonState) {
    lcd.clear();
    // if the state has changed, increment the counter
    if (buttonState == HIGH) {
      // if the current state is HIGH then the button went from off to on:
      buttonPushCounter++;
      Serial.println("on");
      Serial.print("number of button pushes: ");
      Serial.println(buttonPushCounter);
    } else {
      // if the current state is LOW then the button went from on to off:
      Serial.println("off");
    }
    // Delay a little bit to avoid bouncing
    delay(50);
  }
  // save the current state as the last state, for next time through the loop
  lastButtonState = buttonState;
  buttonPushCounter = buttonPushCounter %=4;

  sensorValue = analogRead(sensorPin);
  //Serial.print("\n\nAnalog Value: ");
  //Serial.print(sensorValue);
  
  percentValue = map(sensorValue, 1023, 200, 0, 100);
  Serial.print("\nSoilMoisture.: ");
  Serial.print(percentValue);
  Serial.println("%");
  

  float h = dht.readHumidity();
  float t = dht.readTemperature();
  float f = dht.readTemperature(true);
  
  if (isnan(h) || isnan(t) || isnan(f)) {
    Serial.println(F("Failed to read from DHT sensor!"));
    return;
  }

  //float hif = dht.computeHeatIndex(f, h);
  //float hic = dht.computeHeatIndex(t, h, false);

  Serial.print(F("Humidity: "));
  Serial.print(h);
  Serial.print(F("%  Temperature: "));
  Serial.print(t);
  Serial.print(F("°C "));
  Serial.println();
  //Serial.print(f);
  //Serial.print(F("°F  Heat index: "));
  //Serial.print(hic);
  //Serial.print(F("°C "));
  //Serial.print(hif);
  //Serial.println(F("°F"));
  
if (buttonPushCounter == 0) {
  lcd.setCursor(6, 1);
   if (now.hour() < 10) {
    lcd.print("0");
  }
  lcd.print(now.hour(), DEC);
  lcd.print(':');
   if (now.minute() < 10) {
    lcd.print("0");
  }
  lcd.print(now.minute(), DEC);
  lcd.print(':');
  if (now.second() < 10) {
    lcd.print("0");
  }
  lcd.print(now.second(), DEC);
  }
if (buttonPushCounter == 1) {
  lcd.setCursor(6, 1);
  lcd.print(now.day(), DEC);
  lcd.print('/');
  lcd.print(now.month(), DEC);
  lcd.print('/');
  lcd.print(now.year(), DEC); }
if (buttonPushCounter == 2) {  
  int chk = dht.read(DHTPIN);
  lcd.setCursor(0,0);
  lcd.print("Temp: ");
  lcd.print(t);
  lcd.print((char)223);
  lcd.print("C");
  lcd.setCursor(0,1);
  lcd.print("Humidity: ");
  lcd.print(h);
  lcd.print("%");
  delay(1000); }
if (buttonPushCounter == 3) {
  lcd.setCursor(0, 0);
  lcd.print("Soil M.: ");
  lcd.print(percentValue);
  lcd.print("%");
  delay(1000);
  lcd.clear(); }

if (now.second() == 59){
  delay(1000);
  lcd.clear(); }

  
  delay(1);
}

Die Fehlermeldung:
Code:
C:\Users\jonas\OneDrive\Dokumente\Arduino\sketch_biotopneu\sketch_biotopneu.ino:​ In function 'void setup()':

sketch_biotopneu:46:11: error: 'class DS3231' has no member named 'lostPower'

   if (rtc.lostPower()) {

           ^

sketch_biotopneu:49:9: error: 'class DS3231' has no member named 'adjust'

     rtc.adjust(DateTime(F(__DATE__), F(__TIME__)));

         ^

sketch_biotopneu:49:49: error: 'DateTime' was not declared in this scope

     rtc.adjust(DateTime(F(__DATE__), F(__TIME__)));

                                                 ^

C:\Users\jonas\OneDrive\Dokumente\Arduino\sketch_biotopneu\sketch_biotopneu.ino:​ In function 'void loop()':

sketch_biotopneu:61:3: error: 'DateTime' was not declared in this scope

   DateTime now = rtc.now();

   ^

sketch_biotopneu:121:8: error: 'now' was not declared in this scope

    if (now.hour() < 10) {

        ^

sketch_biotopneu:124:13: error: 'now' was not declared in this scope

   lcd.print(now.hour(), DEC);

             ^

sketch_biotopneu:138:13: error: 'now' was not declared in this scope

   lcd.print(now.day(), DEC);

             ^

sketch_biotopneu:163:5: error: 'now' was not declared in this scope

if (now.second() == 59){

     ^

exit status 1
'class DS3231' has no member named 'lostPower'
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
12.10.2019, 13:25
Beitrag #2
RE: Fehlermeldung 'class DS3231' has no member named 'lostPower'
Es sieht danach aus, dass die verwendete Library nicht zu deinem Sketch passt.

Verwende lieber ein Beispiel aus der Library die du einsetzt.

Gruß Dieter

I2C = weniger ist mehr: weniger Kabel, mehr Probleme. Cool
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  undefined reference und non-class type in template class BennIY 3 262 03.10.2019 18:41
Letzter Beitrag: Tommy56
  Anfänger: Fehlermeldung expected primary-expression before Reiseeck 5 655 31.05.2019 12:09
Letzter Beitrag: amithlon
  Fehlermeldung Gerd42 6 624 07.05.2019 21:17
Letzter Beitrag: hotsystems
  Fehlermeldung was not declared Harry 5 625 03.04.2019 12:45
Letzter Beitrag: Harry
  Hilfe bei Fehlermeldung Badboy89 9 1.238 13.02.2019 15:23
Letzter Beitrag: Tommy56
  Fehlermeldung die mir nix sagt MarcoG 9 2.013 23.10.2018 10:09
Letzter Beitrag: MarcoG
  Fehlermeldung Firmata DemianLa 1 622 12.10.2018 09:52
Letzter Beitrag: Tommy56
  Fehlermeldung beim kompilieren Cotti 4 1.005 14.09.2018 14:01
Letzter Beitrag: Cotti
  Hilfe bei Fehlermeldung TroyPan 3 1.434 23.03.2018 23:38
Letzter Beitrag: Tommy56
  Plötzliche Fehlermeldung: avrdude: stk500_recv(): programmer is not responding Flap 10 8.289 02.03.2018 17:52
Letzter Beitrag: hotsystems

Gehe zu:


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