Introduction: Portal 2 Personality Core
Hello friends, I am proud to present my latest project! This personality core from one of my favorite games, Portal 2 has been an amazingly fun and challenging project. I wanted my core to be as true to the game as possible so I used six servo actuators to control the inner mechanism. It was a bit of a pain to program but I finally got it working :) This was my first attempt at building a Personality core so If you follow my process keep in mind these suggestions. I would suggest that you make the core larger I had a really hard time fitting everything in mine and the mechanism barely had room to move and jammed from time to time. The biggest problem I faced when begining this project was not knowing how to 3d model Luckily I was able to find an articulated Wheatley core model on thingiverse. It was made by Cerb. I started by scaling up Cerbs model by 300% and making room for the electronics.
I have more pictures and videos available here
https://www.instagram.com/p/B3Hq8G7hqV0/?igshid=1k...
They were deleted from my phone so this is the only way I could show you :p
Supplies
2Kg white fillament
500g of black filament(optional)
Arduino Uno
Hc06 Bluetooth module
Black acrylic paint
White spray paint
Sand paper
Android Smart phone (the eye in my Core is designed to fit an LGG4)
3 port usb power brick
Step 1: 3D Printing
I Printed the shell halves at 20% infill on my Ender3 I would recommend increasing that. I printed the actuators at 50% because they kept breaking.I recommend printing the rear panel and actuators first so that you can work on the electronics while the rest prints
Attachments
- eyelid_gear.stl
- Y_rail.stl
- actuator_gear.stl
- actuator_mount.stl
- actuator_rack.stl
- eyelid.stl
- EyelidRack&Gear.stl
- eyelid_circular_gear_rack.stl
- Handle.stl
- Left_Shell.stl
- eyelid_servo_mount.stl
- Faceplate.stl
- LGG4PhoneHolder.stl
- Rear_Panel.stl
- Mounting_bracket.stl
- rail_slider.stl
- Rear_Panel_Housing.stl
- Right_Shell.stl
- X_rail.stl
Step 2: Electronics
While you are waiting for the parts to print you can begin assembling the electronics. I managed to shove an arduino uno and a breadboard into my core. I held them in place with hot glue. You can follow the diagram to recreate the circuit. I had to use an ultrasonic sensor to represent the HC_06 Bluetooth module. The core is powered by a large usb power brick cables come out the back of the core and connect to the power brick which can be kept in a pocket. I defiantly want version two to have an on board battery.
Step 3: Programming
The programming is a little tricky mostly because the values change a little each time you connect the face plate and the actuators. I have included an example of my code.
Download an app called Bluetooth electronics and create a button layout with the following commands
O-EXTENDS ALL PISTONS
I-RETRACTS ALL PISTONS
U-LOOK UP
D-LOOK DOWN
R-LOOK RIGHT
L-LOOK LEFT
C- CENTER ALL PISTON
E-ROTATE RIGHT
e-UNROTATE RIGHT
Q- ROTATE LEFT
q-UNROTATE LEFT
Y- OPEN EYELIDS
T-CLOSE EYELIDS
The code will listen for these commands over Bluetooth and move the servos accordingly.
To display the eye on the phone simply download a picture of a core Iris and open it on the phone. this can be accompanied with game quotes if you desire by playing them through a music app.
Attachments
Step 4: Painting
To paint my core I applied black acrylic paint with an old paint brush and worked it into the crevices with a rag. If it is ever too much wipe it off with a wet rag. In the game these robots have been around for many years and have lots of grime on them. weathering the core is a great way to hide mistakes.
Step 5: Assembly and Conclusion
Hot glue the x-rails to the left and right shells. glue the y_axis to the right shell along the equator; this will help the two halves stay together. Drill two pilot holes on opposite sides of the rear panel housing and use two screws to hold it in place. The actuators connect the rear panel to the phone holder in the pattern shown.
Glue the eyelids gear racks to the back of the eyelids making sure that there is enough room for the eyelid to close. Secure the eyelid gear to the servo and position the eyelid servo mount so that the gear and rack are making contact. Repeat these steps for the other eyelid and secure the face cover to the phone holder by drilling pilot holes and screwing in four small screws.
Open the iris picture on the phone and then slide the phone into its holder. The phone can be plugged into the power brick if you are going to be using it for a long time. Dont forget to set the brightness to high and to turn off the auto screen lock.
Once the phone is inserted snap the two shell pieces together with the iris in the center and screw on the handles.
Plug the core into the power brick and congratulation you have a working portal core!
I hope you found this instructable informative and will consider voting for my project in the robotics contest.
Sincerely,
Ryan