Basically, we plan on having an unsolved hard-coded Sudoku puzzle (or 2 or 3). The user will be able to input numbers to particular cells in this soduko. If the input is indeed the correct number that belongs in that cell to solve the puzzle, a signal will be sent via bluetooth to another arduino that will then send a signal to an LED display that will cause a specific block of LEDs on the 16x32 LED display to light up. The blocks on the LED will also correspond in position to the cells on the sudoku puzzle. For example, if the top left cell of the sudoku is solved, the top left 2x4 block of LEDs will light up. When all LEDs light up, a message will display!

Share this project:

Updates

posted an update

Just a final comment on the project:

Programming the sending and receiving ends on the Arduino was pretty difficult. A lot of it had to be hard-coded because at the end of the day, it was a unique 9x9 Sudoku puzzle with 81 distinct solutions corresponding to 81 unique "segments" of LED that were meant to light up in particular locations. It took a while to decide on the final picture, hard-coding in the pixels of LED that would light up every time an input was correct from the Sudoku board, as well as at times have to write pixel-by-pixel on an the 16x32 LED display what color each LED should light up as. Another aspect of this project that was difficult was coding in how to send strings over the bluetooth Serial monitor, because it was a lot more difficult than sending single characters. Nonetheless, because of all of these difficulties, this project made me realize how important project planning is when you're working with finicky systems and plan to have "hard-coded" concepts like a distinct outcome/display of LEDs and a puzzle that only solves in a distinct way. I also learned more about how strings function in programs like C/Arduino (much different than in MATLAB). And although I stressed how hard-coded the puzzle and display are, if one were to decide they wanted to solve a different puzzle, they would merely have to change the vector of "given" values of said new puzzle, and change the values of accepted entries for each distinct row and column of the Sudoku puzzle they wanted to solve. It would take some time, but it would be rather straightforward. In addition, changing the final image displayed would be rather annoying, but that comes with the territory of operating a 16x32 LED that is by no-means intuitive and holds no documentation on the library from which it operates. (I looked up and also learned a lot about interfacing MATLAB with Arduino figuring it could be useful for treating the LED panel as a matrix of LEDs which it was to a certain extent, but MATLAB was really only meant to interface with Arduino in certain ways, and also had no intuitive documentation on interfacing with certain libraries. That being said, I still learned a lot about interfacing MATLAB and Arduino and could see myself using Matlab on projects involving Arduino down the road). If you read this whole comment thank you!

Log in or sign up for Devpost to join the conversation.