Hallo,

momentan bin ich am basteln, einer kleinen Temperaturanzeige mit Alarmfunktion. Ich habe eine Schaltung gebaut, die einen Temperatursensor, einen Bewegungssensor, zwei LEDs und einen IR-Empfänger enthält. Wenn ich mein Arduino einschalte, soll mir die Temperatur angezeigt werden. Wenn ich auf meiner IR Fernbedienung eine Taste drücke soll er in den Alarm-Modus wechseln und eine grüne LED als Status leuchten, weiterhin die Temperatur anzeigen, wenn aber eine Bewegung wahrgenommen wird, soll auf meinem Display eine Meldung ausgegeben werden und eine rote LED leuchten. Drücke ich eine andere Taste, soll er in den reinen Temperatur-Modus zurück wechseln. Ich denke, es wäre das richtige Problem für eine Case-Abfrage. Folgenden Code habe ich geschrieben:

Code:
#include <LiquidCrystal.h>
#include <IRremote.h>
int receiverpin = 3;
IRrecv irrecv(receiverpin);
decode_results results;

LiquidCrystal lcd(4,5,6,7,8,9);
float sensor = 0;
float celsius = 0;
float voltage = 0;
int bewegung=13;
int bewegungsstatus=0;
int ledg=11;
int ledr=12;

void setup() {
  
  lcd.begin(16,2);
  lcd.clear();
  pinMode(bewegung, INPUT);
  pinMode(ledg, OUTPUT);
  pinMode(ledr, OUTPUT);
  irrecv.enableIRIn();

}

void translateIR()

switch(results.value)

{
  case 16724175:
  bewegungsstatus=digitalRead(bewegung);

            sensor = analogRead(0);
            voltage = (sensor*5000)/1024;
            voltage = voltage - 500;
            celsius = voltage/10;


    if(bewegungsstatus==HIGH)
{
            lcd.setCursor(0,0);
            lcd.print("Eindringling");
            lcd.setCursor(0,1);
            lcd.print("Erkannt");
            digitalWrite(ledr, HIGH);
            digitalWrite(ledg, LOW);
            delay(10000);
            lcd.clear();
 

}
else

{
            lcd.setCursor(0,0);
            lcd.print("Temperatur:");
            lcd.setCursor(0,1);
            lcd.print(celsius,0);
            lcd.setCursor(3,1);
            lcd.print("Grad");
            digitalWrite(ledr, LOW);
            digitalWrite(ledg, HIGH);
 
}

break;

case 16743045:

               lcd.setCursor(0,0);
                lcd.print("Temperatur:");
                lcd.setCursor(0,1);
                lcd.print(celsius,0);
                lcd.setCursor(3,1);
                lcd.print("Grad");
                digitalWrite(ledr, LOW);
                digitalWrite(ledg, HIGH);
break;
}

void loop()
{
  translateIR();
  irrecv.resume();
}
Beim kompilieren bekomme ich die Fehlermeldung:

Arduino: 1.6.5 (Windows 8.1), Platine: "Arduino Uno"

Build-Optionen wurden verändert, alles wird neu gebaut

Verwende die Bibliothek LiquidCrystal im Ordner: C:\Program Files (x86)\Arduino\libraries\LiquidCrystal

Verwende die Bibliothek IRremote im Ordner: C:\Program Files (x86)\Arduino\libraries\IRremote



C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avr-g++ -c -g -Os -w -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10605 -DARDUINO_AVR_UNO -DARDUINO_ARCH_AVR -IC:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino -IC:\Program Files (x86)\Arduino\hardware\arduino\avr\variants\standa rd -IC:\Program Files (x86)\Arduino\libraries\LiquidCrystal\src -IC:\Program Files (x86)\Arduino\libraries\IRremote C:\Users\Dirk\AppData\Local\Temp\build503432504808 1929215.tmp\Temp-Bewegung-LCD-IR-Fallabfrage.cpp -o C:\Users\Dirk\AppData\Local\Temp\build503432504808 1929215.tmp\Temp-Bewegung-LCD-IR-Fallabfrage.cpp.o

Temp-Bewegung-LCD-IR-Fallabfrage.ino:29:1: error: expected initializer before 'switch'
Multiple libraries were found for "IRremote.h"

Used: C:\Program Files (x86)\Arduino\libraries\IRremote

Not used: C:\Program Files (x86)\Arduino\libraries\RobotIRremote

expected initializer before 'switch'

Was bedeutet das?