Microcontroller Video Object Tracking Featuring Human Tetris, Brick Breaker, and Whack-A-Mole ECE4760: Final Project by Kerran Flanagan (kaf42) & Adam.

Slides:



Advertisements
Similar presentations
What is Arduino?  Arduino is a ATMEL 168 micro-controller kit designed specially for small projects  User friendly IDE(Integrated Development Environment)
Advertisements

Night Vision James Stacy Brian Herre Maurio Grando Eric Faller Chris Bawiec James Team Bender.
Group 5 Timothy Foard, EE Adam Heeren, CpE Sommer Marsh, EE Brian Zei, EE.
Robotics Club, Snt Council2 The 3 Schools of Robotics: Mechanical Design – Types of motors – Material selection –
Your Poster’s Title Goes Here Team Members: John Doe, Jane Doe Abstract This project will recreate the video game “Pong” using an oscilloscope as the display.
Team Monte Cristo Joseph Carrafa Sharon Clark Scott Hassett Alex Mason The Deep Fried Game Station.
Zach Allen Chris Chan Ben Wolpoff Shane Zinner Project Z: Stereo Range Finding Based on Motorola Dragonball Processor.
Team Monte Cristo Joseph Carrafa Sharon Clark Scott Hassett Alex Mason The Deep Fried Game Station.
Image Processing Concepts Data Translation, Inc. Basics of Image Processing.
Programmable System on Chip Fully Configurable Mixed Signal Array Allows for Completely Customizable System Designs Capable of Internal MCU.
Zach Allen Chris Chan Ben Wolpoff Shane Zinner Project Z: Stereo Range Finding Based on Motorola Dragonball Processor Critical Design Review (CDR)
ECE 4220 Real Time Embedded Systems Final Project Presentation Spring 2014 University of Missouri Columbia By: Michael Brauch Temperature Data Logger.
Timers and Interrupts Shivendu Bhushan Summer Camp ‘13.
1 ECE 263 Embedded System Design Lessons 2, 3 68HC12 Hardware Overview, Subsystems, and memory System.
Engineering 1040: Mechanisms & Electric Circuits Fall 2011 Introduction to Embedded Systems.
2 Lines Electronics I 2 C Analyzer Ching-Yen Beh Robert S. Stookey Advisor: Dr. J. W. Bruce.
Microcontrollers, Basics Fundamentals of Designing with Microcontrollers 16 January 2012 Jonathan A. Titus.
WAAM Boxing Training Utility Warren Anderson Alexander Stewart Mark Craig Avinash Ramlall.
OPTICAL FLOW The optical flow is a measure of the change in an image from one frame to the next. It is displayed using a vector field where each vector.
ECE 447: Lecture 1 Microcontroller Concepts. ECE 447: Basic Computer System CPU Memory Program + Data I/O Interface Parallel I/O Device Serial I/O Device.
Objectives How Microcontroller works
Practical PC, 7th Edition Chapter 17: Looking Under the Hood
Team Members: Ruichen Zhao Xhoua Lor Jen-Yuan Hsiao John Marion.
Disassemble NXT 1. Daughterboards Display daughterboard Connector to the motherboard that you can disconnect Bluetooth daughterboard Speaker on the display.
ECE291 Computer Engineering II Lecture 9 Josh Potts University of Illinois at Urbana- Champaign.
Arduino. What is it? A open-source software suite and single-board microcontroller. Allows easy and affordable prototyping of microcontroller applications.
Microcontroller Presented by Hasnain Heickal (07), Sabbir Ahmed(08) and Zakia Afroze Abedin(19)
Group 8: Video Game Console Team Members: Rich Capone Hong Jin Cho Dave Elliott Ryan Gates.
The University of Tennessee Knoxville GROUP 7 MSP430 Presentation Saturday, April 22, Jason Bault -Darren Giles -Nathan Rowe -Trevor Williams.
ECE Lecture 1 Microcontroller Concepts. Basic Computer System CPU Memory Program + Data I/O Interface Parallel I/O Device Serial I/O Device Data.
UNION COLLEGE WEATHER STATION Brian Kruppenbacker Jeffrey D’Alessandro Advisor: Professor Traver.
Brett Dunscomb David Howden Kevin Bedrossian Chris Clary.
 The TenCup Entertainment Table is an interactive table that enhances the game-play experience of Beirut for both the player and the spectator.
