I haven’t posted an update in a while, but it’s purely because we’ve been so busy with the bot. As the long title of this post implies, we’ve gotten a lot accomplished recently, including finishing the guitar! (not the whole bot, just the physical guitar)…But I’ll get to that in a bit.
- We’ve been tweaking the program signifigantly, and have implented a new cleaning algorithm that almost completely solves the issue we had with missing star power notes. Because of their unique shape, star power notes were only picked up by the photodiode light sensors for half as long as regular notes, resulting in them being filtered out. Our new code prevents that from happening.
- We wired into the “back/select/star power” button to allow our bot to automatically activate star power. This means that our bot is now completely independent, and can play every aspect of the game on its own. For now, there is just some simple code telling the bot when it should use star power (ie. use it when there are a lot of notes, and no blank space), but we are still improving its intelligence in that area. The back button and accelerometer still work for activating star power in manual mode (or autonomous).
- After wiring up the star power connection, we realized that we sometimes might not want the bot to activate star power on its own accord. While we are trying to make it as intelligent as possible, it will never be perfect at figuring out when to hit it, and when going for really high scores, we may want to turn off that functionality. Thus we figured we’d add a switch that turns off automatic star power triggering. While we were at it, we added one that turns the auto-whammy on and off…(whammying all the time can get annoying).
- During testing, we realized that we were going through 9-volts really fast (every few hours), so we decided we’d need a better power source, or at least an alternative. We experimented with stealing the guitar’s USB power, but found that there was not nearly enough current being supplied to power both the guitar and our circuitry. So, we got a DC coaxial jack with a built-in autoswitch, and installed it into the side of the guitar. When no wall adapter is attached to the guitar, it automatically uses it’s 9-volt battery, and when you plug in a wall adaptor, it automatically uses that to power our circuitry. Pretty neat huh?
- Using a National Instruments Data Acquisition Device and LabView software, we hooked our board up to the computer and used it to analyze the outputs of the processor in comparison to the notes on the screen. We are still sifting through data, but it should help us determine how and where we can improve our software to fix missed notes, double strums, etc.
- Finally, we finished the guitar today! We recently got our new PCBs, and today we installed one, and wired up everything. We neatly organized all the wires in the guitar, attached some labels to help us solder at the right points, and capped it off with a piece of plexiglass cut to match the shape of the guitar. We left an opening on the side because A. it looks cool, B. keeps our circuitry cool and C. it allows us access to the board as we continue to acquire data from it with the DAQ.
So that’s it! We should be getting a metal rack for the sensors very soon, and then those will be mounted very nicely on a tripod infront of the screen. After that, it’s just program tweaking!
Here’s are some pics for those who don’t want to read all of that above ;)