Chord Hero Miami University

Similar documents
Digital I/O: OUTPUT: Basic, Count, Count+, Smart+

ADDING and/or DELETING PIN NUMBERS (Plus other simple programming commands) in My DK-16 or DK-26 DIGITAL KEYPAD

Surveillance System Using Wireless Sensor Networks

PUSH BUTTON START INSTALLATION MANUAL

Controlling a Dot Matrix LED Display with a Microcontroller

Technical Aspects of Creating and Assessing a Learning Environment in Digital Electronics for High School Students

Soft processors for microcontroller programming education

2. Scope of the DE0 Board and Supporting Material

GUITAR THEORY REVOLUTION

PHYS 2P32 Project: MIDI for Arduino/ 8 Note Keyboard

AC : A PROCESSOR DESIGN PROJECT FOR A FIRST COURSE IN COMPUTER ORGANIZATION

Ping Pong Game with Touch-screen. March 2012

PCB Project (*.PrjPcb)

N64 Potentiometer Analog Stick Retrofit

Adafruit SHT31-D Temperature & Humidity Sensor Breakout

1394 Bus Analyzers. Usage Analysis, Key Features and Cost Savings. Background. Usage Segmentation

Glolab Talking Phone Dial Monitor

UPS PIco. to be used with. Raspberry Pi B+, A+, B, and A. HAT Compliant. Raspberry Pi is a trademark of the Raspberry Pi Foundation

Executive Summary. Table of Contents

Lab 1: Introduction to Xilinx ISE Tutorial

9/14/ :38

7a. System-on-chip design and prototyping platforms

MIDECO 64-outputs MIDI note decoder USER MANUAL. Roman Sowa 2012

Advanced Techniques for the Walkingbass

Adafruit MCP9808 Precision I2C Temperature Sensor Guide

Programming A PLC. Standard Instructions

101 IELTS Speaking Part Two Topic cards about sports, hobbies and free time A- Z

Suitable for: Beginners with absolutely no previous experience. Beginners who appear particularly shy or nervous.

STEPPER MOTOR SPEED AND POSITION CONTROL

Make Smooth, Seamless Chord Changes In 5 Minutes Or Less

Designing VM2 Application Boards

QUICK START GUIDE FOR DEMONSTRATION CIRCUIT BIT DIFFERENTIAL ADC WITH I2C LTC2485 DESCRIPTION

On the use of programmable logic in FabLabs

Computer Automation Techniques. Arthur Carroll

Figure 1 FPGA Growth and Usage Trends

Guitar Method Beginner: Book 1

ILISC515-A Shift Interlock (Manual Lift Door) 2015 Ford Transit, 3.7L and 3.5L

INSTALLATION MANUAL XM3 Reader

Wireless MIDI Interface

How they invented chord patterns for the guitar. J. Chaurette. Dec., 2012

Joule Thief 3.0 Kit. June 2012, Rev Joule Thief 3.0

APEX Robot Rabbit. Tel:

Programmable Logic IP Cores in SoC Design: Opportunities and Challenges

Car Racing Game. Figure 1 The Car Racing Game

PCB Artist Tutorial:

CHAPTER 11: Flip Flops

Smart Thermostat page 1

Opalum FLOW series Opalum STREAM series Wireless setup guide. Wireless setup guide

MICROPROCESSOR AND MICROCOMPUTER BASICS

Intro to Intel Galileo - IoT Apps GERARDO CARMONA

!Operation:!1. Connect an external power source to J1 (+ and - IN terminals). The

Intro. Review of. Boeing B737 Gear Lever Set (replica) Manufactured by Opencockpits

The Secret Weapon for Bar Chords

Designing a Schematic and Layout in PCB Artist

The CAGED Guitar System

Digitale Signalverarbeitung mit FPGA (DSF) Soft Core Prozessor NIOS II Stand Mai Jens Onno Krah

C8051F020 Utilization in an Embedded Digital Design Project Course. Daren R. Wilcox Southern Polytechnic State University Marietta, Georgia

Multi-Touch Ring Encoder Software Development Kit User s Guide

Automated Contact Resistance Tester CR-2601

The 104 Duke_ACC Machine

Game Center Programming Guide

Test Driven Development of Embedded Systems Using Existing Software Test Infrastructure

Integrating Cue Reading and Decision-Making into Skill Development

How to Install a Motherboard

EXPERIMENT 8. Flip-Flops and Sequential Circuits

Robot Board Sub-System Testing. Abstract. Introduction and Theory. Equipment. Procedures. EE 101 Spring 2006 Date: Lab Section # Lab #6

Microtronics technologies Mobile:

ZIMBABWE SCHOOL EXAMINATIONS COUNCIL. COMPUTER STUDIES 7014/01 PAPER 1 Multiple Choice SPECIMEN PAPER

Control Panel Wiring & Standardization Tips

2016 Bridge Competition Guidelines Grades 9 and 10

