Overall Design
To simplify assembly of the YAM device, we created a simple TIVA pinout block diagram that specifies the type (input/output), style (digital/analog), and target circuit of each TIVA pin in use by our device.
Simulation of Fire
Our Martian fire has been assembled as a combination of 5 10mm Yellow LEDs, 5 10mm Red LEDs, and a 12V computer fan to blow the flames higher when the TATER completes a task. The LEDs are switched on and off in a two-transistor low-side drive configuration. Brightness of the fire is controlled by sending a varying PWM duty cycle to the fire LEDs, and by switching the fan on/off. For example, if an alien attacks, the fan turns off, and the LEDs dim by 10%. When the TATER defeats the alien, the fan turns back on and the LEDs are re-boosted to provide visual feedback of task completion.
Firestarter
After inserting the TOT in welcoming mode, the TATER is instructed to start the fire by rolling the Firestarter stick between their hands. Firestarter hits are detected by a pair of limit switches inside the YAM device, which are wired in parallel between ground and a TIVA input pin with internal pullup enabled. Firestarter hits are counted and the fire is boosted after every 5 hits. After a total of 20 hits, the fire starts and the main game (keeping the fire alive for 60 seconds) begins.
Alien Attack
Alien attacks are indicated to the user by a bright green LED over the alien’s face, in addition to yellow alien health LEDs. To fight off the aliens, users must reduce the alien’s health to zero by hitting the correct alien button, which moves after every hit. Each of these LEDs (1x green alien indicator LED, 4x yellow alien health LED, and 3x red alien button LED) is individually controlled as an output of a single ‘595 shift register).
Fire Oxygenation
Given the low oxygen content on Mars, keeping the fire alive requires periodic oxygen delivery from the TATER. When the oxygen indicator lights up, TATERS must blow on the air input. Air input is detected by a DC fan, which spins when air flows past. By attaching one lead of the fan to a 2.5V source and the other to a TIVA pin configured as an analog input, the YAM device reads a voltage what is reduced in a periodic pattern when air blows past the fan. By subtracting this analog input from the zero-state input, we extract a positive integer when air is flowing and zero when it is not.
Fuel Adjustment
The fire fuel level must be periodically adjusted by moving a dial to match the appropriate LED indicator on the fuel gauge. These events are prompted by flashing of the fuel LED light, at which point the TATER must adjust the slide potentiometer which bridges 3.3V and ground to get a wide range of readings at the analog IN TIVA pin. This value is then converted into a PWM time to move the fuel dial to the corresponding position.
Kitchen Timer
To ensure our TATER’s potato is roasted to a nice golden brown color, a kitchen timer servo indicates how long the TATER must fend off aliens, modify fuel, and blow on the fire. This timer decrements every second to show passage of time.