// Antweight-Arena // Kantonsschule Zürich Nord #include #include #include #define NEOPIXEL_PIN 6 #define LIFT_PIN1 9 #define LIFT_PIN2 10 #define BUMPER_PIN 7 #define START_PIN 3 #define BUMPER_LED_PIN 4 #define PIT_PIXEL_START 0 #define PIT_PIXEL_END 4 #define CLOCK_PIXEL_START 4 #define CLOCK_PIXEL_END 34 #define ARENA_PIXEL_START 34 #define ARENA_PIXEL_END 91 // Popular NeoPixel ring size Adafruit_NeoPixel pixels(ARENA_PIXEL_END, NEOPIXEL_PIN, NEO_GRB + NEO_KHZ800); Buzzer buzzer(11); bool not_started = true; bool pit_not_released = true; bool release_time = false; bool pit_dark = false; int clock = 1; void nothing() {} auto timer = timer_create_default(); // create a timer with default settings auto pit_blink_task = timer.in(240*1000,nothing); auto pit_task = timer.in(240*1000, nothing); void setup() { pinMode(LIFT_PIN1,OUTPUT); pinMode(LIFT_PIN2,OUTPUT); pinMode(BUMPER_LED_PIN,OUTPUT); pinMode(BUMPER_PIN,INPUT_PULLUP); pinMode(START_PIN,INPUT_PULLUP); pixels.begin(); // INITIALIZE NeoPixel strip object (REQUIRED) pixels.clear(); // Set all pixel colors to 'off' pixels.show(); digitalWrite(BUMPER_LED_PIN,LOW); reset_platform(); arenaWhite(); clockstart(); } bool led_clock(void *) { if (clock==30) { for (int i=CLOCK_PIXEL_START; i=0; j--) { for(int i=CLOCK_PIXEL_START; i=0; j--) { for(int i=CLOCK_PIXEL_START; i