Electronic Rotary Table Divider V2.1 Construction

The self-starting solar-powered Stirling engine

Introduction to Arduino

Beginners Guide to the Walkingbass

ELECTRONIC THERMOSTAT AND THERMOMETER With SPEED CONTROL

Midi Workshop. SAWStudio. From RML Labs. To order this product, or download a free demo, visit

Study Guide for the Pre-Professional Skills Test: Writing

INSTRUCTIONS FOR THE INSTALLATION AND OPERATION OF ACTIVATOR II

SPY-BATT Battery Tutor Device Installation Manual Rev /04/2016

Lab 1: Full Adder 0.0

Build A Video Switcher. Reprinted with permission from Electronics Now Magazine September 1997 issue

Building A Computer: A Beginners Guide

EXPERIMENT 2 TRAFFIC LIGHT CONTROL SYSTEM FOR AN INTERSECTION USING S7-300 PLC

CATIA Electrical Harness Design TABLE OF CONTENTS

FREE CHORD BOOK Introduction

FlowKit in-circuit debug system

LMU Hardware and Installation Guide

PC Tab INSTALLATION MANUAL SECURE-IT, INC. EAST LONGMEADOW, MA / (fax)

Implementation of Web-Server Using Altera DE2-70 FPGA Development Kit

TEECES DOME LIGHTING SYSTEMS

ECEN 1400, Introduction to Analog and Digital Electronics

Sample Project List. Software Reverse Engineering

The SA601: The First System-On-Chip for Guitar Effects By Thomas Irrgang, Analog Devices, Inc. & Roger K. Smith, Source Audio LLC

Bristol ControlWave Redundant Control

Wasabi 360 Ultra User Guide

Networking Remote-Controlled Moving Image Monitoring System

SuperIOr Controller. Digital Dynamics, Inc., 2014 All Rights Reserved. Patent Pending. Rev:

A Digital Timer Implementation using 7 Segment Displays

Adafruit BME280 Humidity + Barometric Pressure + Temperature Sensor Breakout

The Physics of Guitar Strings

Transcription:

Chord Hero Miami University ECE 387 5/2/2011 Team Members: Josh Wilson Jesse Griffis Eric Miller

