We here at team Ultra-Sonic Bat (USB) knew that times were dire for Wayne Enterprises when they contacted the cheap and overeager graduate labor pool of Stanford's ME218a: Smart Product Design Fundamentals class to design and build for them a bat gadget! Over the past 456 hours, team USB, consisting of Forest Nelson, John Sumerel, Ramanan Sampath and Suzanne Bartram, combined their talents to deliver for Wayne Enterprises a machine to train batman in the use of his emergency distress bat messenger. The bat messenger (another product of team USB provided with the training scenario), had to fit many of Wayne Enterprises' stringent design requirements. The most notable of these requirements being that the messenger bat must always require input from two users to avoid batman's enemies using it against him, the device must be initiated remotely via a secret message and it must be able to be properly used within 45 seconds. Detailed below are the specifics on how the ultra-sonic bat works and elucidation as to which requirements of Wayne Enterprises the functionality satisfied. For brevity, the term "USB" will refer to the machine rather than the team.
Brief Training Outline:
1) Initiate the USB with the BAT-ID
2) Users simultaneously move the bat shaped sliders until both receive a haptic feedback.
3) Users power the bat (initiate the timer) by simultaneously pressing both black buttons.
4) Users flap in unison to raise the bat out of the base. Difficulty level can be set prior to this by toggling the right joystick between 1-3 difficulty levels, indicated by the back panel lights moving up and down. Additionally, quick completion of the previous 3 steps will start the user in a higher difficulty setting.
5a) Users flap their arms in unison to raise the bat. Failure to flap in unison will cause the bat to fall.
5b) Users simultaneously toggle the joysticks to the direction as indicated by the cardinal LEDs on the back panel. Failure to respond to these in a timely manner will cause the bat to fall.
5c) Users fly the bat to the green LED indicated position on the back wall and then simultaneously press the black buttons to fire the "bat screech"
6a) If the users hit the correct location (and correct number of times for higher difficulties) with the bat screech, then the training scenario is over, the users have won and the bat falls back down and the event sequence begins at 1 again.
6b) If the users do not complete the sequence within 45 seconds of completing part 3, the users lose the game, the bat powers down and the sequence goes back to part 1.
Detailed Outline:
Stage 0: Remote Unlocking
Goal: Have the USB become active when it detects and decodes a remote BAT-ID signal.
Description: Located on the bottom of the USB and centered on the batman logo is a small receptor for infra-red signals. This phototransistor detects incoming infra-red signals and converts them into a digital logic through circuitry. This logic is then decoded on a microcontroller via an algorithm. If the message is correct, it unlocks the USB and signifies the user via a transition to a yellow indicator light at the top of the USB.
Requirements Met:
-Powering up into a lockdown mode that requires the use of a BAT-ID signal to exit. Must be detected from at least one foot away.
Stage 1: Initiating the Bat and Determining Users
Goal: The ultra-sonic bat must not be used by Batman's enemies, so a specific sequence is required to initialize the bat.
Description: On the control panel there are two batman logo sliders. The users slide both of these until they receive feedback in the form of a vibration. From this stage, users then must both push their respective buttons to power up the bat. If both users do this correctly, a battery icon will light up near the slider buttons from earlier indicating the remaining power in the bat. This power is directly proportional to the amount of time left on the 45 second interaction clock. To aid users in this process, there are visual diagrams showing the steps as well as audio feedback via front jack headphones. Once these two steps are completed, back panel flap lights become active, indicating that the users should flap. If both users flap their arms in unison, it will raise the bat out of the base of the USB machine and begin the next stage. During this stage, if users toggle the right joystick they can set the difficulty of the next stage to 1 of 3 levels. They can also be automatically assigned a higher difficulty if they complete all of stage 1 quickly. The difficulty setting will change the speed at which the bat moves (both rising and falling), the number of set-points to shoot with the bat screech and the time that is considered "acceptable" for the two users actions to be in unison.
Requirements Met:
-Interactions of two users.
-Continued input from two users: If both don't press the sequence then they cannot go to stage 2.
-Possibility to complete quickly if you are good at it: The sequence really just requires knowing the order to do actions.
-Setting a time limit of 45 seconds: This is started when the users power up the bat.
-Several stages of training: This is the first stage of the training
-Large scale bat motion: The flapping to raise the bat.
-Interactions producing different outcomes depending on stage: Button (power on stage 1, screech stage 2), Lever (difficulty setting stage 1, synchronized cardinal movement stage 2)
-Creative display of time: The battery indicator for the remaining power of the bat.
-Indication when active: The yellow LED at the top indicates stage 1.
-Usable without human instruction: The pictographs on the front indicating the order and ability to select difficulty level.
-Analog sensor: The sliders are essentially potentiometers and we measure the position of the wiper.
Stage 2: Flying the Bat to Send the Message
Goal: In order to successfully deliver his message, Batman and his partner must fly the bat in unison to the destination. Once they reach it, they must then fire the bat screech to transmit the message.
Description: To indicate this stage, the top jumbo green LED turns on. Users each flap an arm to cause the bat to flap and rise. Flaps in unison will cause the bat to rise. If the flaps are out of sync, then the bat will begin to fall and stop flapping. Additionally, if after a set amount of time no user flaps occur, then the bat will also begin to fall. Limit switches on the top and bottom prevent the bat from going outside of the bounds of the training scenario. While the users are flapping, a series of cardinal indicator lights will become lit. The users must also simultaneously move the levers in these directions to simulate the bat dodging obstacles. Failure to do this dodging action in a timely manner or correctly will also cause the bat to drop. These events are generated by the code. Once the users fly the bat to the position indicated by the illuminated small green LED, they must then both press the bat screech buttons in unison to cause the bat to screech, which is essentially an emission of an infra-red pulse. If the phototransistor at the indicated position picks up the signal, the training is either over, or if the difficulty is higher, the position of the green LED changes and the game moves on. The game being over will queue an audio message as well as cause all the LEDs on the back panel to flash in a pattern. If the user loses, which occurs due to a 45 second timeout, the bat powers down and a similar failure audio clip is played. At the end of this stage, the bat always moves to the bottom and then returns to stage 0. Flapping of the wings is done via a DC motor with a cam. The raising, lowering and speed of the bat is accomplished via 13V pulse width modulation to a DC motor. Attached to this motor is a spool that pulls the bat up and down on a set of guiding rails. Buttons and generic switches are accomplished with simple pull-down circuits. See circuitry section for additional specifics.
Requirements Met:
-Interactions of two users.
-Continued input from two users: If both don't flap they cannot raise the bat.
-Possibility to complete quickly if you are good at it: Flapping in unison and doing the events makes it highly possible to do this quickly. See the video in the gallery.
-Setting a time limit of 45 seconds: The time limit determines if they lose or not.
-3 distinct actions: Lever, Button, Flapping
-Several stages of training: This is the second training stage
-Large scale bat motion: The flapping to raise the bat.
-Interactions producing different outcomes depending on stage: Button (power on stage 1, screech stage 2), Lever (difficulty setting stage 1, synchronized cardinal movement stage 2)
-Creative display of time: The battery indicator for the remaining power of the bat.
-Exciting end of game: The audio clips when you win or lose as well as the back light displays.
-Conveying 8 distinct messages: The two microcontrollers have 4 DATA lines and an ACK and STROBE line for a total of 16 distinct messages. An example message is that we send the event of a button press to the other microcontroller. See the software section for more details.
-Interactions from one user must affect the other: Flapping out of unison will cause them to fall and vice versa.
-Indication when active: The green LED at the top indicates stage 2.
-Usable without human instruction: The pictographs on the front indicating the order and ability to select difficulty level.
-Parts visibly moving: The bat flapping and the bat rising up and down.
-Non-contact sensing: The flapping of the players arms. This is done with a limit switch with a weight tied to the end of it. If the user flaps hard enough, it presses the limit switch, sending a flap event.
-Feedback about actions: Audio queues, the bat visually goes down and back panel lights do not go off.
Other Stuff
Additional Requirements:
-Dimension requirements are addressed in the Mechanical Design section.
-Team of four members is addressed in The Team section.
-Budget requirements are addressed in the Bill of Materials section.
Brief Training Outline:
1) Initiate the USB with the BAT-ID
2) Users simultaneously move the bat shaped sliders until both receive a haptic feedback.
3) Users power the bat (initiate the timer) by simultaneously pressing both black buttons.
4) Users flap in unison to raise the bat out of the base. Difficulty level can be set prior to this by toggling the right joystick between 1-3 difficulty levels, indicated by the back panel lights moving up and down. Additionally, quick completion of the previous 3 steps will start the user in a higher difficulty setting.
5a) Users flap their arms in unison to raise the bat. Failure to flap in unison will cause the bat to fall.
5b) Users simultaneously toggle the joysticks to the direction as indicated by the cardinal LEDs on the back panel. Failure to respond to these in a timely manner will cause the bat to fall.
5c) Users fly the bat to the green LED indicated position on the back wall and then simultaneously press the black buttons to fire the "bat screech"
6a) If the users hit the correct location (and correct number of times for higher difficulties) with the bat screech, then the training scenario is over, the users have won and the bat falls back down and the event sequence begins at 1 again.
6b) If the users do not complete the sequence within 45 seconds of completing part 3, the users lose the game, the bat powers down and the sequence goes back to part 1.
Detailed Outline:
Stage 0: Remote Unlocking
Goal: Have the USB become active when it detects and decodes a remote BAT-ID signal.
Description: Located on the bottom of the USB and centered on the batman logo is a small receptor for infra-red signals. This phototransistor detects incoming infra-red signals and converts them into a digital logic through circuitry. This logic is then decoded on a microcontroller via an algorithm. If the message is correct, it unlocks the USB and signifies the user via a transition to a yellow indicator light at the top of the USB.
Requirements Met:
-Powering up into a lockdown mode that requires the use of a BAT-ID signal to exit. Must be detected from at least one foot away.
Stage 1: Initiating the Bat and Determining Users
Goal: The ultra-sonic bat must not be used by Batman's enemies, so a specific sequence is required to initialize the bat.
Description: On the control panel there are two batman logo sliders. The users slide both of these until they receive feedback in the form of a vibration. From this stage, users then must both push their respective buttons to power up the bat. If both users do this correctly, a battery icon will light up near the slider buttons from earlier indicating the remaining power in the bat. This power is directly proportional to the amount of time left on the 45 second interaction clock. To aid users in this process, there are visual diagrams showing the steps as well as audio feedback via front jack headphones. Once these two steps are completed, back panel flap lights become active, indicating that the users should flap. If both users flap their arms in unison, it will raise the bat out of the base of the USB machine and begin the next stage. During this stage, if users toggle the right joystick they can set the difficulty of the next stage to 1 of 3 levels. They can also be automatically assigned a higher difficulty if they complete all of stage 1 quickly. The difficulty setting will change the speed at which the bat moves (both rising and falling), the number of set-points to shoot with the bat screech and the time that is considered "acceptable" for the two users actions to be in unison.
Requirements Met:
-Interactions of two users.
-Continued input from two users: If both don't press the sequence then they cannot go to stage 2.
-Possibility to complete quickly if you are good at it: The sequence really just requires knowing the order to do actions.
-Setting a time limit of 45 seconds: This is started when the users power up the bat.
-Several stages of training: This is the first stage of the training
-Large scale bat motion: The flapping to raise the bat.
-Interactions producing different outcomes depending on stage: Button (power on stage 1, screech stage 2), Lever (difficulty setting stage 1, synchronized cardinal movement stage 2)
-Creative display of time: The battery indicator for the remaining power of the bat.
-Indication when active: The yellow LED at the top indicates stage 1.
-Usable without human instruction: The pictographs on the front indicating the order and ability to select difficulty level.
-Analog sensor: The sliders are essentially potentiometers and we measure the position of the wiper.
Stage 2: Flying the Bat to Send the Message
Goal: In order to successfully deliver his message, Batman and his partner must fly the bat in unison to the destination. Once they reach it, they must then fire the bat screech to transmit the message.
Description: To indicate this stage, the top jumbo green LED turns on. Users each flap an arm to cause the bat to flap and rise. Flaps in unison will cause the bat to rise. If the flaps are out of sync, then the bat will begin to fall and stop flapping. Additionally, if after a set amount of time no user flaps occur, then the bat will also begin to fall. Limit switches on the top and bottom prevent the bat from going outside of the bounds of the training scenario. While the users are flapping, a series of cardinal indicator lights will become lit. The users must also simultaneously move the levers in these directions to simulate the bat dodging obstacles. Failure to do this dodging action in a timely manner or correctly will also cause the bat to drop. These events are generated by the code. Once the users fly the bat to the position indicated by the illuminated small green LED, they must then both press the bat screech buttons in unison to cause the bat to screech, which is essentially an emission of an infra-red pulse. If the phototransistor at the indicated position picks up the signal, the training is either over, or if the difficulty is higher, the position of the green LED changes and the game moves on. The game being over will queue an audio message as well as cause all the LEDs on the back panel to flash in a pattern. If the user loses, which occurs due to a 45 second timeout, the bat powers down and a similar failure audio clip is played. At the end of this stage, the bat always moves to the bottom and then returns to stage 0. Flapping of the wings is done via a DC motor with a cam. The raising, lowering and speed of the bat is accomplished via 13V pulse width modulation to a DC motor. Attached to this motor is a spool that pulls the bat up and down on a set of guiding rails. Buttons and generic switches are accomplished with simple pull-down circuits. See circuitry section for additional specifics.
Requirements Met:
-Interactions of two users.
-Continued input from two users: If both don't flap they cannot raise the bat.
-Possibility to complete quickly if you are good at it: Flapping in unison and doing the events makes it highly possible to do this quickly. See the video in the gallery.
-Setting a time limit of 45 seconds: The time limit determines if they lose or not.
-3 distinct actions: Lever, Button, Flapping
-Several stages of training: This is the second training stage
-Large scale bat motion: The flapping to raise the bat.
-Interactions producing different outcomes depending on stage: Button (power on stage 1, screech stage 2), Lever (difficulty setting stage 1, synchronized cardinal movement stage 2)
-Creative display of time: The battery indicator for the remaining power of the bat.
-Exciting end of game: The audio clips when you win or lose as well as the back light displays.
-Conveying 8 distinct messages: The two microcontrollers have 4 DATA lines and an ACK and STROBE line for a total of 16 distinct messages. An example message is that we send the event of a button press to the other microcontroller. See the software section for more details.
-Interactions from one user must affect the other: Flapping out of unison will cause them to fall and vice versa.
-Indication when active: The green LED at the top indicates stage 2.
-Usable without human instruction: The pictographs on the front indicating the order and ability to select difficulty level.
-Parts visibly moving: The bat flapping and the bat rising up and down.
-Non-contact sensing: The flapping of the players arms. This is done with a limit switch with a weight tied to the end of it. If the user flaps hard enough, it presses the limit switch, sending a flap event.
-Feedback about actions: Audio queues, the bat visually goes down and back panel lights do not go off.
Other Stuff
Additional Requirements:
-Dimension requirements are addressed in the Mechanical Design section.
-Team of four members is addressed in The Team section.
-Budget requirements are addressed in the Bill of Materials section.