Major Project Help ! Please reply ASAP

I am a student doing my HSC and saw a YouTube video showing a 10x10 matrix which uses an Arduino board and RGB LED strip (WS2812B). My project is to help students with numbers and algebra.

I need the strip to count from 1-100. I have found a simple code in Arduino example from downloading Fast LED library and picked FirstLight. I manipulated the code by simply changing the values. I had the strip counting up by 1s, 2s, 3s, 4s, 5s and so on. I need buttons so that the students can press it and be able to count up numbers by whichever number they want but I don’t know how I’m going to code it or connect all of them together. I’m not very good at coding, would you be able to give me a hand?

Thanks

We don’t want to take all of the fun out of your HSC project! Though if you find that it becomes too hard to remix someone else’s code to do something a different, then it might be worth building something from the ground up.

https://core-electronics.com.au/tutorials/ws2812-addressable-leds-arduino-quickstart-guide.html

The above guide will walk you through how to use WS2818 LEDs from a low-enough level that it could be remixed for anything. Using an array for a 10x10 image, along with a couple of constants which hold the patterns for each number, you could whip this up with a couple of functions.

Here’s something we did with a Raspberry Pi a little while ago, perhaps you’ll find some inspiration to make use of bigger pixel-patterns as we did.

https://core-electronics.com.au/projects/led-pixel-matrix

Is there any chance that I could come by and show you my project?

This is code I have used to detect a button press using interrupts.

// declare variable to hold state of button press
bool ButtonON = false;

// interrupt routine for button press
void ButtonPressedISR() {
  ButtonON = true;
}

void setup() {

// push button on Digital pin 2
  pinMode(2, INPUT_PULLUP);            
  attachInterrupt(digitalPinToInterrupt(2), ButtonPressedISR, FALLING);

}

void loop() {

  if (ButtonON) {
    // set variable to change the way the display counts
    // this could increment, so pressing the button would step through the available options
    // reseting when it got to the top level
     ButtonOn = false;
  }

}
1 Like