ATtiny23131 A SEMINAR ON AVR MICROCONTROLLER ATtiny2313.
Computers Today.
ECE 448: Lab 5 VGA Display. Breaking-Bricks..
Figure 10.1 Color CRT and Phosphor Dots on Face of Display.
Treasure Chess ECE 477 Team 2 Parul Schroff Software Design Narrative.
Intelligent Robotics Today: Vision & Time & Space Complexity.
Eric Glover Steve Andre Shaun Greene Russell Willmot.
Chapter Microcontroller
Closed Loop Temperature Control Circuit with LCD Display Mike Wooldridge ECE 4330 Embedded Systems.
Submitted by:.  Project overview  Block diagram  Power supply  Microcontroller  MAX232 & DB9 Connector  Relay  Relay driver  Software requirements.
CONTENTS Objective Software &Hardware requirements Block diagram Mems technology Implementation Applications &Advantages Future scope Conclusion References.
MICROCONTROLLER INTERFACING WITH STEPPER MOTOR MADE BY: Pruthvirajsinh Jadeja ( ) COLLEGE:DIET BRANCH:EC.
Gesture-Controlled LED Coffee Table with B.L.O.X. Final Presentation Josh Pack | Esther Kim | Ryan Dwyer Project #16 December 7, 2012 ECE 445 Fall 2012.
Computer Graphics Lecture 03 Graphics Systems Cont… Taqdees A. Siddiqi
A Quick Start Guide to PIC16F877 microcontroller And Microchip Development Environment A Quick Start Guide to PIC16F877 microcontroller And Microchip Development.
FOR MORE CLASSES VISIT   ECET 340 Week 1 HomeWork 1  ECET 340 Week 1 iLab 1  ECET 340 Week 2 HomeWork 2  ECET 340 Week 2 iLab.
Implementation of Pong over VGA on the Nexys 4 FPGA
Interactive LED Staircase Modules Group 38 Mike Udelhofen ECE 445 April 26, 2012.
Application Case Study Christmas Lights Controller
ARDUINO BASED UNDERGROUND CABLE FAULT DETECTION
Voice Controlled Robot by Cell Phone with Android App
Instrumented Sensor Technology, Inc
Hand Gestures Based Applications
PROGRAMMABLE LOGIC CONTROLLERS SINGLE CHIP COMPUTER
Arduino Based Industrial appliances control system by decoding dual tone multi frequency signals on GSM / CDMA network. Submitted by:
ARDUINO BASED AUTOMATIC TEMPERATURE BASED FAN SPEED CONTROLLER
Microcontrollers, Basics Fundamentals of Designing with Microcontrollers 16 January 2012 Jonathan A. Titus.
SUBMITTED BY EDGEFX TEAM
UNIT – Microcontroller.
Andes Game Emulator Aug ,2009
Software Design Team KANG Group 1.
Real Time DSP Tools for Laser Microscopy
Figure 9.1 Color CRT and Phosphor Dots on Face of Display.
TechnoSpecialist Computers Information Package
Real-Time Free Throw Feedback Device
Introduction to Arduino
Presentation transcript:

Microcontroller Video Object Tracking Featuring Human Tetris, Brick Breaker, and Whack-A-Mole ECE4760: Final Project by Kerran Flanagan (kaf42) & Adam Papamarcos (aip23) Project Website: ATmega644PA Microcontroller The heart of our project is an Atmel MCU, running at 20MHz with only 4KB of RAM. It does however have 32 I/O ports, 3 hardware timers, hardware SPI, and hardware interrupts. CM-26N Color Video Camera We wanted the player to have real-time feedback of their position on the screen, so a camera that output NTSC video directly was a must. TLC5540 Flash ADC NTSC black and white data travels at roughly 6MHz, so we needed a fast ADC to help us get video input into our MCU. MAX7456 On-Screen Display This chip can inject 13 rows of 30 characters into an NTSC signal. Furthermore, the character memory is programmable. For our project, we wanted to push the video sampling and processing capabilities of the ATmega644 8-bit microcontroller. Using a high-speed analog-to-digital converter as an input device, we were able to sample a reasonably high-resolution grayscale image from a color camera's video output. Using this grayscale image, we are able to track objects and recognize shapes that stood out from the background by a customizable threshold. We can read in, process, and display a 39x60 pixel image at 30 frames per second, with only a little flickering on the edges due to imperfect down-sampling. Here is an original image, grayscale data from the MCU, and our systems interpretation of the shape after applying a threshold: HardwareOverviewSoftware ResultsGames Human Tetris The original idea for this entire project came from a game show that originated in Japan. Players must contort their bodies to fit into funny- shaped holes in an oncoming wall, represented on-screen in our game. Brick Breaker Based on the popular Blackberry game, our simplified version is controlled by the player moving a dark object which acts as the “paddle” to bounce the ball back up towards the bricks. Whack-A-Mole This started as a joke, but thanks to the simple API our object tracking code provides, it is now an entertaining reality. The player must move quick to hit the moles that randomly appear onscreen. Our 5MHz signals were causing many bad reads and writes in our original development breadboard and wire setup. This custom PCB massively reduced noise in our circuit. SPI Driver for OSD We found some open source code for a different MCU and used it as a basis for our driver. The driver allowed our MCU to output to NTSC as fast as we can get the NTSC input. We created a custom character set for sub-character accuracy and game artwork. Our character set has been programmed into the OSD. NTSC Sampling The OSD outputs NTSC horizontal and vertical sync pulses as their own signals. We triggered interrupts on those and then counted cycles to correctly down-sample NTSC frames line by line, reading a frame into a 39x60 8-bit array. Filtering Our sampling timing (and therefore spatial accuracy) couldn’t be perfect, so we used a moving average filter on our output to reduce temporal flicker. Program Flow Our main loop executes based on the NTSC frame rate. Several state machines control the main menu and games. All the game logic is based off a millisecond time base provided by the MCU’s 16-bit hardware timer. Printed Circuit Board (PCB) We would like to thank Atmel, Maxim-IC, and Texas Instruments for all their hardware donations that made this project possible.