#include <MobaTools.h>
#include <IRremote.h>
Stepper4 T1Stepper(200, A4988);
Stepper4 T2Stepper(200, A4988);
Stepper4 T3Stepper(200, A4988);
int T1Slp_PIN = 12;
int T2Slp_PIN = 9;
int T3Slp_PIN = 6;
int T1Led_PIN = 3;
int T2Led_PIN = 2;
int T3Led_PIN = 1;
int RECV_PIN = 13; //Pin am Arduino UNO für den IR Receiver
IRrecv irrecv(RECV_PIN); //Objekt initialisieren für die IR Übertragung
decode_results results;
void setup()
{
T1Stepper.attach( 10, 11 ); // Step und Dir-Pin
T1Stepper.setSpeedSteps( 200, 50 );
T2Stepper.attach( 7, 8 ); // Step und Dir-Pin
T2Stepper.setSpeedSteps( 200, 50 );
T3Stepper.attach( 4, 5 ); // Step und Dir-Pin
T3Stepper.setSpeedSteps( 200, 50 );
irrecv.enableIRIn(); //Dieser Befehl initialisiert den Infrarotempfänger.
pinMode(T1Slp_PIN, OUTPUT); // Treiber 1 EIN-Ausschalten
pinMode(T2Slp_PIN, OUTPUT); // Treiber 2 Ein-Ausschalten
pinMode(T3Slp_PIN, OUTPUT); // Treiber 3 Ein-Ausschalten
pinMode(3, OUTPUT); // LED`s Stand 1
pinMode(2, OUTPUT); // LED`s Stand 2
pinMode(1, OUTPUT); // LED`s Stand 3
pinMode(RECV_PIN, INPUT); //Den IR Pin als Eingang deklarieren.
Serial.begin(9600); //Serielle kommunikation mit 9600 Baud beginnen.
}
void loop()
{
if (irrecv.decode(&results)) {
Serial.println (results.value, DEC);
if (results.value == 16724175) { // wenn der Infrarot Empfänger die Zahl der Taste 1 erkennt
digitalWrite(T1Slp_PIN, HIGH);
T1Stepper.doSteps(300); // Taste 1 macht 300 Schritte nach „rechts“
}
if (results.value == 16718055) { // Taste 2
digitalWrite(T1Slp_PIN, HIGH);
T1Stepper.doSteps(-300); // macht 300 Schritte nach „links“
}
irrecv.resume();
if (!T1Stepper.moving() ) {
digitalWrite(T1Slp_PIN, LOW);
}
if (results.value == 16716015) { // Taste 4
digitalWrite(T2Slp_PIN, HIGH);
T2Stepper.doSteps(300); // Taste 4
}
if (results.value == 16726215) { // Taste 5
digitalWrite(T2Slp_PIN, HIGH);
T2Stepper.doSteps(-300); // Taste 5
}
irrecv.resume();
}
if (!T2Stepper.moving() ) {
digitalWrite(T2Slp_PIN, LOW);
}
if (results.value == 167288765) { // Taste 7
digitalWrite(T3Slp_PIN, HIGH);
T3Stepper.doSteps(300); // Taste 7
}
if (results.value == 16730805) { // Taste 8
digitalWrite(T3Slp_PIN, HIGH);
T3Stepper.doSteps(-300); // Taste 8
}
irrecv.resume();
if (!T3Stepper.moving() ) {
digitalWrite(T3Slp_PIN, LOW);
}
if (results.value == 16756815) { // Taste 3
digitalWrite(3, HIGH);
delay(500);
digitalWrite(3, LOW);
delay(250);
digitalWrite(3, HIGH);
delay(500);
digitalWrite(3, LOW);
delay(300);
digitalWrite(3, HIGH);
delay(750);
digitalWrite(3, LOW);
delay(500);
digitalWrite(3, HIGH);
delay(1000);
digitalWrite(3, LOW);
delay(300);
digitalWrite(3, HIGH);
}
if (results.value == 16734885) { // Taste 6
digitalWrite(2, HIGH);
delay(500);
digitalWrite(2, LOW);
delay(250);
digitalWrite(2, HIGH);
delay(500);
digitalWrite(2, LOW);
delay(300);
digitalWrite(2, HIGH);
delay(750);
digitalWrite(2, LOW);
delay(500);
digitalWrite(2, HIGH);
delay(1000);
digitalWrite(2, LOW);
delay(300);
digitalWrite(2, HIGH);
}
if (results.value == 16732845) { // Taste 9
digitalWrite(1, HIGH);
delay(500);
digitalWrite(1, LOW);
delay(250);
digitalWrite(1, HIGH);
delay(500);
digitalWrite(1, LOW);
delay(300);
digitalWrite(1, HIGH);
delay(750);
digitalWrite(1, LOW);
delay(500);
digitalWrite(1, HIGH);
delay(1000);
digitalWrite(1, LOW);
delay(300);
digitalWrite(1, HIGH);
}
if (results.value == 16738455) { // Taste 0 = Stand 3 Licht Aus
digitalWrite(1, LOW);
}
if (results.value == 16750695) { // Taste +100 = Stand 2 Licht Aus
digitalWrite(2, LOW);
}
if (results.value == 16756815) { // Taste +200 = Stand 1 Licht Aus
digitalWrite(3, LOW);
}
}