With the MeArm coming up for a RoadTest, I decided to take my old one out and dust it off. Since I recently posted about the Dirty Smart Button and talked about battery life, I got curious what I could actually get. I did some basic math which seemed like this should last forever.
I took the MeArm and set it up to press each button sequentially on the Dirty Smart Button, and set a dwell timer in between.
References:
Test Setup:
- Original MeArm robotic arm
- Freetronics Ether10 Arduino Uno
- Dirty Smart Button diaper logger is the UUT (Unit Under Test)
I set up the MeArm to do a simple routine as per the below source code. This test is open-loop for simplicity - in other words, the arm simply goes through a series of position moves in sequence without any feedback on the status of the button presses on the UUT.
Here is my code which is similar to what was in the video linked in this post. I changed the dwell times and a few of the moves to make it a little cleaner since the video was taken.
/* Pins: * Arduino Base Shoulder Elbow Gripper * GND Brown Brown Brown Brown * 5V Red Red Red Red * 11 Yellow * 10 Yellow * 9 Yellow * 6 Yellow */ #include "meArm.h" #include <Servo.h> int basePin = 11; int shoulderPin = 10; int elbowPin = 3; int gripperPin = 6; meArm arm; void setup() { arm.begin(basePin, shoulderPin, elbowPin, gripperPin); realignArm(); } void loop() { clap(); realignArm(); pressA(); delay(90000); realignArm(); pressB(); delay(90000); realignArm(); pressC(); delay(90000); } void pressA(){ //press button A - Wet arm.gotoPoint(-30,130,150); delay(1000); arm.gotoPoint(-30,190,50); //stage delay(250); arm.gotoPoint(-30,190,30); //press delay(500); arm.gotoPoint(-30,190,50); delay(1000); } void pressB(){ //press button B - Dirty arm.gotoPoint(+10,130,150); delay(1000); arm.gotoPoint(+15,210,50); //stage delay(250); arm.gotoPoint(+15,210,20); //press delay(500); arm.gotoPoint(+15,180,50); delay(1000); } void pressC(){ ///press button C - Blowout arm.gotoPoint(+55,130,150); delay(1000); arm.gotoPoint(+60,185,50); //stage delay(250); arm.gotoPoint(+60,185,20); //press delay(500); arm.gotoPoint(+60,185,50); delay(1000); } void clap(){ //Clap - so it's obvious we're at this part of the routine arm.openGripper(); arm.closeGripper(); arm.openGripper(); arm.closeGripper(); arm.openGripper(); } void realignArm(){ arm.gotoPoint(-40,130,150); delay(1000); }
The Goal:
The goal is to see how many button press cycles I can achieve before the batteries die. I know that I got around 200 before we stopping using it with our child. So far with the MeArm test rig, I have well over 500 cycles and counting...
The results:
I will update this post over the next couple of weeks, so check back!
I'm also curious if there is something to be said for having the most tie-ins of previous contests all wrapped up in one???
Top Comments