LED Matrix Scoreboard (Arduino - CircuitPython)

Job ID: 32534657

Budget: $10 – $30 AUD

Update code of an LED scoreboard (https://learn.adafruit.com/led-matrix-scoreboard?view=all)

1) When the Feather M4 is powered on display the following text with a black background:
a) BASKETBALL ARCADE, static white text
b) PRESS START, blinking white text
c) HIGH SCORE static text (yellow) with HIGH SCORE value (white)

2) When the START button is pressed the content on the matrix changes to the following:
a) HIGH SCORE static text (yellow) with HIGH SCORE value (white)
b) TIME static text (white) with TIME value counting down from 60 seconds:
c) The colour of the TIME value is green between 60 and 21 seconds and the NeoPixels also change to green
d) The colour of the TIME value is yellow between 20 and 11 seconds and the NeoPixels also change to yellow
e) The colour of the TIME value is red between 10 and 0 seconds and the NeoPixels also change to red
f) SCORE static text (blue) with SCORE value (white) incrementing by 1 point everytime the IR Sensor detects the ball going through the hoop

3) If the HIGH SCORE value is beaten during 30 and 1 seconds change the content on the matrix to the following:
a) NEW HIGH SCORE!! TIME ADDED 30 SECONDS, static red text
b) GET READY! static text (white) with a 15 second count down
c) The colour of the GET READY! value is green between 15 and 10 seconds
d) The colour of the GET READY! value is yellow between 9 and 5 seconds
e) The colour of the GET READY! value is red between 4 and 0 seconds
f) With the NeoPixels strip display flashing rainbow effect colours
g) Add 30 seconds to the time where it paused then change the content on the matrix to the following:
h) HIGH SCORE value with a red X on top
i) Additional BONUS text added on angle near TIME text
j) TIME static text (white) with TIME value counting down from the added time in seconds:
k) The colour of the TIME value is green between 60 and 21 seconds and the NeoPixels also change to green
l) The colour of the TIME value is yellow between 20 and 11 seconds and the NeoPixels also change to yellow
m) The colour of the TIME value is red between 10 and 0 seconds and the NeoPixels also change to red
n) SCORE static text (blue) with NEW HIGH text (green) added an with the SCORE value (green) incrementing

4) When the timer hits 0 seconds play the audio file of a buzzer and flash the NeoPixels red
5) If the SCORE value is higher than the previous HIGH SCORE, play the cheering audio file and display CONGRATULATIONS!! NEW HIGH SCORE with value, NeoPixels should flash random colours, wait 10 seconds then go to the START screen
6) If the SCORE value is lower than the previous HIGH SCORE, play the cheering audio file and display GOOD GAME!! YOUR SCORE with value, NeoPixels should flash random colours, wait 10 seconds then go to the START screen
7) When holding the button for 5 seconds on the START screen it resets the HIGH SCORE to 0

Note: On the left and right side of the RGB Matrix please ignore a few pixels

Components:
- Adafruit Feather M4 Express (https://www.adafruit.com/product/3857)
- Adafruit RGB Matrix Featherwing Kit M4 (https://www.adafruit.com/product/3036)
- Header Kit for Feather - 12-pin and 16-pin Female Header Set (https://www.adafruit.com/product/2886)
- 64x32 RGB LED Matrix - 4mm pitch (https://www.adafruit.com/product/2278)
- Adafruit NeoPixel Digital RGB LED Strip (https://www.adafruit.com/product/1138)
- Adafruit STEMMA Speaker - Plug and Play Audio Amplifier (https://www.adafruit.com/product/3885)
- Sharp GP2Y0A41SK0F Analog Distance Sensor 4-30cm (https://www.pololu.com/product/2464)
- Mini LED Arcade Button - 24mm Translucent Clear (https://www.adafruit.com/product/3429)
Related categories: Python Electronics Microcontroller Arduino Programming