Resource icon

    Programmable Robotic Hand 2.0


    The Programmable Robotic Hand 2.0 comes loaded with new features.

    1: New programming interface that makes programming less difficult.
    2: Memory was both expanded and compressed. Store up to 15 different gestures
    3: A system to chain together gestures to form composite gestures.
    4: Implemented a clock to help determine if the circuitry is properly loaded in.
    5: All the old features, especially demo mode, were adapted to the new architecture.

    Comes pre-loaded with gestures: 1111=Rock, 0111=Paper, 1011=Scissors, 0011=Lizard, 1101=Spock

    Time to tell you how it works:
    Basically, I made a primitive reinvention of a computer.


    Hopefully these are marked clearly enough...

    Let me explain what each part does first, starting with the controls.

    Memory Output: Displays the status of the memory cells. Green indicates an active memory cell, and red indicates a blacklisted memory cell.

    Select: Allows you to select a memory cell for your own nefarious purposes.

    Ready: Queues the hand to gesture while sending out a ready signal. There is an IO at the front marked Input/Demo/ Output. If the input gets an on signal, then the hand will gesture. This mechanism ensures that if two hands are linked together, they both gesture at the same time.

    Programming Panel: Where all the programming functions and tools can be found.

    Loading Bar: Actually just a timer. The mechanism is complex and takes time to load. When the loading bar is moving consistently, then most of the logic is fully loaded in.
    Cache Manipulation: Use this to alter the cache. The cache directly outputs to the display.

    Display: Outputs the cache. Allows players to easily see and edit memory files.

    Now onto the circuitry itself:
    Cache: Outputs to the display, is there to hold temporary information and make it available to the rest of the circuitry. such as a gesture file someone is working on.

    Imprinting Bus: This is the data bus used to imprint information to the memory cells, including the cache.

    Output processor: Can take the output bussed through the memory modules and either: Run the information raw(in order to enter a gesture), Run a rearranged version of the memory(in order to exit a gesture), Or output it all to the imprinting bus(to change memory cells.)

    Memory Circuits: 36bit T-Flip-Flop Memory cells, fifteen of them. Because they are T-Flip-Flops, you actually have to read and bounce the information back to the memory cell to delete it. They also include an additional 4bit memory cell that can reference the bitwise number of another cell.

    Blacklist Circuit and Blacklist Storage: The circuit activates each memory cell, one by one, while the Blacklist Storage catches any references to other cells.

    Demo Circuit: Tricks the processor into running a programmed loop containing all active memory cells and the last one.

    Processor: Surprisingly the smallest circuit in the entire hand, this circuit controls and coordinates all of the hand's automatic systems. When you want to gesture, this circuit runs all the commands to achieve that. This device also allows you to chain together memory cells as it will adapt to follow this chain to completion. Could run faster though...

    Programming:



    Hopefully these are marked clearly enough...

    The door is for getting inside the ship core, just follow the light to get into the core. You can find the door again in a similar way.

    The green light indicates when it is safe to input another command, blue light shows when the system is working, and red light either means the system won't accept new input, or a blacklisted memory cell is selected. You can usually tell which is which since the green light does not turn off when you select a blacklisted cell.

    The select bits are for selecting the target memory cell to run operations on.

    The reference bits are for referencing another memory cell from another memory cell. Used to chain together gestures into one composite gesture.

    Commands:

    Demo: Found on the IO. Runs every gesture stored in memory, and runs the last memory cell regardless of the status. This does mean the hand might break if you have part of a composite gesture in the last cell, AKA it's blacklisted.

    Run Selected Program: Actually is just the Ready button. Runs the selected program provided the IO has it's input set to true.

    Safety: Prevents the user from changing memory cells or running expensive commands while it's off. If you want to program, then you have to enable this.

    Imprint Selected Memory: Deletes the selected memory cell and copies the data from the cache to the memory cell.

    Clear Selected Memory: Deletes the selected memory cell.

    Clear Cache: Deletes the cache. The display should reflect this.

    Load Cache From Selected: Deletes the cache and copies data from the selected memory cell to the cache.

    Run From Cache: Runs what is inside the cache without filtering. Use this to enter a gesture from the cache.

    Run From Cache Inverted: Runs what is inside the cache, filtering it so that it exits a gesture. Use this to exit a gesture after you enter a gesture through the cache.

    Blacklist Secondary Memory: Use this to check through the memory cells and blacklist referenced memory cells. This is a safety feature to prevent people from accidently running a referenced memory cell, and allow demo mode to run properly. Otherwise, the hand can break. Expensive; takes a long time. Run only after you finish programming AND edit the references.

    Delete Blacklist: Deletes the blacklist memory storage. Dangerous. Only do if you have no referenced memory cells, otherwise you can break demo mode. This effectively removes the safety restraints.

    Guide: How to program a gesture:

    First select the memory cell you want to use. Make sure it isn't a blacklisted cell.
    Next you edit the cache memory until it matches the gesture you want to enter. Use Run From Cache to see the gesture your program would result in, and Use Run From Cache Inverted to return the hand to it's neutral position.
    IF you are making a normal gesture:
    Finally, when you are satisfied, select Imprint Selected Memory. You should test it out to make sure it works. If it works, you are done!
    IF you are making a composite gesture:
    Make sure to enter reference cell. This tells the processor where the next 'frame' is located in memory. If you are at the last 'frame', then you can skip this step.
    When you are satisfied, select Imprint Selected Memory.
    Repeat the instructions for every 'frame' in the animation.
    When you are finished, run Blacklist Selected Memory.
    Make sure to test the program out when it is finished.

    NOTES:

    If the hand breaks, remain calm, redock any stuck components, and use the cache to return the hand to it's neutral position.

    When you load it up, the hand may break. Do the above.

    The Loading Bar has a button in the center. If it goes completely out or fills completely up, press this button. It will reboot the Loading Bar.

    The processor runs a little too slowly, if anyone can come up with a faster version, that would be incredibly helpful.

    Any feedback/Constructive Criticism is appreciated!