#include <PCF8574.h>
#include <Wire.h>
#include <PCM.h>
int count = 1;
int pushButton = 10;
// Startwert der Verzögerung
int dtime = 5;
// Schrittweite der Verzögerung
int dtimestep = 50;
//Satus des Startknopfes
int buttonState = 1;
PCF8574 pcf20(0x27);
// I2C Adresse Chip2
PCF8574 pcf21(0x20);
// Verzögerung ohne Bremse
int rounddelay = 150;
// Anzahl der Bremsschritte bis zum Stillstand
int bremse = 8;
//Erste Position des Bits
int firstPos = 1;
byte unten;
byte oben;
//indirekte Adressieung des unteren Zähler (1-8)
int lowport = 1;
//indirekte Adressieung des oberen Zählers Zähler (9-16)
int highport = 2;
// Wert der DAWandlung (Stellung des Potis)
int value;
//Aktueller Stand der Positione des Potis
int ppos = 0;
// Grenzen der Positioen unten / oben
int poslimit[] ={0,100,150,200,250,300,350,400,450,500,550,600};
const unsigned char sample [] PROGMEM = {126, 126, 127, 127, 128, 128, 128, 128, 128, 128, 129, 130, 130, 129, 128, 128, 128, 127, 128, 128, 128, 128, 127, 127, 128, 128, 127, 127, 127, 126, 126, 126, 126, 127, 127, 128, 128, 128, 127, 127, 128, 129, 128, 127, 125, 125, 125, 126, 127, 127, 127, 128, 127, 127, 127, 127, 126, 126, 126, 126, 127, 128, 128, 128, 129, 129, 129, 128, 128, 128, 128, 127, 128, 127, 126, 125, 126, 127, 129, 129, 129, 129, 128, 126, 126, 127, 127, 127, 127, 127, 128, 128, 128, 128, 128, 127, 127, 127, 126, 126, 126, 126, 127, 128, 128, 128, 128, 128, 127, 127, 127, 127, 127, 128, 128, 128, 128, 127, 127, 126, 126, 128, 130, 131, 131, 130, 129, 128, 128, 128, 127, 126, 125, 125, 126, 126, 126, 127, 128, 129, 129, 128, 128, 128, 127, 127, 127, 127, 128, 130, 131, 130, 129, 128, 126, 125, 125, 125, 126, 127, 128, 129, 129, 129, 128, 128, 128, 129, 128, 127, 127, 127, 126, 126, 127, 126, 126, 127, 128, 127, 127, 127, 128, 129, 129, 130, 130, 129, 127, 125, 124, 124, 125, 126, 128, 129, 130, 129, 128, 128, 127, 127, 128, 128, 128, 129, 130, 130, 129, 128, 128, 127, 126, 125, 124, 125, 125, 125, 125, 125, 127, 129, 131, 132, 131, 128, 127, 127, 127, 127, 128, 129, 129, 128, 127, 127, 127, 127, 128, 129, 130, 130, 130, 129, 128, 127, 127, 127, 127, 126, 127, 128, 128, 128, 129, 129, 129, 127, 127, 128, 128, 126, 125, 125, 127, 129, 131, 132, 131, 128, 126, 125, 126, 126, 126, 126, 127, 126, 126, 127, 129, 131, 130, 131, 131, 130, 129, 129, 128, 127, 127, 128, 128, 128, 129, 130, 131, 131, 129, 126, 123, 121, 123, 126, 129, 129, 127, 127, 129, 130, 130, 130, 130, 128, 126, 125, 125, 125, 125, 125, 126, 127, 125, 125, 126, 127, 127, 127, 126, 126, 125, 124, 126, 129, 131, 131, 130, 130, 129, 130, 131, 132, 131, 129, 127, 125, 126, 127, 128, 129, 128, 127, 127, 128, 130, 131, 130, 128, 125, 124, 125, 127, 128, 128, 129, 129, 129, 128, 127, 127, 126, 126, 126, 127, 127, 128, 128, 130, 133, 132, 130, 129, 128, 127, 127, 128, 128, 127, 125, 125, 126, 128, 130, 130, 128, 127, 126, 126, 128, 131, 131, 129, 127, 125, 125, 126, 127, 126, 126, 125, 125, 125, 126, 128, 130, 131, 131, 130, 129, 127, 127, 128, 127, 129, 130, 130, 129, 128, 126, 125, 125, 124, 122, 122, 123, 125, 127, 127, 126, 125, 125, 127, 129, 129, 128, 129, 129, 129, 130, 130, 128, 128, 128, 128, 127, 127, 126, 128, 130, 130, 130, 130, 130, 130, 128, 126, 126, 126, 125, 127, 129, 129, 129, 130, 128, 124, 123, 123, 126, 128, 128, 127, 127, 127, 127, 128, 128, 128, 126, 126, 127, 128, 127, 126, 126, 127, 128, 130, 132, 131, 129, 129, 129, 128, 126, 126, 127, 129, 131, 130, 128, 128, 129, 129, 128, 128, 129, 128, 126, 124, 123, 122, 124, 126, 125, 124, 125, 126, 126, 126, 125, 122, 122, 125, 128, 130, 131, 129, 125, 123, 122, 123, 125, 126, 126, 124, 121, 121, 122, 123, 126, 132, 135, 133, 131, 130, 130, 130, 132, 133, 134, 134, 131, 127, 127, 130, 130, 128, 127, 127, 127, 128, 132, 133, 129, 125, 123, 123, 126, 130, 132, 131, 129, 125, 121, 120, 123, 123, 123, 126, 128, 127, 126, 127, 131, 133, 131, 127, 122, 119, 119, 119, 119, 122, 130, 136, 136, 133, 130, 130, 132, 131, 126, 121, 121, 125, 131, 138, 140, 132, 122, 119, 122, 125, 125, 125, 124, 119, 117, 121, 127, 130, 131, 132, 133, 134, 130, 123, 122, 127, 129, 128, 128, 128, 126, 124, 124, 127, 130, 133, 134, 132, 129, 131, 134, 133, 128, 123, 118, 115, 120, 127, 130, 131, 127, 121, 121, 124, 126, 127, 129, 131, 132, 132, 132, 135, 136, 134, 131, 127, 120, 120, 124, 125, 127, 129, 128, 125, 125, 124, 125, 128, 131, 131, 129, 128, 129, 131, 129, 125, 121, 117, 117, 122, 124, 122, 119, 117, 120, 129, 137, 137, 135, 135, 134, 131, 129, 129, 130, 128, 127, 128, 128, 127, 128, 128, 123, 120, 124, 128, 129, 127, 126, 131, 134, 129, 124, 127, 133, 130, 122, 122, 129, 134, 135, 134, 130, 126, 130, 139, 138, 127, 117, 113, 110, 108, 115, 133, 147, 141, 123, 114, 119, 125, 126, 128, 137, 142, 140, 144, 158, 167, 162, 150, 137, 128, 126, 127, 124, 115, 102, 88, 76, 69, 80, 111, 143, 161, 165, 163, 160, 154, 147, 144, 150, 155, 155, 153, 143, 124, 111, 111, 110, 94, 81, 105, 159, 194, 181, 138, 95, 65, 49, 50, 74, 108, 132, 134, 123, 108, 92, 78, 75, 84, 100, 117, 128, 136, 148, 163, 169, 158, 136, 111, 78, 34, 3, 15, 65, 118, 144, 149, 146, 142, 139, 143, 156, 175, 193, 202, 197, 170, 130, 95, 78, 73, 75, 85, 102, 122, 145, 175, 207, 223, 214, 193, 179, 177, 182, 187, 186, 174, 154, 133, 118, 113, 121, 144, 174, 199, 210, 212, 210, 201, 179, 149, 122, 103, 82, 53, 21, 3, 10, 35, 56, 60, 58, 67, 87, 107, 124, 141, 156, 158, 148, 134, 124, 117, 110, 109, 118, 131, 137, 137, 137, 136, 131, 126, 126, 126, 118, 102, 91, 89, 90, 88, 86, 89, 96, 102, 104, 105, 113, 127, 143, 158, 171, 185, 203, 220, 233, 240, 242, 240, 232, 222, 212, 202, 191, 172, 142, 105, 70, 49, 42, 42, 41, 38, 36, 36, 39, 49, 69, 98, 127, 150, 164, 169, 162, 149, 135, 125, 120, 117, 118, 121, 123, 120, 114, 110, 108, 106, 108, 119, 138, 157, 168, 168, 160, 146, 128, 112, 106, 115, 133, 150, 159, 159, 155, 148, 138, 126, 114, 108, 109, 114, 121, 124, 122, 118, 115, 117, 125, 138, 153, 167, 177, 182, 185, 188, 190, 189, 188, 194, 208, 225, 238, 243, 240, 227, 206, 181, 159, 140, 126, 113, 101, 91, 83, 79, 76, 75, 74, 72, 70, 69, 70, 75, 82, 89, 92, 94, 98, 108, 123, 142, 161, 176, 187, 194, 200, 206, 210, 212, 211, 206, 197, 184, 166, 144, 121, 104, 97, 101, 114, 129, 141, 148, 149, 145, 139, 132, 126, 122, 119, 116, 111, 105, 100, 100, 107, 119, 133, 145, 151, 153, 154, 158, 164, 169, 169, 162, 151, 138, 125, 113, 102, 94, 88, 85, 85, 86, 87, 88, 88, 88, 89, 88, 84, 76, 67, 61, 63, 72, 88, 104, 119, 129, 135, 141, 148, 160, 175, 192, 207, 214, 212, 202, 188, 173, 160, 150, 140, 129, 119, 109, 102, 94, 85, 72, 58, 48, 45, 47, 50, 49, 44, 40, 42, 57, 81, 107, 128, 142, 150, 159, 173, 189, 205, 218, 226, 231, 235, 239, 241, 238, 231, 221, 210, 202, 195, 189, 183, 176, 170, 163, 152, 136, 117, 97, 77, 61, 48, 37, 28, 21, 18, 20, 27, 35, 44, 55, 69, 89, 116, 147, 179, 204, 220, 223, 217, 206, 194, 187, 183, 181, 177, 168, 154, 136, 118, 101, 87, 80, 81, 90, 104, 119, 127, 127, 122, 116, 118, 130, 148, 163, 168, 162, 150, 138, 128, 123, 121, 122, 128, 137, 148, 158, 162, 159, 152, 149, 154, 164, 172, 171, 160, 139, 115, 90, 69, 53, 42, 38, 41, 53, 72, 91, 108, 122, 135, 148, 158, 163, 161, 153, 140, 122, 102, 85, 70, 62, 65, 82, 111, 144, 175, 200, 220, 236, 249, 255, 254, 241, 218, 189, 159, 133, 110, 92, 75, 62, 54, 53, 60, 69, 78, 85, 91, 92, 88, 82, 80, 81, 83, 87, 91, 96, 99, 102, 110, 127, 149, 167, 180, 189, 196, 201, 202, 203, 200, 189, 167, 143, 123, 110, 100, 90, 83, 77, 71, 65, 64, 70, 82, 92, 100, 105, 107, 107, 107, 108, 114, 119, 122, 120, 114, 107, 102, 100, 105, 116, 130, 146, 158, 165, 168, 171, 175, 182, 189, 194, 196, 195, 190, 187, 189, 192, 189, 177, 159, 140, 123, 109, 101, 98, 97, 95, 93, 94, 96, 96, 91, 84, 81, 83, 92, 105, 124, 148, 171, 190, 203, 207, 201, 187, 168, 150, 136, 126, 116, 106, 98, 93, 90, 85, 78, 73, 71, 71, 75, 84, 95, 104, 109, 113, 119, 125, 126, 122, 118, 118, 123, 130, 139, 149, 159, 165, 171, 180, 189, 192, 188, 179, 169, 158, 144, 130, 117, 108, 100, 97, 97, 97, 94, 90, 90, 94, 101, 107, 111, 112, 109, 104, 104, 108, 114, 118, 120, 123, 123, 117, 111, 109, 111, 116, 123, 134, 146, 153, 153, 150, 147, 142, 133, 125, 125, 132, 139, 141, 140, 134, 124, 111, 104, 106, 111, 115, 116, 115, 112, 103, 91, 83, 81, 84, 90, 98, 107, 115, 124, 138, 159, 181, 194, 196, 192, 189, 190, 197, 208, 216, 213, 197, 178, 161, 150, 142, 138, 139, 141, 141, 138, 133, 126, 117, 109, 108, 113, 120, 123, 122, 119, 114, 106, 97, 89, 83, 81, 86, 99, 117, 133, 141, 143, 143, 143, 144, 143, 140, 133, 123, 111, 101, 94, 91, 90, 94, 100, 107, 114, 122, 133, 148, 165, 183, 197, 203, 201, 195, 187, 179, 169, 157, 143, 129, 117, 111, 111, 114, 117, 118, 120, 124, 130, 137, 142, 145, 144, 141, 134, 125, 114, 103, 93, 87, 83, 81, 76, 70, 64, 61, 64, 75, 90, 105, 118, 125, 128, 126, 120, 111, 101, 92, 87, 86, 91, 101, 112, 123, 134, 143, 150, 156, 160, 165, 169, 171, 170, 163, 151, 136, 122, 112, 108, 106, 104, 98, 90, 84, 81, 86, 96, 107, 117, 122, 124, 123, 123, 125, 128, 132, 137, 141, 143, 144, 144, 145, 147, 149, 150, 149, 142, 131, 119, 109, 102, 99, 97, 95, 92, 89, 88, 88, 91, 95, 98, 101, 105, 111, 120, 130, 138, 143, 143, 140, 137, 137, 141, 148, 156, 160, 160, 156, 152, 150, 153, 158, 164, 167, 165, 160, 152, 144, 137, 134, 133, 135, 139, 141, 140, 134, 124, 113, 105, 101, 100, 102, 104, 106, 108, 111, 113, 114, 114, 113, 113, 114, 116, 116, 114, 111, 109, 110, 118, 130, 144, 156, 164, 167, 167, 164, 160, 155, 149, 143, 136, 128, 120, 111, 102, 95, 92, 93, 99, 108, 117, 125, 129, 129, 125, 121, 119, 119, 123, 130, 139, 147, 153, 157, 157, 152, 143, 132, 120, 110, 102, 95, 89, 82, 75, 68, 64, 61, 60, 60, 59, 61, 65, 74, 85, 99, 114, 129, 143, 155, 163, 165, 163, 160, 158, 159, 162, 162, 158, 150, 139, 130, 124, 120, 118, 117, 115, 113, 114, 114, 115, 116, 113, 108, 102, 95, 88, 84, 82, 83, 88, 93, 98, 103, 107, 111, 114, 113, 110, 105, 100, 99, 102, 107, 114, 121, 126, 131, 137, 141, 147, 156, 164, 172, 178, 178, 172, 164, 151, 137, 127, 120, 113, 106, 99, 92, 88, 87, 88, 92, 98, 107, 114, 121, 127, 135, 140, 144, 149, 158, 168, 176, 182, 185, 186, 186, 185, 185, 186, 187, 183, 175, 163, 147, 127, 109, 94, 82, 75, 73, 73, 73, 77, 84, 92, 100, 107, 113, 118, 121, 122, 123, 125, 128, 131, 134, 139, 145, 144, 138, 132, 128, 125, 123, 122, 120, 119, 122, 125, 127, 128, 133, 134, 133, 136, 140, 140, 143, 147, 147, 149, 152, 126, 126, 127, 127, 128, 128, 128, 128, 128, 128, 129, 130, 130, 129, 128, 128, 128, 127, 128, 128, 128, 128, 127, 127, 128, 128, 127, 127, 127, 126, 126, 126, 126, 127, 127, 128, 128, 128, 127, 127, 128, 129, 128, 127, 125, 125, 125, 126, 127, 127, 127, 128, 127, 127, 127, 127, 126, 126, 126, 126, 127, 128, 128, 128, 129, 129, 129, 128, 128, 128, 128, 127, 128, 127, 126, 125, 126, 127, 129, 129, 129, 129, 128, 126, 126, 127, 127, 127, 127, 127, 128, 128, 128, 128, 128, 127, 127, 127, 126, 126, 126, 126, 127, 128, 128, 128, 128, 128, 127, 127, 127, 127, 127, 128, 128, 128, 128, 127, 127, 126, 126, 128, 130, 131, 131, 130, 129, 128, 128, 128, 127, 126, 125, 125, 126, 126, 126, 127, 128, 129, 129, 128, 128, 128, 127, 127, 127, 127, 128, 130, 131, 130, 129, 128, 126, 125, 125, 125, 126, 127, 128, 129, 129, 129, 128, 128, 128, 129, 128, 127, 127, 127, 126, 126, 127, 126, 126, 127, 128, 127, 127, 127, 128, 129, 129, 130, 130, 129, 127, 125, 124, 124, 125, 126, 128, 129, 130, 129, 128, 128, 127, 127, 128, 128, 128, 129, 130, 130, 129, 128, 128, 127, 126, 125, 124, 125, 125, 125, 125, 125, 127, 129, 131, 132, 131, 128, 127, 127, 127, 127, 128, 129, 129, 128, 127, 127, 127, 127, 128, 129, 130, 130, 130, 129, 128, 127, 127, 127, 127, 126, 127, 128, 128, 128, 129, 129, 129, 127, 127, 128, 128, 126, 125, 125, 127, 129, 131, 132, 131, 128, 126, 125, 126, 126, 126, 126, 127, 126, 126, 127, 129, 131, 130, 131, 131, 130, 129, 129, 128, 127, 127, 128, 128, 128, 129, 130, 131, 131, 129, 126, 123, 121, 123, 126, 129, 129, 127, 127, 129, 130, 130, 130, 130, 128, 126, 125, 125, 125, 125, 125, 126, 127, 125, 125, 126, 127, 127, 127, 126, 126, 125, 124, 126, 129, 131, 131, 130, 130, 129, 130, 131, 132, 131, 129, 127, 125, 126, 127, 128, 129, 128, 127, 127, 128, 130, 131, 130, 128, 125, 124, 125, 127, 128, 128, 129, 129, 129, 128, 127, 127, 126, 126, 126, 127, 127, 128, 128, 130, 133, 132, 130, 129, 128, 127, 127, 128, 128, 127, 125, 125, 126, 128, 130, 130, 128, 127, 126, 126, 128, 131, 131, 129, 127, 125, 125, 126, 127, 126, 126, 125, 125, 125, 126, 128, 130, 131, 131, 130, 129, 127, 127, 128, 127, 129, 130, 130, 129, 128, 126, 125, 125, 124, 122, 122, 123, 125, 127, 127, 126, 125, 125, 127, 129, 129, 128, 129, 129, 129, 130, 130, 128, 128, 128, 128, 127, 127, 126, 128, 130, 130, 130, 130, 130, 130, 128, 126, 126, 126, 125, 127, 129, 129, 129, 130, 128, 124, 123, 123, 126, 128, 128, 127, 127, 127, 127, 128, 128, 128, 126, 126, 127, 128, 127, 126, 126, 127, 128, 130, 132, 131, 129, 129, 129, 128, 126, 126, 127, 129, 131, 130, 128, 128, 129, 129, 128, 128, 129, 128, 126, 124, 123, 122, 124, 126, 125, 124, 125, 126, 126, 126, 125, 122, 122, 125, 128, 130, 131, 129, 125, 123, 122, 123, 125, 126, 126, 124, 121, 121, 122, 123, 126, 132, 135, 133, 131, 130, 130, 130, 132, 133, 134, 134, 131, 127, 127, 130, 130, 128, 127, 127, 127, 128, 132, 133, 129, 125, 123, 123, 126, 130, 132, 131, 129, 125, 121, 120, 123, 123, 123, 126, 128, 127, 126, 127, 131, 133, 131, 127, 122, 119, 119, 119, 119, 122, 130, 136, 136, 133, 130, 130, 132, 131, 126, 121, 121, 125, 131, 138, 140, 132, 122, 119, 122, 125, 125, 125, 124, 119, 117, 121, 127, 130, 131, 132, 133, 134, 130, 123, 122, 127, 129, 128, 128, 128, 126, 124, 124, 127, 130, 133, 134, 132, 129, 131, 134, 133, 128, 123, 118, 115, 120, 127, 130, 131, 127, 121, 121, 124, 126, 127, 129, 131, 132, 132, 132, 135, 136, 134, 131, 127, 120, 120, 124, 125, 127, 129, 128, 125, 125, 124, 125, 128, 131, 131, 129, 128, 129, 131, 129, 125, 121, 117, 117, 122, 124, 122, 119, 117, 120, 129, 137, 137, 135, 135, 134, 131, 129, 129, 130, 128, 127, 128, 128, 127, 128, 128, 123, 120, 124, 128, 129, 127, 126, 131, 134, 129, 124, 127, 133, 130, 122, 122, 129, 134, 135, 134, 130, 126, 130, 139, 138, 127, 117, 113, 110, 108, 115, 133, 147, 141, 123, 114, 119, 125, 126, 128, 137, 142, 140, 144, 158, 167, 162, 150, 137, 128, 126, 127, 124, 115, 102, 88, 76, 69, 80, 111, 143, 161, 165, 163, 160, 154, 147, 144, 150, 155, 155, 153, 143, 124, 111, 111, 110, 94, 81, 105, 159, 194, 181, 138, 95, 65, 49, 50, 74, 108, 132, 134, 123, 108, 92, 78, 75, 84, 100, 117, 128, 136, 148, 163, 169, 158, 136, 111, 78, 34, 3, 15, 65, 118, 144, 149, 146, 142, 139, 143, 156, 175, 193, 202, 197, 170, 130, 95, 78, 73, 75, 85, 102, 122, 145, 175, 207, 223, 214, 193, 179, 177, 182, 187, 186, 174, 154, 133, 118, 113, 121, 144, 174, 199, 210, 212, 210, 201, 179, 149, 122, 103, 82, 53, 21, 3, 10, 35, 56, 60, 58, 67, 87, 107, 124, 141, 156, 158, 148, 134, 124, 117, 110, 109, 118, 131, 137, 137, 137, 136, 131, 126, 126, 126, 118, 102, 91, 89, 90, 88, 86, 89, 96, 102, 104, 105, 113, 127, 143, 158, 171, 185, 203, 220, 233, 240, 242, 240, 232, 222, 212, 202, 191, 172, 142, 105, 70, 49, 42, 42, 41, 38, 36, 36, 39, 49, 69, 98, 127, 150, 164, 169, 162, 149, 135, 125, 120, 117, 118, 121, 123, 120, 114, 110, 108, 106, 108, 119, 138, 157, 168, 168, 160, 146, 128, 112, 106, 115, 133, 150, 159, 159, 155, 148, 138, 126, 114, 108, 109, 114, 121, 124, 122, 118, 115, 117, 125, 138, 153, 167, 177, 182, 185, 188, 190, 189, 188, 194, 208, 225, 238, 243, 240, 227, 206, 181, 159, 140, 126, 113, 101, 91, 83, 79, 76, 75, 74, 72, 70, 69, 70, 75, 82, 89, 92, 94, 98, 108, 123, 142, 161, 176, 187, 194, 200, 206, 210, 212, 211, 206, 197, 184, 166, 144, 121, 104, 97, 101, 114, 129, 141, 148, 149, 145, 139, 132, 126, 122, 119, 116, 111, 105, 100, 100, 107, 119, 133, 145, 151, 153, 154, 158, 164, 169, 169, 162, 151, 138, 125, 113, 102, 94, 88, 85, 85, 86, 87, 88, 88, 88, 89, 88, 84, 76, 67, 61, 63, 72, 88, 104, 119, 129, 135, 141, 148, 160, 175, 192, 207, 214, 212, 202, 188, 173, 160, 150, 140, 129, 119, 109, 102, 94, 85, 72, 58, 48, 45, 47, 50, 49, 44, 40, 42, 57, 81, 107, 128, 142, 150, 159, 173, 189, 205, 218, 226, 231, 235, 239, 241, 238, 231, 221, 210, 202, 195, 189, 183, 176, 170, 163, 152, 136, 117, 97, 77, 61, 48, 37, 28, 21, 18, 20, 27, 35, 44, 55, 69, 89, 116, 147, 179, 204, 220, 223, 217, 206, 194, 187, 183, 181, 177, 168, 154, 136, 118, 101, 87, 80, 81, 90, 104, 119, 127, 127, 122, 116, 118, 130, 148, 163, 168, 162, 150, 138, 128, 123, 121, 122, 128, 137, 148, 158, 162, 159, 152, 149, 154, 164, 172, 171, 160, 139, 115, 90, 69, 53, 42, 38, 41, 53, 72, 91, 108, 122, 135, 148, 158, 163, 161, 153, 140, 122, 102, 85, 70, 62, 65, 82, 111, 144, 175, 200, 220, 236, 249, 255, 254, 241, 218, 189, 159, 133, 110, 92, 75, 62, 54, 53, 60, 69, 78, 85, 91, 92, 88, 82, 80, 81, 83, 87, 91, 96, 99, 102, 110, 127, 149, 167, 180, 189, 196, 201, 202, 203, 200, 189, 167, 143, 123, 110, 100, 90, 83, 77, 71, 65, 64, 70, 82, 92, 100, 105, 107, 107, 107, 108, 114, 119, 122, 120, 114, 107, 102, 100, 105, 116, 130, 146, 158, 165, 168, 171, 175, 182, 189, 194, 196, 195, 190, 187, 189, 192, 189, 177, 159, 140, 123, 109, 101, 98, 97, 95, 93, 94, 96, 96, 91, 84, 81, 83, 92, 105, 124, 148, 171, 190, 203, 207, 201, 187, 168, 150, 136, 126, 116, 106, 98, 93, 90, 85, 78, 73, 71, 71, 75, 84, 95, 104, 109, 113, 119, 125, 126, 122, 118, 118, 123, 130, 139, 149, 159, 165, 171, 180, 189, 192, 188, 179, 169, 158, 144, 130, 117, 108, 100, 97, 97, 97, 94, 90, 90, 94, 101, 107, 111, 112, 109, 104, 104, 108, 114, 118, 120, 123, 123, 117, 111, 109, 111, 116, 123, 134, 146, 153, 153, 150, 147, 142, 133, 125, 125, 132, 139, 141, 140, 134, 124, 111, 104, 106, 111, 115, 116, 115, 112, 103, 91, 83, 81, 84, 90, 98, 107, 115, 124, 138, 159, 181, 194, 196, 192, 189, 190, 197, 208, 216, 213, 197, 178, 161, 150, 142, 138, 139, 141, 141, 138, 133, 126, 117, 109, 108, 113, 120, 123, 122, 119, 114, 106, 97, 89, 83, 81, 86, 99, 117, 133, 141, 143, 143, 143, 144, 143, 140, 133, 123, 111, 101, 94, 91, 90, 94, 100, 107, 114, 122, 133, 148, 165, 183, 197, 203, 201, 195, 187, 179, 169, 157, 143, 129, 117, 111, 111, 114, 117, 118, 120, 124, 130, 137, 142, 145, 144, 141, 134, 125, 114, 103, 93, 87, 83, 81, 76, 70, 64, 61, 64, 75, 90, 105, 118, 125, 128, 126, 120, 111, 101, 92, 87, 86, 91, 101, 112, 123, 134, 143, 150, 156, 160, 165, 169, 171, 170, 163, 151, 136, 122, 112, 108, 106, 104, 98, 90, 84, 81, 86, 96, 107, 117, 122, 124, 123, 123, 125, 128, 132, 137, 141, 143, 144, 144, 145, 147, 149, 150, 149, 142, 131, 119, 109, 102, 99, 97, 95, 92, 89, 88, 88, 91, 95, 98, 101, 105, 111, 120, 130, 138, 143, 143, 140, 137, 137, 141, 148, 156, 160, 160, 156, 152, 150, 153, 158, 164, 167, 165, 160, 152, 144, 137, 134, 133, 135, 139, 141, 140, 134, 124, 113, 105, 101, 100, 102, 104, 106, 108, 111, 113, 114, 114, 113, 113, 114, 116, 116, 114, 111, 109, 110, 118, 130, 144, 156, 164, 167, 167, 164, 160, 155, 149, 143, 136, 128, 120, 111, 102, 95, 92, 93, 99, 108, 117, 125, 129, 129, 125, 121, 119, 119, 123, 130, 139, 147, 153, 157, 157, 152, 143, 132, 120, 110, 102, 95, 89, 82, 75, 68, 64, 61, 60, 60, 59, 61, 65, 74, 85, 99, 114, 129, 143, 155, 163, 165, 163, 160, 158, 159, 162, 162, 158, 150, 139, 130, 124, 120, 118, 117, 115, 113, 114, 114, 115, 116, 113, 108, 102, 95, 88, 84, 82, 83, 88, 93, 98, 103, 107, 111, 114, 113, 110, 105, 100, 99, 102, 107, 114, 121, 126, 131, 137, 141, 147, 156, 164, 172, 178, 178, 172, 164, 151, 137, 127, 120, 113, 106, 99, 92, 88, 87, 88, 92, 98, 107, 114, 121, 127, 135, 140, 144, 149, 158, 168, 176, 182, 185, 186, 186, 185, 185, 186, 187, 183, 175, 163, 147, 127, 109, 94, 82, 75, 73, 73, 73, 77, 84, 92, 100, 107, 113, 118, 121, 122, 123, 125, 128, 131, 134, 139, 145, 144, 138, 132, 128, 125, 123, 122, 120, 119, 122, 125, 127, 128, 133, 134, 133, 136, 140, 140, 143, 147, 147, 149, 152, };
// genriert eine Zufallszahl 0-15 wenn das Rad nicht dreht
void getpos()
{
int value = analogRead(A0);
delay(100);
if (value > poslimit[0] & value < poslimit[1])
{
ppos = 0;
tone(2, 262, 30);
Serial.println(value);
delay (3000);
}
}
void getstep()
{
while (buttonState == 1)
{
buttonState = digitalRead(pushButton);
count = random(1,17);
count = count + 16;
//count = 8;
dtime = 5;
dtimestep = 100;
getpos();
}
//Serial.println(count-16);
return;
}
void stepper(int portnumber)
{
//Serial.println(count);
switch (portnumber )
{
case 1:
pcf21.write8(0); // Setzte 2.Port auf 0
break;
case 2:
pcf20.write8(0); // Setzte 1.Port auf 0
break;
}
firstPos = 1;
switch (portnumber)
{
case 1:
for (int i = 1; i <= 8; i++)
{
{
if (count <= 0)
//Serial.println(count);
break;
}
//startPlayback(sample,sizeof(sample));
delay (rounddelay);
if (count < bremse)
{
dtime = dtime + dtimestep;
delay (dtime);
}
unten = lowByte(firstPos);
pcf20.write8(unten);
tone(2, 262, 30);
firstPos = firstPos << 1;
count = count - 1;
}
break;
case 2:
//Serial.println(portnumber);
//Serial.println(count);
for (int i = 1; i <= 8; i++)
{
if (count <= 0)
{
//Serial.println(count);
break;
}
delay (rounddelay);
if (count < bremse)
{
dtime = dtime + dtimestep;
delay (dtime);
}
oben = lowByte(firstPos);
pcf21.write8(oben);
tone(2, 262, 30);
firstPos = firstPos << 1;
count = count - 1;
//Serial.println (count);
}
break;
}
return;
}
void setup() {
Serial.begin(115200);
delay(500);
// Serial.print("PCF8574_LIB_VERSION:\t");
// Serial.println(PCF8574_LIB_VERSION);
pinMode(pushButton, INPUT);
pinMode(A0, INPUT);
// Prüfung der Initialisierung
if (!pcf20.begin()) {
Serial.println("Chip1 not responding.");
}
if (!pcf21.begin()) {
Serial.println("Chip2 not responding.");
}
if (!pcf20.isConnected()) {
Serial.println("could not initialize Chip1... => not connected");
while (1);
}
if (!pcf21.isConnected()) {
Serial.println("could not initialize Chip2... => not connected");
while (1);
}
//Schaltet alle LEDS aus
pcf20.write8(0);
pcf21.write8(0);
}
void loop()
{
getstep();
//for (int m = 0; m < 2; m++)
//{
//stepper2();
//}
while (count > 0)
{
stepper(lowport);
if (count > 0)
{
stepper(highport);
}
}
buttonState = 1;
}