DIY • Do it Yourself • Weekend Projects • BIG Projects • LITTLE Projects
How Do I Share My How-To?
It's really pretty easy, pictures and videos of the steps it takes to complete your project are stored on YouTube and picasaWeb. Once your "final" video is stored on YouTube, your project will show in the listings on the site. All this is controlled by our Creator's Tools. Basically, you start a project by writing up the project idea.
Step 1. Sign up for a free Creator's Account to gain access to the Creator's Tools.
Step 2. Login
Step 3. Push the "Create New Project" button on the Creator's Tools. Make a name (you can change it later) for your project. And describe your plans to use as notes to guide the creation of the steps.
Step 4. When you've finished providing all the steps to your project, shooting the videos and saving to google video via the Creator's Tool Panel, you are ready to write the introductory paragraph with an interesting story of how you did it, or how you do it in the case of a professional services presentation.
Step 5. Last but not least create and upload the video (to YouTube) which is the video that will be used to summarize the project. If you were building a robot, this final video would show the robot running around, doing fun things that will inspire others to create their version of your project.
That's it... Watch the views and ratings for your project pile up along with the sales commissions! Or get a customer because you showed how you remodel a house.
FAQ About Becoming A Creator
Q. Why would I go to all that work, building something, then put it on a website like C What I Can Do? What's the point?
A. Actually, there are a couple of forms for a reward:
You get rated as an author. Lots of good ratings looks good on your resume.
You Make Money!
YOU Make Money when someone buys a part from You, and builds it into Their Version of your project. And, if YOU have a basement full of red leds and build a red led project - we'll send you customers who are inspired to build your blinking light device. If you sell PC boards, you may link to your own sales. Or sell your own kit online through your e-Bay store.
The same with books! We encourage project builders to make books. In fact, CwhatIcanDo is a great place to get rated as an author. 'Betcha get a better deal from your publisher...
Of course, it is possible that your project won't make you any money, because someone built something even cooler than yours (maybe even inspired by your project.) Maybe you just want to show your version of another project... It's done in the spirit of the web: Sharing ideas. And it's fun building a project on your own.
I built this robot over many variations, most of which are shown in various forms on this very website.
Well Now, I`ve gone and Made My Robot Into an Autonomous Pickup Truck... It`s working well enough to smash into things, but avoid smashing into me.
I will fearlessly step in front of a power-chair controlled by a couple of chips with IR sensors. This sounds like a movie promo: "See video of human interacting with primitive robots."
Barefoot. On the deck. This project shows you how often the robot actually has me walking around the deck with it. Disregard the Deck Furniture variously stacked around the place, I want the thing to see and navigate them, but not just yet.
Did I mention this thing is held together by gravity and rubber bands? I said the robot was primitive, I just didn`t mention the human was also primitive.
Frame On Top It`s Own Weight Holding it in Place
The PVC Frame sits on top of the cover of the mini Jazzy. It is held in place only by the large areas of contact the PVC makes with the body. Since there is significant weight, the frame sits quite still, even in sometimes violent interactions with items the Robot fails to navigate.
Real Wooden "Floor Board"
The PVC Frame sits on top of the cover of the mini Jazzy. It is held in place only by the large areas of contact the PVC makes with the body. Since there is significant weight, the frame sits quite still, even in sometimes violent interactions with items the Robot fails to navigate.
Two-Bagger Pickup Bed
This results in a flat-bed for the bot, one which was designed to hold two grocery bags side by side.
I haven`t trusted this thing yet to haul actual groceries, nor has it left the confines of the back deck.
But, just watch me talking to it, following it around like a human pet. And you will know, soon it will be asking for the car keys!!!
Rubber Bands Hold It All Together
The large and in-charge pieces are wrapped in rubber bands.
The rubber bands are sometimes wrapped around the pvc pipes as well when more strength is needed.
The whole electronics package including RGB LED that can flash colors to tell us when the Robot sees an object in it`s field.
Converting the Power Chair
There are many projects on this site which deal with each stage of development.
Sizing the resistors for proper forward/reverse and left/right speeds. (Be very careful with speed, we are asking sensors to determine inches a couple inches moving can crush bone or produce painful bruises.)
Wiring
Locating the connections to the correct pins in the controller. Bringing the wires out ( +,-,F/R,L/R )
Electronics
Using the picAxe (or Arduino) Controller to control a set of LEDs to use as indicators, and to control the dual H-Bridge so it provides 3-State signals to the Joystick in the controller.
The H-Bridge is driven by controlling the length of the "on" time while allowing you to switch between: GND, +Vcc, and Open. By using a dual H-Bridge, you can move forward and steer right or left with another timed tri-state signal.
In this prototype version, I mounted the whole thing on a proto-jumper board so I could sort of organically grow the sensors, and indicators. I already plan to use ultrasonic transducers, now that I have IR controlling the base pretty safely. What comes after Ultrasonics?
Video is in there as well as some kind of integrated RF, but the base of the thing is most important, and will, on it`s own navigate a fairly cluttered environment.
Test Software
This is the software that allows you to fine-tune your unit so it works best for your application.
-----------------------------------------------
`----------------------------------------------------------------------------- ; ***** Power Chair Robot ***** ; ; Filename: pongTestBase04.bas ; Date: 10/01/2013 ; ; File Version: 0.4 ; Written by: Jim H ; Used to test FrameWork Bot, ; Permits you to find which of the sensors has detected what value ; Press Red Button to go until an obstruction, where you stop ; Operates with 3 sensors Left=Red, Center=Grn, Right = Blu RGBLED
` ------------------------------------------------------------- ` Program Wide Symbols Symbol rtFrontSensor = W0 Symbol frontSensor = W1 Symbol lftFrontSensor = w2 Symbol rearSensor = w3 Symbol sensorTemp = w4
Symbol flag = w5
Symbol frontRight = b.0 `pin 18 Symbol frontCenter = b.1 `pin 17 Symbol fwdRev = b.2 `pin 16 Symbol enFR = b.3 `pin 15 Symbol lftRgt = b.4 `pin 14 Symbol backCenter = b.5 `pin 13 Symbol enLR = b.6 `pin 12 Symbol scl = b.7 `pin 11
Symbol frontLeft = c.1 `pin 9 Symbol ledRed = c.2 `pin 8 Symbol ledBlu = c.3 `pin 7 Symbol ledGrn = c.4 `pin 6
Symbol click = c.6 `pin 4 the button Symbol IRdet = c.7 `pin 3 adc3
Symbol frontLimit = 130 Symbol backLimit = 200
Symbol rgtLimit = 210 Symbol lftLimit = 220
Symbol irLimit = 400
` initialize --------------------------------------------------- let dirsB = %11011100 let dirsC = %00011100
`--------------------------------------------------------------- ` System Operation ` ` subs: ` look fwd ` look back ` check values and ` continue ` stop ` turnLeft `steer ` turnRight `steer ` backup ` `---------------------------------------------------------------- `---------------------------------------------------------------- ;;;goto repeater let flag = 255 Pause 100 ` allow system to settle when booting high ledGrn, ledBlu, ledRed `warning lights offcc z
loopDeloop: if pinC.6 = 1 then low enFR, enLR ` Shut Drive Motors ` gosub lookFwd ` get Value in rtFrontSensor ` gosub lookBak ` get Value in lftFrontSensor ` gosub displayIt pause 20 goto loopDeloop else goto mainProg endif
mainProg: `goto repeater ; Uncomment this to run the repeater loop simple F/B/L/R, and again... high ledGrn, ledBlu, ledRed `warning lights off
` ----- move forward, evaluate, proceed, unless backup gosub lookFwd ` get Value in rtFrontSensor gosub lookBak ` get Value in backUpSensor ` gosub displayIt ; Use for debugging only if you are stuck, too much delay
if lftFrontSensor >= lftLimit OR lftFrontSensor >= irLimit then ; reached the limit:stop:in this version low enFR,enLR `stop low ledRed goto loopDeloop endif
if frontSensor >= frontLimit OR frontSensor >= irLimit then low enFR,enLR `stop low ledGrn goto loopDeloop endif
if rtFrontSensor >= rgtLimit OR rtFrontSensor >= irLimit then low enFR,enLR `stop low ledBlu goto loopDeloop endif
; if rearSensor >= backLimit then ; low enFR,enLR `stop ; goto loopDeloop ; endif
; if rearSensor < backLimit then ; high enFR ; low fwdRev `go forward ; pause 50 `kick brakes off, etc ; endif
high enFR, fwdRev `go forward low enLR ` I said Forward Fool! pause 50 `kick brakes off, etc
goto mainProg `
displayIt: ;------ stream values to serial port `setfreq m4 `if you have only 4800 baud SerTxD("F: ",#frontSensor," L: ",#lftFrontSensor," R: ", #rtFrontSensor," Back: ",#rearSensor,CR, LF,CR,LF) pause 200 ; give the tty a breather.. return
lookFwd: ` RIGHT ;----- Look rtFrontSensor let sensorTemp = rtFrontSensor ` last sample readadc10 frontRight, rtFrontSensor ` sonar ana input rtFrontSensor = rtFrontSensor + sensorTemp rtFrontSensor = rtFrontSensor / 2 pause 10 `steady... steady...
` LEFT ;----- Look lftFrontSensor let sensorTemp = lftFrontSensor ` last sample readadc10 frontLeft,lftFrontSensor pause 10 `let it settle lftFrontSensor = lftFrontSensor + sensorTemp lftFrontSensor = lftFrontSensor / 2
;----- CENTER FRONT let sensorTemp = frontSensor ` last sample readadc10 frontCenter,frontSensor pause 10 `let it settle frontSensor = frontSensor + sensorTemp frontSensor = frontSensor / 2 return
lookBak: ;----- Look back Sensor let sensorTemp = rearSensor ` last sample readadc10 backCenter, rearSensor ` sonar ana input pause 10 `steady... steady... rearSensor = rearSensor + sensorTemp rearSensor = rearSensor / 2 return
repeater: ; --- Repeater moves a short distance in each of the four directions: ; Forward, Reverse, Right then Left continuously
high enFR high fwdRev `forward pause 2500 low fwdRev,enFR `stop pause 1600
Don`t go without shoes when you run this (Although I did, in the video).
This is what one would call Operational Base Unit Code Release 0.1 meaning, it works, with no guarantees that I got anything right. If you do this correctly, you will change some values when you run the test code. Change to the tested values you came up with during testing runs (run and stop).
`----------------------------------------------------------------------------- ; ***** Power Chair Robot ***** ; ; Filename: pongBase01.bas ; Date: 10/02/2013 ; ; File Version: 0.1 ; Written by: Jim H ; Built On Test FrameWork Bot, ; Permits you to find which of the sensors has detected what value ; Press Red Button to go until an obstruction, where you stop ; Operates with 3 sensors Left=Red, Center=Grn, Right = Blu RGBLED ; ; Red Turn Left ; Green Stop Backup Turn Random(Left/Right) recheck, then react ; Blue Turn Right
` ------------------------------------------------------------- ` Program Wide Symbols Symbol rtFrontSensor = W0 Symbol frontSensor = W1 Symbol lftFrontSensor = w2 Symbol rearSensor = w3 Symbol sensorTemp = w4 Symbol flag = w5
Symbol frontRight = b.0 `pin 18 Symbol frontCenter = b.1 `pin 17 Symbol fwdRev = b.2 `pin 16 Symbol enFR = b.3 `pin 15 Symbol lftRgt = b.4 `pin 14 Symbol backCenter = b.5 `pin 13 Symbol enLR = b.6 `pin 12 Symbol scl = b.7 `pin 11
Symbol frontLeft = c.1 `pin 9 Symbol ledRed = c.2 `pin 8 Symbol ledBlu = c.3 `pin 7 Symbol ledGrn = c.4 `pin 6
Symbol click = c.6 `pin 4 the button Symbol IRdet = c.7 `pin 3 adc3
Symbol frontLimit = 100 Symbol backLimit = 350
Symbol rgtLimit = 150 Symbol lftLimit = 150
Symbol irLimit = 400
` initialize --------------------------------------------------- let dirsB = %11011100 let dirsC = %00011100
steerRight: high enLR high lftRgt `right pause 1500 low enLR gosub goForth pause 60 return
It's Easy To:
C - What - I - Can - Do
• Sign up - Get ID and Password
• Plan and Create a Project That Someone Might Enjoy and May Even Want to Build
• Link to your creation on your favorite social networking site or blog.
• Become famous! Because your projects get a lot of Hits!
No parts list with this project. Scan the 'Junkbox Reviewer' below! Find projects by clicking on their parts. Got something in your junkbox? Here's your spot to find something fun to make or build!
Junk Box Reviewer
Itching To Start Building A DIY Do It Yourself Project? Got Some Parts of Your Own in your JunkBox? Find projects by Surfing' the Parts List!