Wednesday, June 29, 2022
Arduino Tank with Nerf Launcher
Friday, May 20, 2022
InMoov head Working with Arduino UNO
I also located and added a base. The real inMoov robot has more than just a head, but I wanted to stop there for now. I had to cut the throat piston off at about one inch shorter to fit properly with the stand.
Friday, April 15, 2022
EZ Robot JD Humanoid Painting and Repairs.
My third humanoid robot is working to some degree. I have had lots of problems with the 3D printed parts. The filament was likely the issue because I have used 2 other filaments that did not break as easily. His feet kept beaking amoung other things. I glued them back together several times. Then I finally gave up and used metal servo brackets to fix his feet.
First I removed what was left of the broken parts leaving a smooth surface.
Then the final product, it looks really good! Issues included needing to fix any cracks before you start. There were some cracks on the sides that are still visable. You can use a soldering iron on the inside to carefully melt them back together. I had previously reinforced some of the bottom with plastic pieces glued across the layers to hold them together.
Wednesday, March 30, 2022
Dual 80x160 RGB LCD Robot eyes
Wednesday, March 23, 2022
Improved Arduino Robot Face on Parallel TFT LCD
Monday, March 21, 2022
Nokia 5110 Robot Face Eyes and Mouth
I thought I would try using a Nokia LCD for creating a face for my robot. However I was greatly disappointed. If you make his eyes white, then the border is also white. So I had to make his eyes black. The effect is not nearly as pronounced. As a result I only created two expressions for this LCD.
Here is the two faces:
Here is the code for those two faces.
Nokia 5110 LCD Robot Face
Many thankls to AdaFruit!
*********************************************************************/
#include <Adafruit_GFX.h>
#include <Adafruit_PCD8544.h>
// Software SPI (slower updates, more flexible pin options):
// pin 7 21- Serial clock out (SCLK)
// pin 6 20- Serial data out (DIN)
// pin 5 19- Data/Command select (D/C)
// pin 4 18- LCD chip select (CS)
// pin 3 17- LCD reset (RST)
//Adafruit_PCD8544 display = Adafruit_PCD8544(21, 20, 19, 18, 17);
Adafruit_PCD8544 display = Adafruit_PCD8544(7, 6, 5, 4, 3);
void setup() {
display.begin();
display.setContrast(60); // Default is 50
display.clearDisplay(); // clears the screen and buffer
}
void loop() {
// draw big eyes and mouth
display.fillCircle(display.width()/6, display.height()/5, 10, BLACK);
display.fillCircle(display.width()/6*5, display.height()/5, 10, BLACK);
display.fillCircle(display.width()/4, display.height()-10, 10, BLACK);
display.fillCircle(display.width()/4*3, display.height()-10, 10, BLACK);
display.fillRect(display.width()/4, display.height()-20,display.width()/4*2,20, BLACK);
display.display();
delay(2000);
display.clearDisplay();
// draw eyes and mouth
display.fillCircle(display.width()/6, display.height()/5, 7, BLACK);
display.fillCircle(display.width()/6*5, display.height()/5, 7, BLACK);
display.fillCircle(display.width()/4, display.height()-10, 5, BLACK);
display.fillCircle(display.width()/4*3, display.height()-10, 5, BLACK);
display.fillRect(display.width()/4, display.height()-14,display.width()/4*2,10,BLACK);
display.display();
delay(2000);
display.clearDisplay();
}
Monday, March 7, 2022
I am Making my Third Humanoid Robot
I have started on making my third humanoid robot. This one is modeled after the EZ-Robot JD Humanoid. The issue with the larger humanoids is that their center of gravity is way too high. There is a two degree tolerance in each servo and that is amplified by the distance from the servo's. So in a humanoid that is over 16" tall the two degrees can amount to falling over frontwards or falling over backwards. That makes it really hard to write software for walking.
One solution is to make the robot shorter and to make the distance from each servo shorter. In the following picture there is a servo for the EZ_Robot on the left, for the Hadron Robot in the middle, and for the mechanical robot sold on eBay on hte right. The EZ-Robot assembly is so short that the ears need to be cut off the one end of the servo for it to work. The Hadron robot on the other hand is not much smaller than the mechanical version, it also is not quite square.
Simple Arduino TFT LCD Robot eyes
Wednesday, February 23, 2022
Rebuild of the 17 DOF Humanoid Robot found on eBay
In my book "Arduino Servo Projects" I made all kinds of Humanoid Robots. But none of them were the 17 DOF Humanoid as is found on eBay. I just could not get it to work. It has a high tendency to fall over a lot. In this guys video it fell off the table: https://www.youtube.com/watch?v=-gQDgxQkX-w ! So I spent some time trying to fix him. One thing I noticed is that his legs are too long. Even with the higher power MG958 servos when he falls over and I pick him up the servos then go to where they were supposed to. The servos just cannot lift his weight! Then as I was studying him I found the mistake! Can you see it in the pictures below?
Did you find the problem? I circled it in red in this picture. The servo is mounted upside down!
I rebuilt my Arduino Servo Arm to use Switches!
This change started as an accident. Somehow I broke one of the variable resistors that controls the servos in the arm. So after a while I came up with the idea of using switches instead. For the switches you need 3 position ones. The positions are on low off and on high. Then add two 10K resistors across the switch with the two resistors meeting in the middle. The resulting operation of the arm was much smoother and quieter. The variable resistors picked up too much noise and that resulted in herky-jerky motion.
This first picture is of the back of the switches. I used 33K resistors as the value is not critical.
Monday, February 14, 2022
15 DOF Humanoid with PCA9685 and MAX7219
There was not enough pins available on my Arduino UNO to interface a LCD. I was using 15 pins to control the servos. So I added a PCA9685 servo controller. It only uses 2 pins to control 16 servos, thus freeing up many pins for further experiments.
When I first fired up the PCA9685 shield it quickly smoked. The polarity protection transistor could not handle the current. So I replaced it with a jumper wire for now. The transistor is located next to the power connector near where it says "GND".
Here is the video of the robot:
https://www.youtube.com/watch?v=u30YtSnnPJE
Here are some of the robots facial expressions:


















