#include <Button.h>
#include <Encoder.h>
#include <Tic.h>
int KartenDelay = 0;
TicI2C tic;
int in1 = 8;
int in2 = 9;
int enb = 10;
int ena = 13;
int in3 = 12;
int in4 = 11;
int pos = 0;
Button button1(A15);
int State = 0;
Encoder myEnc(A0, A1);
Encoder myEnc2(A2, A3);
void setup() {
Wire.begin();
delay(20);
tic.haltAndSetPosition(0);
tic.exitSafeStart();
pinMode(enb, OUTPUT);
pinMode(in1, OUTPUT);
pinMode(in2, OUTPUT);
pinMode(ena, OUTPUT);
pinMode(in3, OUTPUT);
pinMode(in4, OUTPUT);
button1.begin();
while (!Serial) {}; // for Leos
Serial.begin(9600);
}
void resetCommandTimeout() {
tic.resetCommandTimeout();
}
void delayWhileResettingCommandTimeout(uint32_t ms) {
uint32_t start = millis();
do {
resetCommandTimeout();
} while ((uint32_t)(millis() - start) <= ms);
}
void waitForPosition(int32_t targetPosition) {
do {
resetCommandTimeout();
} while (tic.getCurrentPosition() != targetPosition);
}
long oldPosition = -999;
long oldPosition2 = -999;
long newPosition2 = myEnc2.read();
void loop() {
long newPosition = myEnc.read();
if (newPosition != oldPosition) {
oldPosition = newPosition;
Serial.println(newPosition);
}
long newPosition2 = myEnc2.read();
if (newPosition2 != oldPosition2) {
oldPosition2 = newPosition2;
Serial.println(newPosition2);
}
if (newPosition == 0) {
digitalWrite(53, LOW); // 9
digitalWrite(52, LOW); // 10
digitalWrite(51, LOW); // 7
digitalWrite(50, LOW); // 6
digitalWrite(49, LOW); // 2
digitalWrite(48, LOW); // 1
digitalWrite(47, LOW); // 3
digitalWrite(46, LOW); // 4
}
if (newPosition2 == 0) {
digitalWrite(45, LOW); // 9
digitalWrite(44, LOW); // 10
digitalWrite(43, LOW); // 7
digitalWrite(42, LOW); // 6
digitalWrite(41, LOW); // 2
digitalWrite(40, LOW); // 1
digitalWrite(39, LOW); // 3
digitalWrite(38, LOW); // 4
}
if (newPosition >= 33) {
digitalWrite(53, LOW); // 9
digitalWrite(52, LOW); // 10
digitalWrite(51, LOW); // 7
digitalWrite(50, LOW); // 6
digitalWrite(49, LOW); // 2
digitalWrite(48, LOW); // 1
digitalWrite(47, LOW); // 3
digitalWrite(46, LOW); // 4
}
if (newPosition >= 33) {
digitalWrite(45, LOW);
digitalWrite(44, LOW);
digitalWrite(43, LOW);
digitalWrite(42, LOW);
digitalWrite(41, LOW);
digitalWrite(40, LOW);
digitalWrite(39, LOW);
digitalWrite(38, LOW);
}
if (newPosition2 == 0) {
KartenDelay = 0;
}
if (newPosition2 > 36) {
digitalWrite(45, LOW); // 9
digitalWrite(44, LOW); // 10
digitalWrite(43, LOW); // 7
digitalWrite(42, LOW); // 6
digitalWrite(41, LOW); // 2
digitalWrite(40, LOW); // 1
digitalWrite(39, LOW); // 3
digitalWrite(38, LOW); // 4
}
// Kartenzahl 1
if (newPosition2 == 4) {
digitalWrite(45, LOW);
digitalWrite(44, LOW);
digitalWrite(43, LOW);
digitalWrite(42, HIGH);
digitalWrite(41, LOW);
digitalWrite(40, LOW);
digitalWrite(39, HIGH);
digitalWrite(38, LOW);
}
// Kartenzahl 2
if (newPosition2 == 8) {
digitalWrite(45, HIGH); // 10
digitalWrite(44, LOW); // 9
digitalWrite(43, HIGH); // 7
digitalWrite(42, HIGH); // 6
digitalWrite(41, HIGH); // 1
digitalWrite(40, HIGH); // 4
digitalWrite(39, LOW); // 2
digitalWrite(38, LOW); // 5
KartenDelay = 190;
}
// Kartenzahl 3
if (newPosition2 == 12) {
digitalWrite(45, HIGH);
digitalWrite(44, LOW);
digitalWrite(43, HIGH);
digitalWrite(42, HIGH);
digitalWrite(41, LOW);
digitalWrite(40, HIGH);
digitalWrite(39, HIGH);
digitalWrite(38, LOW);
KartenDelay = 300;
}
// Kartenzahl 4
if (newPosition2 == 16) {
digitalWrite(45, HIGH);
digitalWrite(44, HIGH);
digitalWrite(43, LOW);
digitalWrite(42, HIGH);
digitalWrite(41, LOW);
digitalWrite(40, LOW);
digitalWrite(39, HIGH);
digitalWrite(38, LOW);
KartenDelay = 370;
}
// Kartenzahl 5
if (newPosition2 == 20) {
digitalWrite(45, HIGH); // 10
digitalWrite(44, HIGH); // 9
digitalWrite(43, HIGH); // 7
digitalWrite(42, LOW); // 6
digitalWrite(41, LOW); // 1
digitalWrite(40, HIGH); // 2
digitalWrite(39, HIGH); // 4
digitalWrite(38, LOW); // 5
KartenDelay = 500;
}
// Kartenzahl 6
if (newPosition2 == 24) {
digitalWrite(45, HIGH); // 10
digitalWrite(44, HIGH); // 9
digitalWrite(43, HIGH); // 7
digitalWrite(42, LOW); // 6
digitalWrite(41, HIGH); // 1
digitalWrite(40, HIGH); // 2
digitalWrite(39, HIGH); // 4
digitalWrite(38, LOW); // 5
KartenDelay = 600;
}
// Kartenzahl 7
if (newPosition2 == 28) {
digitalWrite(45, LOW); // 10
digitalWrite(44, LOW); // 9
digitalWrite(43, HIGH); // 7
digitalWrite(42, HIGH); // 6
digitalWrite(41, LOW); // 1
digitalWrite(40, LOW); // 2
digitalWrite(39, HIGH); // 4
digitalWrite(38, LOW); // 5
KartenDelay = 700;
}
// Kartenzahl 8
if (newPosition2 == 32) {
digitalWrite(45, HIGH);
digitalWrite(44, HIGH);
digitalWrite(43, HIGH);
digitalWrite(42, HIGH);
digitalWrite(41, HIGH);
digitalWrite(40, HIGH);
digitalWrite(39, HIGH);
digitalWrite(38, LOW);
KartenDelay = 800;
}
// Kartenzahl 9
if (newPosition2 == 36) {
digitalWrite(45, HIGH);
digitalWrite(44, HIGH);
digitalWrite(43, HIGH);
digitalWrite(42, HIGH);
digitalWrite(41, LOW);
digitalWrite(40, HIGH);
digitalWrite(39, HIGH);
digitalWrite(38, LOW);
KartenDelay = 900;
}
//
// Spielerzahl 2
if (newPosition == 4) {
digitalWrite(53, LOW); // 9
digitalWrite(52, HIGH); // 10
digitalWrite(51, HIGH); // 7
digitalWrite(50, HIGH); // 6
digitalWrite(49, HIGH); // 2
digitalWrite(48, HIGH); // 1
digitalWrite(47, LOW); // 3
digitalWrite(46, LOW); // 4
if (button1.pressed()) {
State = 1;
Serial.print(State);
}
while (State == 1) {
Kartenzahl1();
delay(2000);
if (digitalRead(in4) == LOW) {
tic.setTargetPosition(291);
waitForPosition(291);
delay(2000);
if (tic.getCurrentPosition() == 291) {
Kartenzahl1();
tic.setTargetPosition(583);
waitForPosition(583);
delayWhileResettingCommandTimeout(3000);
tic.haltAndSetPosition(0);
State = 0;
Serial.print(State);
}
}
}
}
// Spielerzahl 3
if (newPosition == 8) {
digitalWrite(53, LOW); // 9
digitalWrite(52, HIGH); // 10
digitalWrite(51, HIGH); // 7
digitalWrite(50, HIGH); // 6
digitalWrite(49, HIGH); // 2
digitalWrite(48, LOW); // 1
digitalWrite(47, LOW); // 5
digitalWrite(46, HIGH); // 4
if (button1.pressed()) {
State = 1;
Serial.print(State);
}
while (State == 1) {
analogWrite(enb, 250);
digitalWrite(in2, HIGH);
digitalWrite(in1, LOW);
Serial.print(digitalRead(in2));
analogWrite(ena, 250);
digitalWrite(in4, HIGH);
digitalWrite(in3, LOW);
Serial.print(digitalRead(in4));
delay(KartenDelay);
analogWrite(enb, 0);
digitalWrite(in2, LOW);
digitalWrite(in1, LOW);
Serial.print(digitalRead(in2));
analogWrite(ena, 0);
digitalWrite(in4, LOW);
digitalWrite(in3, LOW);
Serial.print(digitalRead(in4));
delay(300);
analogWrite(enb, 250);
digitalWrite(in2, LOW);
digitalWrite(in1, HIGH);
Serial.print(digitalRead(in2));
analogWrite(ena, 250);
digitalWrite(in4, LOW);
digitalWrite(in3, HIGH);
Serial.print(digitalRead(in4));
delay(200);
analogWrite(enb, 0);
digitalWrite(in2, LOW);
digitalWrite(in1, LOW);
Serial.print(digitalRead(in2));
analogWrite(ena, 0);
digitalWrite(in4, LOW);
digitalWrite(in3, LOW);
Serial.print(digitalRead(in4));
delay(2000);
tic.setTargetPosition(194);
waitForPosition(194);
delay(2000);
analogWrite(enb, 250);
digitalWrite(in2, HIGH);
digitalWrite(in1, LOW);
Serial.print(digitalRead(in2));
analogWrite(ena, 250);
digitalWrite(in4, HIGH);
digitalWrite(in3, LOW);
Serial.print(digitalRead(in4));
delay(KartenDelay);
analogWrite(enb, 0);
digitalWrite(in2, LOW);
digitalWrite(in1, LOW);
Serial.print(digitalRead(in2));
analogWrite(ena, 0);
digitalWrite(in4, LOW);
digitalWrite(in3, LOW);
Serial.print(digitalRead(in4));
delay(300);
analogWrite(enb, 250);
digitalWrite(in2, LOW);
digitalWrite(in1, HIGH);
Serial.print(digitalRead(in2));
analogWrite(ena, 250);
digitalWrite(in4, LOW);
digitalWrite(in3, HIGH);
Serial.print(digitalRead(in4));
delay(200);
analogWrite(enb, 0);
digitalWrite(in2, LOW);
digitalWrite(in1, LOW);
Serial.print(digitalRead(in2));
analogWrite(ena, 0);
digitalWrite(in4, LOW);
digitalWrite(in3, LOW);
Serial.print(digitalRead(in4));
delay(2000);
tic.setTargetPosition(583);
waitForPosition(583);
delay(2000);
analogWrite(enb, 250);
digitalWrite(in2, HIGH);
digitalWrite(in1, LOW);
Serial.print(digitalRead(in2));
analogWrite(ena, 250);
digitalWrite(in4, HIGH);
digitalWrite(in3, LOW);
Serial.print(digitalRead(in4));
delay(KartenDelay);
analogWrite(enb, 0);
digitalWrite(in2, LOW);
digitalWrite(in1, LOW);
Serial.print(digitalRead(in2));
analogWrite(ena, 0);
digitalWrite(in4, LOW);
digitalWrite(in3, LOW);
Serial.print(digitalRead(in4));
delay(300);
analogWrite(enb, 250);
digitalWrite(in2, LOW);
digitalWrite(in1, HIGH);
Serial.print(digitalRead(in2));
analogWrite(ena, 250);
digitalWrite(in4, LOW);
digitalWrite(in3, HIGH);
Serial.print(digitalRead(in4));
delay(200);
analogWrite(enb, 0);
digitalWrite(in2, LOW);
digitalWrite(in1, LOW);
Serial.print(digitalRead(in2));
analogWrite(ena, 0);
digitalWrite(in4, LOW);
digitalWrite(in3, LOW);
Serial.print(digitalRead(in4));
delay(2000);
delayWhileResettingCommandTimeout(3000);
if (tic.getCurrentPosition() == 583) {
tic.haltAndSetPosition(0);
State = 0;
Serial.print(State);
}
}
}
// Spielerzahl 4
if (newPosition == 12) {
digitalWrite(53, HIGH); // 9
digitalWrite(52, HIGH); // 10
digitalWrite(51, LOW); // 7
digitalWrite(50, HIGH); // 6
digitalWrite(49, LOW); // 2
digitalWrite(48, LOW); // 1
digitalWrite(47, LOW); // 5
digitalWrite(46, HIGH); // 4
if (button1.pressed()) {
State = 1;
Serial.print(State);
}
while (State == 1) {
analogWrite(ena, 250);
digitalWrite(in4, HIGH);
digitalWrite(in3, LOW);
Serial.print(digitalRead(in4));
delay(2000);
analogWrite(ena, 0);
digitalWrite(in4, LOW);
digitalWrite(in3, LOW);
Serial.print(digitalRead(in4));
delay(2000);
tic.setTargetPosition(145);
waitForPosition(145);
delay(2000);
analogWrite(ena, 250);
digitalWrite(in4, HIGH);
digitalWrite(in3, LOW);
Serial.print(digitalRead(in4));
delay(2000);
analogWrite(ena, 0);
digitalWrite(in4, LOW);
digitalWrite(in3, LOW);
Serial.print(digitalRead(in4));
delay(2000);
tic.setTargetPosition(290);
waitForPosition(290);
delay(2000);
analogWrite(ena, 250);
digitalWrite(in4, HIGH);
digitalWrite(in3, LOW);
Serial.print(digitalRead(in4));
delay(2000);
analogWrite(ena, 0);
digitalWrite(in4, LOW);
digitalWrite(in3, LOW);
Serial.print(digitalRead(in4));
delay(2000);
tic.setTargetPosition(435);
waitForPosition(435);
delay(2000);
analogWrite(ena, 250);
digitalWrite(in4, HIGH);
digitalWrite(in3, LOW);
Serial.print(digitalRead(in4));
delay(2000);
analogWrite(ena, 0);
digitalWrite(in4, LOW);
digitalWrite(in3, LOW);
Serial.print(digitalRead(in4));
delay(2000);
tic.setTargetPosition(583);
waitForPosition(583);
if (tic.getCurrentPosition() == 583) {
tic.haltAndSetPosition(0);
State = 0;
Serial.print(State);
}
}
}
// Spielerzahl 5
if (newPosition == 16) {
digitalWrite(53, HIGH); // 9
digitalWrite(52, HIGH); // 10
digitalWrite(51, HIGH); // 7
digitalWrite(50, LOW); // 6
digitalWrite(49, HIGH); // 2
digitalWrite(48, LOW); // 1
digitalWrite(47, LOW); // 5
digitalWrite(46, HIGH); // 4
if (button1.pressed()) {
State = 1;
Serial.print(State);
}
while (State == 1) {
analogWrite(ena, 250);
digitalWrite(in4, HIGH);
digitalWrite(in3, LOW);
Serial.print(digitalRead(in4));
delay(2000);
analogWrite(ena, 0);
digitalWrite(in4, LOW);
digitalWrite(in3, LOW);
Serial.print(digitalRead(in4));
delay(2000);
tic.setTargetPosition(116);
waitForPosition(116);
delay(2000);
analogWrite(ena, 250);
digitalWrite(in4, HIGH);
digitalWrite(in3, LOW);
Serial.print(digitalRead(in4));
delay(2000);
analogWrite(ena, 0);
digitalWrite(in4, LOW);
digitalWrite(in3, LOW);
Serial.print(digitalRead(in4));
delay(2000);
tic.setTargetPosition(232);
waitForPosition(232);
analogWrite(ena, 250);
digitalWrite(in4, HIGH);
digitalWrite(in3, LOW);
Serial.print(digitalRead(in4));
delay(2000);
analogWrite(ena, 0);
digitalWrite(in4, LOW);
digitalWrite(in3, LOW);
Serial.print(digitalRead(in4));
delay(2000);
tic.setTargetPosition(348);
waitForPosition(348);
delay(2000);
analogWrite(ena, 250);
digitalWrite(in4, HIGH);
digitalWrite(in3, LOW);
Serial.print(digitalRead(in4));
delay(2000);
analogWrite(ena, 0);
digitalWrite(in4, LOW);
digitalWrite(in3, LOW);
Serial.print(digitalRead(in4));
delay(2000);
tic.setTargetPosition(464);
waitForPosition(464);
delay(2000);
analogWrite(ena, 250);
digitalWrite(in4, HIGH);
digitalWrite(in3, LOW);
Serial.print(digitalRead(in4));
delay(2000);
analogWrite(ena, 0);
digitalWrite(in4, LOW);
digitalWrite(in3, LOW);
Serial.print(digitalRead(in4));
delay(2000);
tic.setTargetPosition(583);
waitForPosition(583);
delay(1000);
if (tic.getCurrentPosition() == 583) {
tic.haltAndSetPosition(0);
State = 0;
Serial.print(State);
}
}
}
// Spielerzahl 6
if (newPosition == 20) {
digitalWrite(53, HIGH); // 9
digitalWrite(52, HIGH); // 10
digitalWrite(51, HIGH); // 7
digitalWrite(50, LOW); // 6
digitalWrite(49, HIGH); // 2
digitalWrite(48, HIGH); // 1
digitalWrite(47, LOW); // 5
digitalWrite(46, HIGH); // 4
if (button1.pressed()) {
State = 1;
Serial.print(State);
}
while (State == 1) {
analogWrite(ena, 250);
digitalWrite(in4, HIGH);
digitalWrite(in3, LOW);
Serial.print(digitalRead(in4));
delay(2000);
analogWrite(ena, 0);
digitalWrite(in4, LOW);
digitalWrite(in3, LOW);
Serial.print(digitalRead(in4));
delay(2000);
tic.setTargetPosition(97);
waitForPosition(97);
delay(2000);
analogWrite(ena, 250);
digitalWrite(in4, HIGH);
digitalWrite(in3, LOW);
Serial.print(digitalRead(in4));
delay(2000);
analogWrite(ena, 0);
digitalWrite(in4, LOW);
digitalWrite(in3, LOW);
Serial.print(digitalRead(in4));
delay(2000);
tic.setTargetPosition(194);
waitForPosition(194);
delay(2000);
analogWrite(ena, 250);
digitalWrite(in4, HIGH);
digitalWrite(in3, LOW);
Serial.print(digitalRead(in4));
delay(2000);
analogWrite(ena, 0);
digitalWrite(in4, LOW);
digitalWrite(in3, LOW);
Serial.print(digitalRead(in4));
delay(2000);
tic.setTargetPosition(291);
waitForPosition(291);
delay(2000);
analogWrite(ena, 250);
digitalWrite(in4, HIGH);
digitalWrite(in3, LOW);
Serial.print(digitalRead(in4));
delay(2000);
analogWrite(ena, 0);
digitalWrite(in4, LOW);
digitalWrite(in3, LOW);
Serial.print(digitalRead(in4));
delay(2000);
tic.setTargetPosition(388);
waitForPosition(388);
delay(2000);
analogWrite(ena, 250);
digitalWrite(in4, HIGH);
digitalWrite(in3, LOW);
Serial.print(digitalRead(in4));
delay(2000);
analogWrite(ena, 0);
digitalWrite(in4, LOW);
digitalWrite(in3, LOW);
Serial.print(digitalRead(in4));
delay(2000);
tic.setTargetPosition(485);
waitForPosition(485);
delay(2000);
analogWrite(ena, 250);
digitalWrite(in4, HIGH);
digitalWrite(in3, LOW);
Serial.print(digitalRead(in4));
delay(2000);
analogWrite(ena, 0);
digitalWrite(in4, LOW);
digitalWrite(in3, LOW);
Serial.print(digitalRead(in4));
delay(2000);
tic.setTargetPosition(583);
waitForPosition(583);
delay(1000);
if (tic.getCurrentPosition() == 583) {
tic.haltAndSetPosition(0);
State = 0;
Serial.print(State);
}
}
}
// Spielerzahl 7
if (newPosition == 24) {
digitalWrite(53, LOW); // 9
digitalWrite(52, LOW); // 10
digitalWrite(51, HIGH); // 7
digitalWrite(50, HIGH); // 6
digitalWrite(49, LOW); // 2
digitalWrite(48, LOW); // 1
digitalWrite(47, LOW); // 5
digitalWrite(46, HIGH); // 4
if (button1.pressed()) {
State = 1;
Serial.print(State);
}
while (State == 1) {
analogWrite(ena, 250);
digitalWrite(in4, HIGH);
digitalWrite(in3, LOW);
Serial.print(digitalRead(in4));
delay(2000);
analogWrite(ena, 0);
digitalWrite(in4, LOW);
digitalWrite(in3, LOW);
Serial.print(digitalRead(in4));
delay(2000);
tic.setTargetPosition(83);
waitForPosition(83);
delay(2000);
analogWrite(ena, 250);
digitalWrite(in4, HIGH);
digitalWrite(in3, LOW);
Serial.print(digitalRead(in4));
delay(2000);
analogWrite(ena, 0);
digitalWrite(in4, LOW);
digitalWrite(in3, LOW);
Serial.print(digitalRead(in4));
delay(2000);
tic.setTargetPosition(166);
waitForPosition(166);
delay(2000);
analogWrite(ena, 250);
digitalWrite(in4, HIGH);
digitalWrite(in3, LOW);
Serial.print(digitalRead(in4));
delay(2000);
analogWrite(ena, 0);
digitalWrite(in4, LOW);
digitalWrite(in3, LOW);
Serial.print(digitalRead(in4));
delay(2000);
tic.setTargetPosition(249);
waitForPosition(249);
delay(2000);
analogWrite(ena, 250);
digitalWrite(in4, HIGH);
digitalWrite(in3, LOW);
Serial.print(digitalRead(in4));
delay(2000);
analogWrite(ena, 0);
digitalWrite(in4, LOW);
digitalWrite(in3, LOW);
Serial.print(digitalRead(in4));
delay(2000);
tic.setTargetPosition(332);
waitForPosition(332);
delay(2000);
analogWrite(ena, 250);
digitalWrite(in4, HIGH);
digitalWrite(in3, LOW);
Serial.print(digitalRead(in4));
delay(2000);
analogWrite(ena, 0);
digitalWrite(in4, LOW);
digitalWrite(in3, LOW);
Serial.print(digitalRead(in4));
delay(2000);
tic.setTargetPosition(415);
waitForPosition(415);
delay(2000);
analogWrite(ena, 250);
digitalWrite(in4, HIGH);
digitalWrite(in3, LOW);
Serial.print(digitalRead(in4));
delay(2000);
analogWrite(ena, 0);
digitalWrite(in4, LOW);
digitalWrite(in3, LOW);
Serial.print(digitalRead(in4));
delay(2000);
tic.setTargetPosition(498);
waitForPosition(498);
delay(2000);
analogWrite(ena, 250);
digitalWrite(in4, HIGH);
digitalWrite(in3, LOW);
Serial.print(digitalRead(in4));
delay(2000);
analogWrite(ena, 0);
digitalWrite(in4, LOW);
digitalWrite(in3, LOW);
Serial.print(digitalRead(in4));
delay(2000);
tic.setTargetPosition(583);
waitForPosition(583);
delay(1000);
if (tic.getCurrentPosition() == 583) {
tic.haltAndSetPosition(0);
State = 0;
Serial.print(State);
}
}
}
// Spieler 8
if (newPosition == 28) {
digitalWrite(53, HIGH); // 9
digitalWrite(52, HIGH); // 10
digitalWrite(51, HIGH); // 7
digitalWrite(50, HIGH); // 6
digitalWrite(49, HIGH); // 2
digitalWrite(48, HIGH); // 1
digitalWrite(47, LOW); // 5
digitalWrite(46, HIGH); // 4
if (button1.pressed()) {
State = 1;
Serial.print(State);
}
while (State == 1) {
analogWrite(ena, 250);
digitalWrite(in4, HIGH);
digitalWrite(in3, LOW);
Serial.print(digitalRead(in4));
delay(2000);
analogWrite(ena, 0);
digitalWrite(in4, LOW);
digitalWrite(in3, LOW);
Serial.print(digitalRead(in4));
delay(2000);
tic.setTargetPosition(72);
waitForPosition(72);
delay(2000);
analogWrite(ena, 250);
digitalWrite(in4, HIGH);
digitalWrite(in3, LOW);
Serial.print(digitalRead(in4));
delay(2000);
analogWrite(ena, 0);
digitalWrite(in4, LOW);
digitalWrite(in3, LOW);
Serial.print(digitalRead(in4));
delay(2000);
tic.setTargetPosition(144);
waitForPosition(144);
delay(2000);
analogWrite(ena, 250);
digitalWrite(in4, HIGH);
digitalWrite(in3, LOW);
Serial.print(digitalRead(in4));
delay(2000);
analogWrite(ena, 0);
digitalWrite(in4, LOW);
digitalWrite(in3, LOW);
Serial.print(digitalRead(in4));
delay(2000);
tic.setTargetPosition(216);
waitForPosition(216);
delay(2000);
analogWrite(ena, 250);
digitalWrite(in4, HIGH);
digitalWrite(in3, LOW);
Serial.print(digitalRead(in4));
delay(2000);
analogWrite(ena, 0);
digitalWrite(in4, LOW);
digitalWrite(in3, LOW);
Serial.print(digitalRead(in4));
delay(2000);
tic.setTargetPosition(288);
waitForPosition(288);
delay(2000);
analogWrite(ena, 250);
digitalWrite(in4, HIGH);
digitalWrite(in3, LOW);
Serial.print(digitalRead(in4));
delay(2000);
analogWrite(ena, 0);
digitalWrite(in4, LOW);
digitalWrite(in3, LOW);
Serial.print(digitalRead(in4));
delay(2000);
tic.setTargetPosition(360);
waitForPosition(360);
delay(2000);
analogWrite(ena, 250);
digitalWrite(in4, HIGH);
digitalWrite(in3, LOW);
Serial.print(digitalRead(in4));
delay(2000);
analogWrite(ena, 0);
digitalWrite(in4, LOW);
digitalWrite(in3, LOW);
Serial.print(digitalRead(in4));
delay(2000);
tic.setTargetPosition(432);
waitForPosition(432);
delay(2000);
analogWrite(ena, 250);
digitalWrite(in4, HIGH);
digitalWrite(in3, LOW);
Serial.print(digitalRead(in4));
delay(2000);
analogWrite(ena, 0);
digitalWrite(in4, LOW);
digitalWrite(in3, LOW);
Serial.print(digitalRead(in4));
delay(2000);
tic.setTargetPosition(504);
waitForPosition(504);
delay(175);
analogWrite(ena, 250);
digitalWrite(in4, HIGH);
digitalWrite(in3, LOW);
Serial.print(digitalRead(in4));
delay(2000);
analogWrite(ena, 0);
digitalWrite(in4, LOW);
digitalWrite(in3, LOW);
Serial.print(digitalRead(in4));
delay(2000);
tic.setTargetPosition(583);
waitForPosition(583);
delay(1000);
if (tic.getCurrentPosition() == 583) {
tic.haltAndSetPosition(0);
State = 0;
Serial.print(State);
}
}
}
// Spieler 9
if (newPosition == 32) {
digitalWrite(53, HIGH); // 9
digitalWrite(52, HIGH); // 10
digitalWrite(51, HIGH); // 7
digitalWrite(50, HIGH); // 6
digitalWrite(49, HIGH); // 2
digitalWrite(48, LOW); // 1
digitalWrite(47, LOW); // 5
digitalWrite(46, HIGH); // 4
if (button1.pressed()) {
State = 1;
Serial.print(State);
}
while (State == 1) {
analogWrite(ena, 250);
digitalWrite(in4, HIGH);
digitalWrite(in3, LOW);
Serial.print(digitalRead(in4));
delay(2000);
analogWrite(ena, 0);
digitalWrite(in4, LOW);
digitalWrite(in3, LOW);
Serial.print(digitalRead(in4));
delay(2000);
tic.setTargetPosition(22);
waitForPosition(22);
delay(2000);
analogWrite(ena, 250);
digitalWrite(in4, HIGH);
digitalWrite(in3, LOW);
Serial.print(digitalRead(in4));
delay(2000);
analogWrite(ena, 0);
digitalWrite(in4, LOW);
digitalWrite(in3, LOW);
Serial.print(digitalRead(in4));
delay(2000);
tic.setTargetPosition(44);
waitForPosition(44);
delay(2000);
analogWrite(ena, 250);
digitalWrite(in4, HIGH);
digitalWrite(in3, LOW);
Serial.print(digitalRead(in4));
delay(2000);
analogWrite(ena, 0);
digitalWrite(in4, LOW);
digitalWrite(in3, LOW);
Serial.print(digitalRead(in4));
delay(2000);
tic.setTargetPosition(66);
waitForPosition(66);
delay(2000);
analogWrite(ena, 250);
digitalWrite(in4, HIGH);
digitalWrite(in3, LOW);
Serial.print(digitalRead(in4));
delay(2000);
analogWrite(ena, 0);
digitalWrite(in4, LOW);
digitalWrite(in3, LOW);
Serial.print(digitalRead(in4));
delay(2000);
tic.setTargetPosition(88);
waitForPosition(88);
delay(2000);
analogWrite(ena, 250);
digitalWrite(in4, HIGH);
digitalWrite(in3, LOW);
Serial.print(digitalRead(in4));
delay(2000);
analogWrite(ena, 0);
digitalWrite(in4, LOW);
digitalWrite(in3, LOW);
Serial.print(digitalRead(in4));
delay(2000);
tic.setTargetPosition(110);
waitForPosition(110);
delay(2000);
analogWrite(ena, 250);
digitalWrite(in4, HIGH);
digitalWrite(in3, LOW);
Serial.print(digitalRead(in4));
delay(2000);
analogWrite(ena, 0);
digitalWrite(in4, LOW);
digitalWrite(in3, LOW);
Serial.print(digitalRead(in4));
delay(2000);
tic.setTargetPosition(132);
waitForPosition(132);
delay(2000);
analogWrite(ena, 250);
digitalWrite(in4, HIGH);
digitalWrite(in3, LOW);
Serial.print(digitalRead(in4));
delay(2000);
analogWrite(ena, 0);
digitalWrite(in4, LOW);
digitalWrite(in3, LOW);
Serial.print(digitalRead(in4));
delay(2000);
tic.setTargetPosition(154);
waitForPosition(154);
delay(2000);
analogWrite(ena, 250);
digitalWrite(in4, HIGH);
digitalWrite(in3, LOW);
Serial.print(digitalRead(in4));
delay(2000);
analogWrite(ena, 0);
digitalWrite(in4, LOW);
digitalWrite(in3, LOW);
Serial.print(digitalRead(in4));
delay(2000);
tic.setTargetPosition(176);
waitForPosition(176);
delay(2000);
analogWrite(ena, 250);
digitalWrite(in4, HIGH);
digitalWrite(in3, LOW);
Serial.print(digitalRead(in4));
delay(2000);
analogWrite(ena, 0);
digitalWrite(in4, LOW);
digitalWrite(in3, LOW);
Serial.print(digitalRead(in4));
delay(2000);
tic.setTargetPosition(200);
waitForPosition(200);
delay(1000);
if (tic.getCurrentPosition() == 200) {
tic.haltAndSetPosition(0);
State = 0;
Serial.print(State);
}
}
}
}
void Kartenzahl1(){
if(newPosition2 = 4){
analogWrite(enb, 250);
digitalWrite(in2, HIGH);
digitalWrite(in1, LOW);
Serial.print(digitalRead(in2));
analogWrite(ena, 250);
digitalWrite(in4, HIGH);
digitalWrite(in3, LOW);
Serial.print(digitalRead(in4));
delay(KartenDelay);
analogWrite(enb, 0);
digitalWrite(in2, LOW);
digitalWrite(in1, LOW);
Serial.print(digitalRead(in2));
analogWrite(ena, 0);
digitalWrite(in4, LOW);
digitalWrite(in3, LOW);
Serial.print(digitalRead(in4));
delay(200);
analogWrite(enb, 250);
digitalWrite(in2, LOW);
digitalWrite(in1, HIGH);
Serial.print(digitalRead(in2));
analogWrite(ena, 250);
digitalWrite(in4, LOW);
digitalWrite(in3, HIGH);
Serial.print(digitalRead(in4));
delay(100);
analogWrite(enb, 0);
digitalWrite(in2, LOW);
digitalWrite(in1, LOW);
Serial.print(digitalRead(in2));
analogWrite(ena, 0);
digitalWrite(in4, LOW);
digitalWrite(in3, LOW);
Serial.print(digitalRead(in4));
delay(2000);
Serial.print("Funk");
}
}