Introduction: The Chord Hero project involves designing, building,and demoing a device for teaching guitar chords without prior knowledge of guitar playing. The final prototype consisted of a series of Light Emitting Diodes (LED's) and push-button switches that displayed a chord and allowed a user to input the correct response. An Altera DE2 Field Programmable Gate Array(FPGA) was used in processing input and output to the LED s and switches which were located on a board we constructed. The chord selection and output to the LED's are sent and then the user inputs the correct button sequence to learn the chord. When a correct chord structure is inputed by the user, via the switches, the FPGA will display "Good". The project featured a demo mode showing the capabilities of the C file that were written to display chords and receive input. While the end result was a rough prototype it would be feasible to construct a designing similar to this that could function as a learning tool for beginning guitar players. The following report will give you a better idea of our design process as well as in depth look at the finished prototype.

Research: From the beginning we wanted to make a project that allows a user to interact with a system that accurately simulated a real guitar. The system would have to provide visual instruction and feedback to effectively teach the user real guitar chords. The initial idea we had in mind when starting this project was to implement an embedded system inside a real guitar neck. The system would consist of LED s mounted underneath each string that would show the user the correct notes to play. After obtaining a used guitar neck we tried to drill out a section to accommodate the LED s but quickly discovered that we lacked adequate space to contain the circuitry required. The next approach we designed consisted of a series of switches and LED s to simulate as close as possible a real guitar without the limitations of the small guitar neck. The LED s would light to show the proper notes and chord structures and then the switches would be in place to allow the user to input their response and receive feedback from the system. Since it would be fairly expensive to buy switches to represent an entire guitar neck, we decided to concentrate on the first three frets of the guitar neck where most of the major and minor chords are played. After we decided on the design for the neck our next task was to develop a controller to handle the user input and various output that we required. Our first choice was to develop a system on the Arduino micro controller. The Arduino is cheap an easy to program, however it is quite limited in its capabilities. We quickly learned that there would not be enough inputs and outputs on the Arduino to handle all the switches and leds. At first we thought it might be possible to use led drivers to handle the output, but each switch required and independent separate input that couldn't be handled in a straightforward way. The option for the Arduino was ruled out at this point. Since the Arduino lacked the capability we required we decided to pursue a route that utlized an FPGA. The De2 board that we have used previously in other courses has more than enough I/O pins for this project. The real issue with using the FPGA is the complexity of the code required to program the board. The De2 must be programmed in Verilog HDL making the code portion of this project much more difficult than what would be involved in the Arduino. We spent about 4 hours developing a hardware program that would output to LED s and input from switches. The complexity involved in this simple program quickly led us to search for another option for our programming needs. At the suggestion of Dr. Jamieson we started to research implementing a softcore processor on the FGPA that would be capable of running a C file. The complexity involved in implementing the processor is quite large, but once the processor is on board the project is fairly straightforward. Although it took a long time to get the processor working we were able to develop a more advanced program with better features that we would have been able to pursue in hardware alone.

Project Timeline: February 2011 - Attempted to separate a real guitar neck in order to drill holes and run wire through it. This did not turn out too well for the guitar neck because wood glue is strong and does not like to separate. We sought other alternatives such as plywood to simulate a guitar neck. March 2011 - Talked about parts for the guitar and the ground work was laid on how to implement the project. The parts were ordered and received. The FPGA was looked into along with the Nios soft processor and it was chosen due to the multiple inputs and outputs using the IDE cables. April 2011 - Early April-Still trying to get the soft-processor working and able to accept the C program that implements the input and output. Have drilled holes and put in the push-button switches for the guitar replica. We have also begun soldering all of the switches. Mid April- The soft processor is working and are now focusing on the C code to cooperate with the processor for our inputs and outputs. We have been able to set up the switches for testing and now soldering a few LED s in order to test the C program. End April- Demo night is quickly approaching and we are nearing completion of the project. The remaining LED s are installed on the plywood and most of them are soldered. A slight problem of solid solder connections with the LED s has presented itself causing them to stop working intermittently.

Finished Prototype: At the heart of this project was the Nios soft processor which allowed for the FPGA to operate and interpret the C programming language. The actual visual and hands on aspect of the project came easier than setting up the processor. A piece of ¼ plywood was laid out with 18 LED s behind 18 push-button switches which made our three frets of the guitar. Two IDE ribbon cables were placed down the plywood of the simulated guitar in order to accept the push-button inputs and output the correct sequence of LED s. With an abundant length of wire and solder we were able to bring the hands on aspect of the project together. The ribbon cables provided input and output to the FPGA. The switches were fed in by one ribbon, and the FPGA used the information to determine of the chord was played correctly. If it was, the LED seven segment displays in the DE2 board displayed Good We used two key switches on the board to allow the user to go through the chords in its memory. We programmed the 7 Major chord used in many songs, and are considered the basics to play guitar; they include the following chords: A, B, C, D, E, F and G. We also programmed in a demo mode so that, when it is not in use, the device will display all of the chords on the display and on the LEDs on the neck. Conclusions and Future Work: There are a few problems we would want to address in future designs. The final demo guitar was touchy because the wiring on the back would sometimes break and the LED s would not light up. Reducing the overall size of the neck of the guitar so one could play like a real guitar would be key. One way to improve our design is to try and acquire smaller push buttons or a sort of smaller input strip. Another design improvement would have the wiring of the LED s to be more stable and isolated from constant touch of the user. More chords could be added to the chord library. Another key aspect of learning the guitar is what strings to strum and timing. The timing aspect would need separate inputs and could probably run on the internal clock of the FPGA. These ideas would drastically improve Chord Hero and would allow for songs to be implemented into the system. A user could upload a song and set the pace at which they wanted to learn the song. This would be an ultimate design implementation if a user could choose a song, upload it, and then have the system break the song down into certain chord progression s to teach the user the song at their desired pace. Once all the chords and demo mode were programmed in the FPGA, we were running low on memory. In fact, we had to remove a light display we had the device do when it was in demo mode because we ran out of memory in the Nios system.

About the team Josh Wilson I am a studying electrical engineering but have also concentrated my studies on the computer side of the discipline. I chose this project because I am a guitar player and I liked the concept of designing a system that could help beginners out. I also liked how we were able to tie in some simple circuits with a computer system that we also made. ECE 387 provided us with a the opportunity to work on an open ended project in team format. I think this kind of experience is key to finding a desirable career when we graduate and will certainly list this project on my resume under accomplishments. Eric Miller Also currently studying Electrical Engineering and since high school have studied analog circuit analysis. The digital side of electronics has come relatively easy and enjoyable. This project was a perfect fit, because I have created analog guitar effects in the past and do enjoy playing guitar. Prior knowledge of soldering and continuity testing learned in high school helped in this adventure. Incorporating hardware with software will always be a challenge and this project was a valuable learning experience. This ECE 387 class was unlike any other learning experience, and has clearly improved my problem solving process. This experience will undoubtedly further my career as an engineer. Jesse Griffis I am studying electrical engineering. I have specifically worked with FPGAs, and have performed research on the placement problem with FPGAs using genetic algorithms. This project involved the use of an FPGA and I have learned how to build a system on the chip. I found this to be challenging, but gives the FPGA more power to manage applications and ease of use. I found ECE 387 as one of the most important classes in my college experience because it allowed me to use the skills and education I have learned and create practical applications like this project. I feel this practice will further my experience and help me in my career.

Sources: Dr. John Loomis / http://www.johnloomis.org/digitallab/ Altera / http://www.altera.com Sparkfun / http://www.sparkfun.com