Fehler beim Kompilieren für das Board Arduino/Genuino Uno.

Ich möchte mit dem BMP280 Sensor den Luftdruck und die Temperatur messen. Ich habe den Code und die Bibliotheken dazu gefunden aber kann den Code nicht laden, die Fehlermeldung lautet: "Fehler beim Kompilieren für das Board Arduino/Genuino Uno." Was kann man dagegen machen?

p_wiedmer:
Ich möchte mit dem BMP280 Sensor den Luftdruck und die Temperatur messen. Ich habe den Code und die Bibliotheken dazu gefunden aber kann den Code nicht laden, die Fehlermeldung lautet: "Fehler beim Kompilieren für das Board Arduino/Genuino Uno." Was kann man dagegen machen?

Uns die komplette Fehlermeldung posten.
Es reicht nicht, dass du etwas findest, du musst die Library auch richtig installieren bzw. einbinden.

Ich habe die Library runtergeladen und hab sie mit dem Arduino IDE eigebunden. Die komplette Fehlermeldung lautet:

\filer15\users151\ue65754\Arduino\libraries\BMP280-Arduino-Library-master\BMP280.cpp: In member function 'char BMP280::begin(int, int)':

\filer15\users151\ue65754\Arduino\libraries\BMP280-Arduino-Library-master\BMP280.cpp:33:26: error: no matching function for call to 'TwoWire::begin(int&, int&)'

Wire.begin(sdaPin,sclPin);

^

\filer15\users151\ue65754\Arduino\libraries\BMP280-Arduino-Library-master\BMP280.cpp:33:26: note: candidates are:

In file included from \filer15\users151\ue65754\Arduino\libraries\BMP280-Arduino-Library-master\BMP280.cpp:19:0:

D:\Arduino\arduino-1.6.11\hardware\arduino\avr\libraries\Wire\src/Wire.h:52:10: note: void TwoWire::begin()

void begin();

^

D:\Arduino\arduino-1.6.11\hardware\arduino\avr\libraries\Wire\src/Wire.h:52:10: note: candidate expects 0 arguments, 2 provided

D:\Arduino\arduino-1.6.11\hardware\arduino\avr\libraries\Wire\src/Wire.h:53:10: note: void TwoWire::begin(uint8_t)

void begin(uint8_t);

^

D:\Arduino\arduino-1.6.11\hardware\arduino\avr\libraries\Wire\src/Wire.h:53:10: note: candidate expects 1 argument, 2 provided

D:\Arduino\arduino-1.6.11\hardware\arduino\avr\libraries\Wire\src/Wire.h:54:10: note: void TwoWire::begin(int)

void begin(int);

^

D:\Arduino\arduino-1.6.11\hardware\arduino\avr\libraries\Wire\src/Wire.h:54:10: note: candidate expects 1 argument, 2 provided

exit status 1
Fehler beim Kompilieren für das Board Arduino/Genuino Uno.

Danke für die Antwort

der Name des Library Ordners muß so lauten, wie du die Library mit include einbindest. Du mußt ihn noch umbenennen,

Da auch eine Fehlermeldung bei der Wire kommt, hast du die richtig installiert ?

HotSystems:
Da auch eine Fehlermeldung bei der Wire kommt, hast du die richtig installiert ?

Die Library Wire wird ja bereits mit dem Arduino IDE installiert, oder liege ich da falsch?

ardubu:
der Name des Library Ordners muß so lauten, wie du die Library mit include einbindest. Du mußt ihn noch umbenennen,

Ich habe den Ordner der BMT Library umbenennt die Fehlermeldung bleibt.

candidates are: Wire.begin(sdaPin,sclPin);

hast du da Pins angegeben?

p_wiedmer:
Ich habe den Ordner der BMT Library umbenennt die Fehlermeldung bleibt.

Wie hast du ihn jetzt genannt ?

das mit der Wire-Library sollte so sein. Nur bei dir sucht es sie auf "D:".

HotSystems:
Wie hast du ihn jetzt genannt ?

das mit der Wire-Library sollte so sein. Nur bei dir sucht es sie auf "D:".

Ja dort habe ich auch die Dateien vom Arduino abgelegt, jedoch wenn ich die Libraries mit dem Arduino IDE öffne werden sie unter dem "filer15" gespeichert aber das sollte eigentlich nicht das Problem sein, kann sie mal verschieben in den selben Ordner. Den Ordner habe ich "BMP280" umbenannt.

ElEspanol:
candidates are: Wire.begin(sdaPin,sclPin);

hast du da Pins angegeben?

Nein, aber ich habe es bereits versucht und da kommt dann die Fehlermeldung: "no matching function for call to 'TwoWire::begin(int, int)'"

Dann vermute ich, bei der Installation der IDE ist etwas schief gelaufen.

Oder zeig mal den verwendeten Sketch.

In Code-Tags posten.

Schaltfläche </> oben links im Editor.

#include "BMP280.h"
#include "Wire.h"
#define P0 1013.25
BMP280 bmp;
void setup()
{
  Serial.begin(9600);
  if(!bmp.begin()){
    Serial.println("BMP init failed!");
    while(1);
  }
  else Serial.println("BMP init success!");
  
  bmp.setOversampling(4);
  
}
void loop()
{
  double T,P;
  char result = bmp.startMeasurment();
 
  if(result!=0){
    delay(result);
    result = bmp.getTemperatureAndPressure(T,P);
    
      if(result!=0)
      {
        double A = bmp.altitude(P,P0);
        
        Serial.print("T = \t");Serial.print(T,2); Serial.print(" degC\t");
        Serial.print("P = \t");Serial.print(P,2); Serial.print(" mBar\t");
        Serial.print("A = \t");Serial.print(A,2); Serial.println(" m");
       
      }
      else {
        Serial.println("Error.");
      }
  }
  else {
    Serial.println("Error.");
  }
  
  delay(100);
}

Okey sonst versuche ich mal das Programm neu zu installieren

Zeig uns mal den Link, welche Library du für den BMP280 verwendest.

mußt du evtl. noch die Adresse des BMP angeben?

ardubu:
mußt du evtl. noch die Adresse des BMP angeben?

Das wird in der Library abgehandelt, zumindest in meiner.
Deshalb meine Frage nach der Library.
Ich verwende die von Adafruit: GitHub - adafruit/Adafruit_BMP280_Library: Arduino Library for BMP280 sensors

HotSystems:
Zeig uns mal den Link, welche Library du für den BMP280 verwendest.

wenn ich das richtig lese, ist die Bibliothek für einen Mega geschrieben und benutzt die Pin's 20 + 21

HotSystems:
Das wird in der Library abgehandelt, zumindest in meiner.
Deshalb meine Frage nach der Library.
Ich verwende die von Adafruit: GitHub - adafruit/Adafruit_BMP280_Library: Arduino Library for BMP280 sensors

Ich habe es bereits mit der Library von Adafruit versucht, dort hatte ich den Fehler nicht. Ich habe es mit dem Beispielcode von Adafruit versucht und dort gab es mir immer an, dass es den Sensor gar nicht erkenne. Entweder kann ich die Adafruit Library gar nicht verwenden, weil mein BMP280 nicht von Adafruit ist. Oder ich habe ihn falsch angeschlossen. Zudem wusste ich nicht ob der Code für SPI oder I2C war.

ardubu:
wenn ich das richtig lese, ist die Bibliothek für einen Mega geschrieben und benutzt die Pin's 20 + 21

Okey, kann ich das irgendwie ändern?