{"id":203,"date":"2011-06-12T22:20:16","date_gmt":"2011-06-13T02:20:16","guid":{"rendered":"http:\/\/hackaweek.com\/hacks\/?p=203"},"modified":"2011-06-12T22:20:16","modified_gmt":"2011-06-13T02:20:16","slug":"the-wall-e-robot","status":"publish","type":"post","link":"http:\/\/hackaweek.com\/hacks\/the-wall-e-robot\/","title":{"rendered":"The WALL-E Robot"},"content":{"rendered":"<p>A few weeks ago I found a WALL-E toy robot at a yard sale for $1. I bought it thinking it would be cool to put a couple motors and a micro controller in it to create a cute little autonomous robot.<\/p>\n<p>The first challenge was finding a couple of motors that I could hack into it. I had some motors, with gear reduction built in, left over from some Rumble Robots. After a couple hours of hardware hacking, I managed to get them installed driving the two separate tracks. Next I need some sensors and what better place to put them than in those cute little binocular eyes WALL-E has! I figured that a <a href=\"http:\/\/www.parallax.com\/Store\/Sensors\/ObjectDetection\/tabid\/176\/CategoryID\/51\/List\/0\/SortField\/0\/Level\/a\/ProductID\/92\/Default.aspx\">Parallax PING ultrasonic sensor<\/a> would work so I removed the sensor drivers from the PCB and installed them in the eyes. I used the existing wires that were there for the LEDs to get the signal down to the body where I connected them to the PBC. Unfortunately, in the process of removing the drivers I damaged the PCB. My solution was to solder the wires to another PING sensor and then block the signal from their on board drivers by mounting it against a wall inside the body. It worked! Problem solved. It now had motors and a sensor.<\/p>\n<p>Next came the H-bridge that was required to drive the motors. I decided to build one myself with some transistors I had salvaged from a Roomba Robot main board. I bread boarded the circuit up and it worked first try! Great! Then I transferred the whole circuit to a perfboard and it also worked! Now I had a way to drive the motors. Next came the installation of the micro controller. I connected the Arduino and the H-bridge to the motors and wired everything up. After uploading some code I gave it a test on the bench and it worked fine. Now all I had to do was finish putting the battery and everything inside the body and I would be finished.<\/p>\n<p><strong>Enter the Gremlins&#8230;..<\/strong><br \/>\nFor reasons I could not figure out, the H-bridge failed. It had one set of transistors that simply refused to work. This meant that one of my motors would not run in reverse. After a few hours of troubleshooting I gave it up and called it a day&#8230; 11 hours at the bench is enough!<\/p>\n<p>The next morning I looked over the H-bridge some more. I replaced a few transistors but it still refused to work. OK, time for plan B. In true hardware hacker form, I made a trip to the Dollar Store in search of some kind of RC toy that had motors that went forward and reverse. Why? Because inside that toy would be an H-bridge to hack into my robot! Well I scored two RC cars for $5 each. Perfect! I brought them home and opened them up. Sure enough, there were my hackable H-bridges. After a bit more hardware hacking I had them installed. That took care of that Gremlin!<\/p>\n<p><strong>Oh but there&#8217;s always another Gremlin&#8230; they come in pairs I think.<\/strong><br \/>\nMy motors weren&#8217;t spinning up right. They would start to spin then stop. Very odd. As I was working this problem I was on an IRC chat on <a href=\"http:\/\/www.savagecircuits.com\/forums\/content.php\">Savage Circuits<\/a> and a buddy there, Roy Eltham, reminded me that I needed to give the motors their own power supply separate from the Arduino. DUH! I was so frazzled at this point in the build that I didn&#8217;t even think of this very obvious fact! So I added another 9v battery. Now the motors had one and the Arduino had one. Success!! It finally worked!!<\/p>\n<p>Thanks for the reminder Roy. \ud83d\ude42<\/p>\n<p>This project took a lot longer than I EVER had estimated!! Thanks to the Gremlins it was the first one since I&#8217;ve been doing a Hack A Week that went past my deadline by two full days! In the end, I learned a thing or two and made it all work.<\/p>\n<p>Enjoy the video, and Keep On Hackin!<\/p>\n<p><iframe loading=\"lazy\" width=\"560\" height=\"349\" src=\"http:\/\/www.youtube.com\/embed\/i_pWCUh3b0E\" frameborder=\"0\" allowfullscreen><\/iframe><\/p>\n","protected":false},"excerpt":{"rendered":"<p>A few weeks ago I found a WALL-E toy robot at a yard sale for $1. I bought it thinking it would be cool to put a couple motors and a micro controller in it to create a cute little &hellip; <a href=\"http:\/\/hackaweek.com\/hacks\/the-wall-e-robot\/\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[],"class_list":["post-203","post","type-post","status-publish","format-standard","hentry","category-hacks"],"_links":{"self":[{"href":"http:\/\/hackaweek.com\/hacks\/wp-json\/wp\/v2\/posts\/203","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/hackaweek.com\/hacks\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/hackaweek.com\/hacks\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/hackaweek.com\/hacks\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/hackaweek.com\/hacks\/wp-json\/wp\/v2\/comments?post=203"}],"version-history":[{"count":2,"href":"http:\/\/hackaweek.com\/hacks\/wp-json\/wp\/v2\/posts\/203\/revisions"}],"predecessor-version":[{"id":205,"href":"http:\/\/hackaweek.com\/hacks\/wp-json\/wp\/v2\/posts\/203\/revisions\/205"}],"wp:attachment":[{"href":"http:\/\/hackaweek.com\/hacks\/wp-json\/wp\/v2\/media?parent=203"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/hackaweek.com\/hacks\/wp-json\/wp\/v2\/categories?post=203"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/hackaweek.com\/hacks\/wp-json\/wp\/v2\/tags?post=203"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}