[[Image:ShootingGallery.jpg|right|400px|Gallery at Maker Faire 2012]]
Overview
In March 2012, we were contacted about entering a East vs. West Hackerspace Challenge. The challenge was sponsored by Radio Shack and showcased by Popular Mechanics. The premise was to build something fun and creative with $250 gift card from Radio Shack. Our competition turned out to be Artisan’s Asylum based in Somerville, MA. Geeks think alike because both groups decided to use lasers as the centerpiece of the challenge. Artisan’s Asylum built a laser harp and we built a laser Shooting Gallery Game. Having taken the game to multiple events, including the Bay Area Maker Faire, it’s consistently been a huge hit. If you’ve not yet voted for AMT, [http://www.popmechnow.com/radioshack/ click this link] and do it now! Voting closes 15 August.
”[NOTE: Still gathering information on project investment and more images from Maker Faire]”
== The Team ==
Project Lead: Dave
Members: Crafty, Terry, Ara, Aaron, Heph, Chris, Anup
== Structure ==
Terry did much of the design and building of the frame. We wanted something light and easy to assemble/disassemble while supporting all the different elements in a reasonable manner. The frame is a front and back rectangles made out of wood strips with sides made of standard pegboard stock.
[[Image:ShootingGallery Frame1.jpg|450px|Frame1]] [[Image:ShootingGallery Frame2.jpg|250px|Frame2]]
After assembly a simple coat of black paint was applied to keep the artwork and targets as the focus. Velcro backing strips are applied to each face that provide mount points for the art skins.
[[Image:ShootingGallery Frame3.jpg|450px|Frame3]]
== Artwork ==
Design goals, Art sets with asset links
BASIC DIMENSIONS: -Box Frame: -Size of Targets: -Height of Levels: -Space in between Levels:
”’DESIGN GOALS FOR ANY THEMED SHOOTING GALLERY”’
-”’Creating an overall theme”’ that is cohesive between shoot targets, hid panels, backdrop, and foreground is a traditional approach when designing a shooting gallery. In the Radioshack competition, there was only one other competitor, from the East Coast, so inherintly it was important to represent the West Coast/Best Coast.
-”’Secondary goals”’ included strategically placed lights and fog machine during our initial construction, but definitely created more stunning visual dimension as well as giving fair play for seeing the farther shoot targets in the back level. Colored LED strips and detachable light sources were considered. Nobody refuted the coconut scented fog juice. The fog was a bit too thick within the contained frame space, but appreciated by players.
-”’Materials options”’ are endless, but consideration of the material’s reflection rate and weight are necessary for a mobilized, laser-based arena. But seriously, the possibilities to achieve an eye-pleasing interactive display are endless! The first shooting gallery (Byte Blaster: Escape from Alcatraz with shark targets) was made in Adobe Illustrator, printed on bond with a Canon laser jet printer, then heat-set mounted onto foam core. All mounted foam core pieces were hand-cut. The second model (spooky carnival with deadly duck targets) was hand-painted and spray painted onto laser-cut corrugated cardboard. Not all targets must be uniform in size, however it is highly suggested to consider the size of the laser receptor and its placement within your design. ”’Some strongly suggested materials include:”’ -Basswood, chopsticks, popsicle sticks -Cardboard, Foam core, matt board, chip board -Paint, markers, airbrush, puffy paint, moderately placed glitter -Zip ties, industrial velcro, E-6000, hot glue gun
-”’Spacial restrictions”’ during the Byte Blaster construction included the space required between targets depending on the direction each target is intended (example: Left to Right/ Rising from Back to Front and vice versa) as well as from which the target’s axis is sourced in relation to its neighbor target. That means as long as the basic housing frame allows, construction of a shooting gallery can consist of multiple levels; AMT made only two for Byte Blaster, but there can be more made the deeper and taller the frame. If targets were considerably smaller and more levels were to be utilized within the suggested frame size used by AMT, on the other hand, it is possible make a more challenging shooting gallery for builder and for player. And if this is the case for ambitious hackers, please consider player targeted age group, aesthetic sacrifice, and the appropriate means of timing/scoring per hit.
== Electronics ==
=== Design goals ===
Must be based off an arduino
Should be solderable by hand, don’t use any tiny surface mount components — in the interest of time, so we wouldn’t need a custom PCB fabbed
Modular target electronics — So we could just build six copies of the same thing for the separate targets
=== High level architecture ===
[[Image:Shooting Gallery block diagram.png|706x426px|Shooting Gallery block diagram.png]]
=== Schematics ===
[http://wiki.acemonstertoys.org/Image:Shooting_gallery_target_schematic.png Target module board]
[http://wiki.acemonstertoys.org/Image:Shooting_gallery_display_schematic.png Display driver]
[http://wiki.acemonstertoys.org/Image:Shooting_gallery_gun-schematic.png Laser gun]
=== Pictures ===
[http://wiki.acemonstertoys.org/File:Shooting_gallery_custom_wiring_board.JPG Custom wiring shield]
[http://wiki.acemonstertoys.org/File:Shooting_gallery_display_driver.jpg Display driver] ([http://wiki.acemonstertoys.org/File:Shooting_gallery_display_module.JPG with one display digit])
[http://wiki.acemonstertoys.org/File:Shooting_gallery_gun_internals.jpg Laser gun internals]
[http://wiki.acemonstertoys.org/File:Shooting_gallery_target_board.jpg Target module board] ([http://wiki.acemonstertoys.org/File:Shooting_gallery_target_module.jpg full target module])
== Software ==
=== Design goals
===
Work with the Arduino libraries
Able to calibrate sensors without recompiling
All configuration settings located in a single central place, to make it simple to reconfigure servo settings etc
=== High level architecture
===
TargetStruct targets[] – stores configuration information for the six target modules, including which I/O pins each target is connected to, the timing values for the servo PWM, the "alive" and "dead" angles for the targets, the light levels for "light" and "dark", and a variable that stores the current ‘state’ of the target (down, up, rising, falling)
setup() – initializes the input/output pins
updateDisplay() – display one of the two digits on the score display (each time it’s called, it toggles between the two displays. They are multiplexed to cut down on the number of I/O pins needed to drive it)
procTargets() – runs a mini state machine for the targets. It’s coded to just handle one target at a time, so other code can run in between handling each target
checkSensors() – checks the light sensor for a target, only when the target is up
checkGun() – checks if the gun trigger was pulled, plays a sound effect, and prevents the gun trigger from being held down continuously
AvailableProcessorTime() – main logic function, calls other stuff depending on the current game mode. gets called by loop() or by the sound library inbetween playing sound bits
updateScroller() – logic to scroll "A C E" across the 7 segment display
loop() – calls AvailableProcessorTime() and the sound library, keeps things moving
=== Source code ===
[http://davr.org/uploads/test1.cpp Temporary upload] — will put on github soon
== Parts List ==
Arduino Mega 2560
Sound Shield
9x small perf boards
2x 7-segment displays
soldering gun
green laser pointer
lots of CAT-5 cable
1 big red button
2×4’s for the frame
pegboard for the outside of the frame
6x servo motors
6x LEDs
6x photoresistors
7x transistors
31 resistors
14x 6-pin connectors
6x 3-pin connectors
== Pictures ==
A large collection of images taken during the build process are stored on our old Picasa archive – [https://picasaweb.google.com/103650532781400442261/Contest?authkey=Gv1sRgCLOavMr7_MCM-wE link]
Zip archive of images taken by Ara during art creation and assembly – [[Media:ShootingGalleryAraPics.zip]] ”[NOTE:need to find alternate upload location due to archive size]”
== Future Improvements ==
The types of cables we used, while they plug nicely into a standard 0.1" grid, were a lot of extra work to solder together. Next time we will use something easier such as standard RJ-45 plugs.
We can have custom PCBs made, which would eliminate the tons and tons of yellow wires everywhere, only wiring needed would be the cables between boards.
== Miscellaneous Assets ==
[[Category:Projects]]