Sudoku Generator

  Overview Developed the game "Sudoku" using Python and the Z3 API. Z3 is a theorem solver that we utilized to randomly generate Sudoku puzzles. This required us to create solver constraints that correspond to Sudoku rules. Our solver serves the purpose of generating 81 numbers that correspond to the 9x9 board of Sudoku. These numbers are constrained in that they must be between 1 and 9, inclusive. The rows of the board must not contain any of the same number. The same is true of the columns and each 3x3 subsection of the board. Figure 1: Image of one randomly generated Sudoku Board in the Visual Studio Code terminal In-Depth Explanation of Project and Methods       The scope of the project was to create a sudoku game in python that can be played within the terminal. To accomplish this we also needed to create a sudoku solver so that we could check the board we were generating to make sure it was solvable and that it only had one solution, or in other words that it

Snake Game Console

Overview Developed the game "Snake" using embedded C programming and several hardware components. The microcontroller used was the ARM Cortex-M4 on Texas Instrument's MSP432P401R Launchpad. The project consisted of using UART in order for the microcontroller to communicate with an external LCD (liquid crystal display) and using I2C in order to communicate with an external LRA (haptic feedback motor). In addition, we used peripherals on the Launchpad such as the ADC, pwm pins, and gpio pins to perform various other functions. Quick Demo      The above demo shows gameplay of our snake game with fully functioning matrix LED, LCD, joystick, and haptic motor driver. As shown, the LCD displays the score of the game, the joystick is used to control movement of the snake, and the haptic motor driver vibrates whenever the snake hits an apple. Hardware Components SparkFun Serial Enabled 16x2 LCD - White on Black 3.3V Texas Instruments MSP-EXP432P401R SimpleLink MSP432 Launchpa

Hand Gesture Controlled Speaker

Overview The Hand Gesture Controlled Speaker is a device that can interface with any speaker through an audio jack connection. Once the speaker is connected to this device, several functions can be controlled through motion detection. Functions such as changing the song, adjusting the volume, and pausing/playing music through the detection of hand gestures have been incorporated into this project. This project geared towards anyone who is interested in new ways to interact with technology and music. Quick Demo The above demo displays the gesture controlled speaker's ability to detect the hand motion in order to adjust volume and change songs. When using a right sweeping hand motion above above the device, it will fast forward to the next song on the playlist, and when using a left sweeping motion the device will go back to the previous song. The volume is adjusted based on the hand's distance away from the front of the device. (My apologies for poor video quality, th