#include <MobaTools.h>
#include <IRremote.h>
Stepper4 T1Stepper(20, A4988);
Stepper4 T2Stepper(20, A4988);
Stepper4 T3Stepper(20, A4988);
int T1Slp_PIN = 12;
int T2Slp_PIN = 9;
int T3Slp_PIN = 6;
int T1Led_PIN = 3; // Gebäude Innenbeleuchtung Stand 1
int T2Led_PIN = 2; // Gebäude Innenbeleuchtung Stand 2
int T3Led_PIN = 14; // = A0, Gebäude Innenbeleuchtung Stand 3
int LedA1_PIN = 15; // = A1, Außenbeleuchtung Gebäude
int LedA2_PIN = 16; // = A2, Außenbeleuchtung Drehscheibe 1
int LedA3_PIN = 17; // = A3, Außenbeleuchtung Drehscheibe 2
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 ); // !muss noch kontroliert werden ob das so passt!
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(T1Led_PIN, OUTPUT); // LED`s Stand 1
pinMode(T2Led_PIN, OUTPUT); // LED`s Stand 2
pinMode(T3Led_PIN, OUTPUT); // LED`s Stand 3
pinMode(LedA1_PIN, OUTPUT);
pinMode(LedA2_PIN, OUTPUT);
pinMode(LedA3_PIN, OUTPUT);
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“
}
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
}
if (results.value == 16728765) { // 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
}
if (results.value == 16743045) { // Taste 3
digitalWrite(T1Led_PIN, HIGH);
delay(500);
digitalWrite(T1Led_PIN, LOW);
delay(250);
digitalWrite(T1Led_PIN, HIGH);
delay(500);
digitalWrite(T1Led_PIN, LOW);
delay(300);
digitalWrite(T1Led_PIN, HIGH);
delay(750);
digitalWrite(T1Led_PIN, LOW);
delay(500);
digitalWrite(T1Led_PIN, HIGH);
delay(1000);
digitalWrite(T1Led_PIN, LOW);
delay(300);
digitalWrite(T1Led_PIN, HIGH);
}
if (results.value == 16734885) { // Taste 6
digitalWrite(T2Led_PIN, HIGH);
delay(500);
digitalWrite(T2Led_PIN, LOW);
delay(250);
digitalWrite(T2Led_PIN, HIGH);
delay(500);
digitalWrite(T2Led_PIN, LOW);
delay(300);
digitalWrite(T2Led_PIN, HIGH);
delay(750);
digitalWrite(T2Led_PIN, LOW);
delay(500);
digitalWrite(T2Led_PIN, HIGH);
delay(1000);
digitalWrite(T2Led_PIN, LOW);
delay(300);
digitalWrite(T2Led_PIN, HIGH);
}
if (results.value == 16732845) { // Taste 9
digitalWrite(T3Led_PIN, HIGH);
delay(500);
digitalWrite(T3Led_PIN, LOW);
delay(250);
digitalWrite(T3Led_PIN, HIGH);
delay(500);
digitalWrite(T3Led_PIN, LOW);
delay(300);
digitalWrite(T3Led_PIN, HIGH);
delay(750);
digitalWrite(T3Led_PIN, LOW);
delay(500);
digitalWrite(T3Led_PIN, HIGH);
delay(1000);
digitalWrite(T3Led_PIN, LOW);
delay(300);
digitalWrite(T3Led_PIN, HIGH);
}
if (results.value == 16753245) { //Taste C-
digitalWrite(LedA1_PIN, HIGH); // Gebäude Außenbeleuchtung Ein schalten
}
if (results.value == 16720605) { // Taste I<<<
digitalWrite(LedA2_PIN, HIGH); // Beleuchtung DS 1 Einschalten
}
if (results.value == 16769055) { // Taste minus
digitalWrite(LedA3_PIN, HIGH); //Beleuchtung DS 2 Einschalten
}
if (results.value == 16738455) { // Taste 0 = Stand 3 Licht Aus
digitalWrite(T3Led_PIN, LOW);
}
if (results.value == 16750695) { // Taste +100 = Stand 2 Licht Aus
digitalWrite(T2Led_PIN, LOW);
}
if (results.value == 16756815) { // Taste +200 = Stand 1 Licht Aus
digitalWrite(T1Led_PIN, LOW);
}
if (results.value == 16769565) { // Taste C+
digitalWrite(LedA1_PIN, LOW); // Gebäude Außenbeleuchtung AUS schalten
}
if (results.value == 16761405) { // Taste >I
digitalWrite(LedA2_PIN, LOW); // Beleuchtung DS 1 AUS schalten
}
if (results.value == 16748655) { // Taste EQ
digitalWrite(LedA3_PIN, LOW); // Beleuchtung DS 2 AUS schalten
}
irrecv.resume();
}
if (!T1Stepper.moving() ) {
digitalWrite(T1Slp_PIN, LOW);
}
if (!T2Stepper.moving() ) {
digitalWrite(T2Slp_PIN, LOW);
}
if (!T3Stepper.moving() ) {
digitalWrite(T3Slp_PIN, LOW);
}
}