#include <IRremote.h>
#include <Servo.h>
int pos1 = 0;
int pos2= 180;
Servo myservo;
#include <LiquidCrystal.h>
const int rs = 7, en = 6, d4 = 5, d5 = 4, d6 = 3, d7 = 2;
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);
#include <Stepper.h>
const int stepsPerRevolution = 200;
Stepper myStepper(stepsPerRevolution, 8, 9, 11, 13);
int Empfang =8;
IRrecv IR_fly(Empfang);
void setup() {
myStepper.setSpeed(60);
IR_fly.begin(Empfang);
Serial.begin(9600);
myservo.attach(12);
}
void loop() {
if (IR_fly.decode())
{
verify();
IR_fly.resume();
}
}
void verify()
{
switch(IR_fly.decodedIRData.command)
{
case 224:
monitor("Links");
myservo.write(pos1);
delay(50);
break;
case 144:
monitor("Rechts");
myservo.write(pos2);
delay(50);
break;
case 2:
monitor("Vorne");
myStepper.step(stepsPerRevolution);
delay(500);
break;
case 152:
monitor("Hinten");
myStepper.step(-stepsPerRevolution);
delay(500);
break;
}
}
void monitor(char*button_name)
{
lcd.clear();
lcd.setCursor(0,0);
lcd.print(button_name);
}