Abstract: We are going to use LPC4088 to construct a motion-controlled robotic arm, which has six servo motors. These precision servo motors represent the joints of the robotic arm. Since it has six joints, we would like to use two Wii Nunchucks to control them. We plan to use two methods of controlling. The first method is to control the arm with accelerometers. The second method is to control the arm with joysticks. Firstly, the x-axis, y-axis, and z-axis of the first Wii Nunchuck control motor 6, motor 5, and motor 4, respectively. Similarly, the x-axis, y-axis, and z-axis of the second Wii Nunchuck control motor 3, motor 2, and motor 1 (clamp), respectively. Besides using accelerometers of the Wii Nunchucks, we also want to use the two joysticks and z-button on the Wii Nunchuck to control the 5 motors (omitting motor 6 in joystick method). Specifically, the x-axis and y-axis of the first joystick control motor 5 and motor 4. Similarly, the x-axis, y-axis, and z-axis of the second joystick control motor 3 and motor 2. In addition, the z button of the second one controls the motor 1 (clamp).
Abstract: Our project will mimic a MIDI Drum Kit that will take in a drum hit by a user, and output a sound chosen by the user. The kit will consist of 4 drum pads that sit on top of piezo force sensors connected to GPIO input pins of the LPC4088. Upon reading a “drum hit”, the LPC4088 will output one of the many preset sounds stored in an SD Card on the board. The user has the ability to “set” the output sound of each individual drum pad. This is done through the combination of an LCD screen and a Rotary Encoder. The user will use the rotary encoder to first select which drum pad to program, then followed by which sound to program the drum pad with. The LCD screen will display a graphic that shows which drum pad is being selected, along with a “sound list” for the user to choose from when programming a sound.
Team: Justin Hemphill, Junayed Naushad, and Howard Lin
Abstract: We propose to make a single player battleship game using the LPC Microcontroller and two 8x8 RGB LED matrices. The goal for the user is to simply sink all of the CPU’s battleships before the CPU sinks theirs. We will need two LED matrices because one will be used to setup the user’s battleships and the other will be used for targeting the CPU’s battleships. The joystick will be used to position the battleships and for selecting coordinates while the push buttons will be used to start and stop the game and change the orientations of the ships. The start of the game will be indicated by all of the LEDs glowing blue and the end of the game will be indicated by all of the LEDs glowing green if the user wins and red if they lose. The LEDs will glow green to indicate the positions of the user’s ships, blue to indicate a miss, and red to indicate a hit.
Abstract: We propose to use the LPC microcontroller to create a functional piano. A breadboard with controls will be interfaced with the board in order to create keys to play an octave, with buttons to control which octave the keys are played in. A LED strip will also be interfaced with the board in order to determine which octave the keys are playing in which will be visually represented as different colors depending on the octave. To increase functionality, the use of a potentiometer and ADC on board will be explored in two possibilities. The first would be control of the amplitude, allowing the user to control the volume of the frequency. The second would be using the potentiometer to frequency shift the notes being played, so the frequency of a note can be changed by the user to play the range of an octave with one key, as well as the frequencies between each note that traditional pianos cannot play.
Abstract: A single player uses a Wii nunchuck to solve a randomly generated 8x8 pseudo-sudoku puzzle (not necessarily with a unique solution), with 8 distinct colors instead of numbers. The joystick of the nunchuck moves a white blinking cursor around the board. Pressing the ‘Z’ and ‘C’ buttons / triggers of the nunchuck cycles forward and backward through colors. The “set” blocks, or puzzle hints, are brighter to indicate that they cannot be changed. There will be some visual indication of victory. If we have time, we will implement difficulty selection by displaying the letter E (easy), N (normal), or H (hard) on the LED screen which can be cycled by a button on the LPC4088 board.
Team: Chris Chan, Zachary Battles, and Jacob Zamora
Abstract: We plan to create an automatic control system for the gear shifters on a 21 speed bicycle. The device would interface with a standard bike with varying speed gears by controlling the shifter cables that run from the bike’s chain derailleur while reading the speed of the wheels and position of the pedals. The goal would be to create a real time control system that would use the data gathered from the speed and pedal position in order to select the right gear ratio for the current speed. There will be a servo attached to the control end of the shifter cable at the handle bars and a tachometer reading the speed of the rear wheel attached to the main frame of the bike. There will also be a Hall effect sensor reading the position of the pedals to guarantee engagement of the current gear before indexing the next gear in rapid gear change situations such as starting and stopping on a bike. The microcontroller and power source for our peripherals will be stored in the storage basket attached to the handle bars of the bicycle. The system will also prompt the user with three LED notifications for upshifting, downshifting, and user pedal to engage chain.
Team: Kyle Douglas, Garey Fleeman, and Matthew Dupree
Abstract: We propose to build a small, 2wheel drive cart mounting the LPC4088 developer’s kit for mobile movement. Steering is handled by driving the two wheels differentially, as the cart turns on a third freedirection wheel. The board is setup with an array of three or more microphones connected via multiplexed analog input to listen for sounds in the local environment. Then, software on the board performs simple bandpass filtration to listen for human vocal ranges, allowing the cart to follow the sound of the loudest nearby voice. To drive the wheels, we intend to use the LPC4088 developer board’s GPIO pins to drive Hbridges to drive brushed DC motors, individually controlled with PWM. Though the LPC4088 developer’s board has only a single ADC, this one ADC device allows for 8input multiplexing. Because we need only brief snippets of environmental audio to bandpass filter, we can effectively maintain responsive control by roundrobin cycling all (connected) analog inputs. This would be awful for speech recognition, recording, or any more consistent processing, but should be sufficient for our application.
Team: Cesar Gonzalez, Byron Aguilar, and Hamilton Wu
Abstract: We plan to create a physical game merging the ideas of both air hockey and pinball. There will be an enclosed field; on both ends of the field there would be two flippers that guard your “goal”. These flippers will be controlled by simple actuators, which are each triggered by a different button. The actuators will be hooked up to a 12v power supply, independent of the LPC board. Score keeping will be implemented using break beam sensors and a led matrix. Break beam sensors will be placed on both goals waiting for a passing ball to trip the infrared, signifying a point being made, this score will then appear on the led matrix. A tilting mechanism of the entire playing field will be implemented using two servos on opposing sides in the middle of the field enclosure. If the ball happens to get stuck somewhere on the board, this tilting mechanism will be used to roll the ball back into play. Break beam sensors will be used across the board to indicate on whose side the ball got stuck on.
Team: Albert Tran, Richard Rodriguez, and Josh Lakin
Abstract: For this project we plan on building a maze simulator that using a joystick to move a player through a randomly generated maze. We want to use a pseudo-3D technique called raycasting which can turn a 2D map into a 3D object that you can explore. It’s an older technique that was used in the first 3D games and doesn’t require too much memory or any costly computation. Raycasting essentially creates 3D objects using a bunch of straight lines, where the length and brightness of the line corresponds to the distance of the object from the viewing point. Most of the computation involves computing dot products between 2D vectors.
Abstract: We plan to implement a NES game emulator. This involves writing a virtualized version of a CPU and picture processing unit (PPU) that will run on the microcontroller. We will support loading games via SD card, playing these games with external controllers, and viewing the game on an external display. To do this, data lines from the controller ports will need to be processed and trigger interrupts on the emulated CPU. The video data will need to be converted with a DAC to output VGA. Given extra time, we plan to port our emulation system to a custom PCB running LPC4088 and STM32 microcontrollers.
Team: Sarita Phoosopha, Crystal Eskander, and Lekha Adari.
Abstract: Our goal is to use a Wii Nunchuk with a USB adapter as a drawing tool to light up specific LEDs in order to display an image, which will be done by connecting a Wii Nunchuck to the LPC-4088 using a USB adapter. The user will maneuver the Nunchuk’s joystick to design their image on the 8x8 LED Display screen. We will incorporate additional functionality into a button on the LPC-4088 to change the lighting schemes. We will also send coordinates of the ‘ON’ LED lights to the UART.
Abstract: We propose to develop a chess game by using LPC4088 microcontroller and USB host keyboard. Each player will alternatively typying the current position and destination of piece and check board will immediately print the updated check board or error message if the moving is not allowed. When king of one player is in check, the other player will win the game. The screen will print game over and play music.
Abstract: Inspired by popular mobile music games, we intend to design a falling-type music game, in which players catch the falling notes defined by a chart (like a music score) corresponding to the rhythm of playing music when the notes reach the bottom line. The charts are pre-designed to match the music. Notes are displayed on the LED matrix. The score players receive are based on the hit accuracy. The hit accuracy, based on the time difference between hit and note, is divided into (from high to low) excellent, good and miss. The score and the hit accuracy of the current note will be printed in real time on an LCD screen.
Abstract: "Piano Tiles” is a music game that allows people to tab the black square to perform a piano piece. We propose an automatic of this game using microprocessor. When the game is displayed on the screen, we use a light sensor chip to detect the color of the block. If the upcoming block is black, the signal will be fed into LPC 4088 microcontroller and trigger the servo motor on the corresponding line through GPIO. The motor will push a piston and touch the screen.
Abstract: For this project, we will be attempting to read the input signals from an XBox One controller through a USB port to the LPC4088 microcontroller. By following a Keyboard usb device connection example, we will figure out how to configure the LPC4088 device to understand the Xbox One controller’s input signals. We will display these direction signals with LED displays and the button signals with different buzzer sound while sending all signals to the computer through UART.
Team: Griffin Danninger, Ivan Arevalo, and Alec Wicklund
Abstract: This camera system uses the LPC4088 Development Kit and the Arducam Mini 2MP Camera Module to take pictures and save them to the SD card. The board uses I2C to configure the registers of the OV2640 Sensor on the Arducam Mini. It then uses a GPIO interrupt from the on-board push button to trigger image capture. This is done through SPI communication with the Arducam. After the image has been captured, the LPC4088 reads image data from the Arducam over SPI and writes it to a new image file on the SD card. When this is done, the system is ready to capture a new image.
Abstract: We propose to create a slot machine that gives points if 3 figures match and keeps track of your score. This project will make use of multiple 8 by 8 LED matrixes to display the different figures scrolling down as well as an alphanumeric display that shows the score increasing and decreasing based on what figures match up and how often the player wins. The project will use the LPC joystick to start the spinning of the slot machine and use a button to reset the game.
Abstract: An electrocardiogram (ECG) is a test that measures the electrical activity of your heart to show whether or not it is functioning normally; when analyzed by a healthcare professional, ECG monitors can be used to detect high cholesterol, arrhythmia, and an enlargement of the heart. Our project proposal is to create our own ECG monitor that can monitor your heart activity, display the live results, and store the data in an SD card for post-processing/analysis.
Abstract: In this project we will attempt to create a balancing unit which will communicate with the dev kit, and light up LEDs and play a tone more rapidly the more unbalanced the unit gets. We will have a MPU to measure the angle of the board. The gyroscope MPU will be connected via I2C, and the LEDs will be connected via GPIO.
Abstract: We propose to design and implement a smart desktop lamp using the LPC4088 board. The lamp will have two main control modes of adjusting lightness: auto and manual. In the auto control mode, the lamp will accommodate the brightness of the LED light to the ambient light intensity. In the manual control mode, users can change the brightness of the lamp LED by rotating the trimpot on the LPC4088 devkit to change the ADC readout.
Abstract: We will connect a mouse to the board and use it to control a 2-pivot drawing arm that we built for ECE5. The mouse will control the position of the arm in real time and the mouse button will lower/raise the pen for drawing. We will also use buttons on the mouse and the LPC board to record a set of mouse movements and store them as a macro for future replay.
Abstract: For this project, we will use the LPC4088 to create a device that senses the distance between two objects. If there is a certain distance that we don’t expect, the alarm will be triggered. We are imitating a door of a house. At about 12:00am to 5am, the door is not supposed to be opened. So if the sensor senses the distance that is greater than 0, the alarm should be triggered.
Team: Adjon Tahiraj, Michelle Nguyen, and Ryan Phan
Abstract: We will use an 8x8 multicolor LED matrix to play a fun visual adaptation of the game "Simon Says." Our method of input will be through a joystick connected to the LPC4088 board. With 5 possible movements (left, right, up, down, confirm), the input will then be decoded to display the user's position and decisions LED matrix.
Team: Vanessa Meija, Anna Ivannikova, and Bindu Kashyn
Abstract: Our idea is to build a simple arithmetic calculator or an input pattern recognizer by interfacing a keypad to the LPC 4088 Dev kit. The results of the operation are then displayed on a TFT screen, which is also interfaced to the Dev-kit.
Abstract: We propose to make a voice volume controlled game which controls a ball on a LCD to jump across the leak on the ground. The device determine the volume of the sound to control how far the ball jump.
Abstract: The program will start when the user pushes the button. Meanwhile, users are allowed to use the Joystick to control the games. For example, users can control the shape of the blocks in the ‘Tetris’ game and change the directions of the snake.