Warum spuckt die IDE einen Fehler beim kompilieren aus?

OP #5429720
Lesenswert?
• ▲
▼
Moin Moin,

ich möchte den Wert eines DS18B20 Temperatursensors auf meinem OLED 
Display ausgeben lassen, allerdings ist die IDE andauernd am meckern und 
ich verstehe es einfach nicht... Wäre cool, wenn mir da jemand helfen 
könnte. Bin halt relativ neu auf dem Gebiet und dementsprechend noch 
nicht so fit. Bei den Fehlermeldungen habe ich einfach nur meinen echten 
Namen rausgelöscht. Datenschutz undso ;)

Hier mein Code:
1
#include <SPI.h>
2
#include <Wire.h>
3
#include <Adafruit_GFX.h>
4
#include <Adafruit_SH1106.h>
5
#include <OneWire.h>
6
#include <DallasTemperature.h>
7

8
#define OLED_RESET 4
9
Adafruit_SH1106 display(OLED_RESET);
10

11
#define ONE_WIRE_BUS 2
12

13
OneWire ourWire(ONE_WIRE_BUS);
14
DallasTemperature sensors(&ourWire);
15

16
void setup()   {                
17

18
  //I2C Adresse Initialisieren
19
  display.begin(SH1106_SWITCHCAPVCC, 0x3C);
20
  
21
  //Dallas Library Initialisieren
22
  sensors.begin();
23
}
24

25
#define DRAW_DELAY 118
26
#define D_NUM 47
27

28
void loop(){
29
  sensors.requestTemperatures(); //Temperatur abfragen
30
  
31
  display.clearDisplay();
32
  
33
  display.setTextColor(WHITE); // Textfarbe setzen
34
  
35
  display.setTextSize(2.5); // Textgroesse setzen
36
  
37
  display.setCursor(1,1); // Textstartposition einstellen
38
  display.println("Oil:"); // Text anzeigen
39
  display.setCursor(1,20);
40
  display.println(sensors.getTempCByIndex(0) );
41
  
42
  display.setCursor(1,49);
43
  display.println("Water:");
44
  
45
  display.setCursor(1,25);
46
  display.println("OilP.:");
47
  
48
  display.display();
49
  delay(8000);
50
  display.clearDisplay();
51

52
}

Hier die Fehlermeldungen:

Arduino: 1.8.5 (Windows 7), Board: "Arduino/Genuino Uno"

In file included from 
C:\Users\Desktop\Arduino\Projekte\Backups\Basisprogramm OLED Oil, OilP, 
Water\sketch_may21a\sketch_may21a_BACKUP.ino:5:0:

C:\Users\Documents\Arduino\libraries\Adafruit_SH1106-master/Adafruit_SH1 
106.h:141:7:  error: redefinition of 'class Adafruit_SH1106'

 class Adafruit_SH1106 : public Adafruit_GFX {

       ^

In file included from 
C:\Users\Desktop\Arduino\Projekte\Backups\Basisprogramm OLED Oil, OilP, 
Water\sketch_may21a\sketch_may21a.ino:5:0:

C:\Users\Documents\Arduino\libraries\Adafruit_SH1106-master/Adafruit_SH1 
106.h:141:7:  error: previous definition of 'class Adafruit_SH1106'

 class Adafruit_SH1106 : public Adafruit_GFX {

       ^

C:\Users\Desktop\Arduino\Projekte\Backups\Basisprogramm OLED Oil, OilP, 
Water\sketch_may21a\sketch_may21a_BACKUP.ino:8:24: error: redefinition 
of 'Adafruit_SH1106 display'

 Adafruit_SH1106 display(OLED_RESET);

                        ^

C:\Users\Desktop\Arduino\Projekte\Backups\Basisprogramm OLED Oil, OilP, 
Water\sketch_may21a\sketch_may21a.ino:10:17: note: 'Adafruit_SH1106 
display' previously declared here

 Adafruit_SH1106 display(OLED_RESET);

                 ^

C:\Users\Desktop\Arduino\Projekte\Backups\Basisprogramm OLED Oil, OilP, 
Water\sketch_may21a\sketch_may21a_BACKUP.ino: In function 'void 
setup()':

C:\Users\Desktop\Arduino\Projekte\Backups\Basisprogramm OLED Oil, OilP, 
Water\sketch_may21a\sketch_may21a_BACKUP.ino:10:6: error: redefinition 
of 'void setup()'

 void setup()   {

      ^

C:\Users\Desktop\Arduino\Projekte\Backups\Basisprogramm OLED Oil, OilP, 
Water\sketch_may21a\sketch_may21a.ino:17:6: note: 'void setup()' 
previously defined here

 void setup()   {

      ^

C:\Users\Desktop\Arduino\Projekte\Backups\Basisprogramm OLED Oil, OilP, 
Water\sketch_may21a\sketch_may21a_BACKUP.ino: In function 'void loop()':

C:\Users\Desktop\Arduino\Projekte\Backups\Basisprogramm OLED Oil, OilP, 
Water\sketch_may21a\sketch_may21a_BACKUP.ino:24:6: error: redefinition 
of 'void loop()'

 void loop() {

      ^

C:\Users\Desktop\Arduino\Projekte\Backups\Basisprogramm OLED Oil, OilP, 
Water\sketch_may21a\sketch_may21a.ino:29:6: note: 'void loop()' 
previously defined here

 void loop(){

      ^

exit status 1
Fehler beim Kompilieren für das Board Arduino/Genuino Uno.
Gast #5429733
Lesenswert?
• ▲
▼
Fabian W. schrieb:
> allerdings ist die IDE andauernd am meckern und
> ich verstehe es einfach nicht...

Kannst du lesen? Insbesondere das:
"error: redefinition of 'class Adafruit_SH1106'"

Das ist doch einfach zu lesen und zu verstehen: du hast 
"Adafruit_SH1106" zweimal in verschiedenen Quelldateien definiert. 
Nämlich in:

a) sketch_may21a_BACKUP.ino
und
b) Adafruit_SH1106.h

So, jetzt überlege dir erstmal, was denn davon eigentlich der Mumpitz 
ist.

W.S.

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.