diff --git a/Software/MPS_dev_02/MPS_dev_02.ino b/Software/MPS_dev_02/MPS_dev_02.ino new file mode 100644 index 0000000..fc87e00 --- /dev/null +++ b/Software/MPS_dev_02/MPS_dev_02.ino @@ -0,0 +1,190 @@ +#include +MicroPlaneSystem rx; + + +MicroPlaneSystem servo1; +MicroPlaneSystem servo2; +MicroPlaneSystem servo3; +MicroPlaneSystem servo4; +MicroPlaneSystem servo5; + + +//MicroPlaneSystem motorA; +//MicroPlaneSystem motorB; + + +int rud; +int ele; +int thro; +int ail; +int aux1; +int aux2; + +int iswitch = 0; + +float fBattV; + +unsigned long timeFirst; + +bool debugging = false; + +void setup() { + Serial.begin(115200); + Serial.println("-----------"); + Serial.println("Hello World"); + + servo1.attach(7); + servo2.attach(8); + servo3.attach(9); + servo4.attach(10); + servo5.attach(11); + + + // motorA.setMotorPin(6, A1, A0); + //motorB.setMotorPin(3, 5, 13); + + + //Motor A + pinMode(6, OUTPUT); + digitalWrite(6, LOW); + +//Motor B + pinMode(5, OUTPUT); + digitalWrite(5, LOW); + + + delay(4000); + +} + + +void loop() { + + updateChannels(); + + + servo1.write(ail); + //servo2.write(ele); + //servo3.write(ail); + //servo4.write(rud); + //servo5.write(aux1); + //motorA.setThrust(0,thro); + //motorB.setThrust(1,thro); + + +//2050 + /* if (thro > 1500) { + digitalWrite(6, HIGH); + Serial.println("An"); + } else { + */ + //digitalWrite(6, LOW); + //Serial.println("Aus"); + int value = map(thro, 800, 2102, 0, 255); + + analogWrite(6, value); + // } + + + + + if (aux1 >= 1500) { + digitalWrite(A2, HIGH); + } else { + digitalWrite(A2, LOW); + } + + if (aux2 >= 1500) { + posLight(); + //digitalWrite(4, HIGH); + + } else { + //digitalWrite(4, LOW); + } + +} + +void channelMapping() { + ail = rx.getRxChannel(0); + rud = rx.getRxChannel(1); + ele = rx.getRxChannel(2); + thro = rx.getRxChannel(3); + aux1 = rx.getRxChannel(4); + aux2 = rx.getRxChannel(5); +} + +void updateChannels() { + + if (Serial.available()) { + //Serial.println("Serial ist da"); + if (rx.update()) { + channelMapping(); + if (debugging) { + for (int i = 0; i < 6; i++) { + Serial.print(" Ch0"); + Serial.print(i); + Serial.print(": "); + Serial.print(rx.getRxChannel(i)); + } + Serial.println(); + } + } + } else { + //No connection or Failsafe + // Serial.println("\nNo Connection"); + } +} + +void posLight() { + + //Serial.println(millis()); + + + + switch (iswitch) { + case 0: + if (everyXMills(100)) { + iswitch++; + digitalWrite(4, HIGH); + } + break; + case 1: + if (everyXMills(50)) { + iswitch++; + digitalWrite(4, LOW); + } + break; + case 2: + if (everyXMills(100)) { + iswitch++; + digitalWrite(4, HIGH); + } + break; + case 3: + if (everyXMills(50)) { + iswitch++; + digitalWrite(4, LOW); + } + break; + case 4: + if (everyXMills(800)) { + iswitch = 0; + } + break; + } + + +} + + +bool everyXMills(int mills) { + bool bStatus; + if ((millis() - timeFirst) >= mills) { + bStatus = true; + timeFirst = millis(); + } else { + bStatus = false; + } + return bStatus; +} +