Simple implementation of goal counter for table football using laser diode and phototransistor.
Dependencies: GoalCounter WS2812 PixelArray
Diff: main.cpp
- Revision:
- 5:95cb2348af01
- Parent:
- 4:5a11a84fac69
- Child:
- 6:a93ee22232f2
--- a/main.cpp Sun Jan 13 14:23:30 2019 +0000 +++ b/main.cpp Sun Jan 13 14:51:45 2019 +0000 @@ -11,24 +11,21 @@ //Initialize instances of Timers Timer timer1; -//Timer t2; +Timer timer2; // Initialize instace of a pixel array for LED strip 1 ar 2 PixelArray px1(WS2812_BUF); -//PixelArray px2(WS2812_BUF); +PixelArray px2(WS2812_BUF); // The given numbers are calculated for the K64F MCU WS2812 ws1(D4, WS2812_BUF, 0, 5, 5, 0); -//WS2812 ws2(D5, WS2812_BUF, 0, 5, 5, 0); +WS2812 ws2(D5, WS2812_BUF, 0, 5, 5, 0); // For debug use Serial pc(USBTX, USBRX); GoalCounter gc(D2, &timer1); - -// Initialize instances of Ticker classes for handling goal counters -//Ticker bank1; -//Ticker bank2; +GoalCounter gc2(D3, &timer2); float balltime1 = 0; float speed1 = 0; @@ -67,22 +64,22 @@ { ws1.useII(WS2812::GLOBAL); // use global intensity scaling -// ws2.useII(WS2812::GLOBAL); // use global intensity scaling + ws2.useII(WS2812::GLOBAL); // use global intensity scaling pc.printf("Initialization... \n\r"); while(1) { if (gc.is_goal == 1) { get_info(&score1, &balltime1, &speed1, &gc); set_score(score1, &px1, &ws1); -// score1 = gc.get_score(); -// balltime1 = gc.get_balltime(); -// speed1 = gc.get_ballspeed(); -// pc.printf("Score : %d \n\r", score1); -// pc.printf("Time of ball pass : %f seconds\n\r", balltime1); -// pc.printf("Speed of ball (34 mm diameter) : %f kph\n\r", speed1); print_score(score1, balltime1, speed1); gc.is_goal = 0; } + else if (gc2.is_goal == 1) { + get_info(&score2, &balltime2, &speed2, &gc2); + set_score(score2, &px2, &ws2); + print_score(score2, balltime2, speed2); + gc2.is_goal = 0; + } if (score1 >= 10) { pc.printf("Game over \n\r"); for (int i=1; i<= 10; i++) {