It doesn't draw at all like we would (though it could), and we would struggle to draw exactly as it does (though we could).
It can draw on things bigger than itself - the question is really "how long is a piece of string?" when it comes to working out it's maximum area.
It's easier to look at what it does, than to explain it, so just have a look.
Remove these ads by
Signing UpStep 1History
physical. For me, it's all too easy to produce digital things which are interesting - programming or mash-ups or virtual experiments are devalued because they are intangible, you can run a hundred, a thousand, a million variations in a day - it's the proverbial roomful of monkeys with typewriters. The output becomes disposable, it get's hard to see the value, the craft.
So 3D printers and other desktop manufacturing tools and technologies (laser cutters etc) have got more and more popular, it's hard to overestimate how much hunger there is for a tangible, physical, touchable, smellable product of all this clever-clever digital work.
So this isn't wholly original, check out this prior art for more inspiration:
Hektor - the daddy of all hanging drawing machines
Der Kritzler - the smartest one yet
AS220 Drawbot - the basis for mine
SADBot - Instructable for an automatic drawing machine on the same pattern by Dustyn Roberts
Or have a look at what I've been doing with mine
Polargraph website
Polargraph project code and wiki
Flickr stuff
| « Previous Step | Download PDFView All Steps | Next Step » |






























































At this point, ControlP5 and geomerative libraries installed, code downloaded from svn today, I am stuck (Processing 1.5.1, current Ubuntu release) when trying to run the sketch:
error in line 140 of Panel.pde c.setSize((int)cSize.x, (int)cSize.y);
error msg: "The function setSize(int,int) does not exist"
If I comment this line out, the next error is in line 182 of the same file
"the function getBackground() does not exist"
then line 189 of the same "The function setLock(boolean) does not exist"
if I comment the last one, the controller runs (still signals a RXTX Version mismatch Jar version = RXTX-2.2pre1 native lib Version = RXTX-2.2pre2
but this is not fatal.
So it is like a library or set of functions might be missing. Any hints? Thank you!
Cheers!
* plate
* empty bearing
* bearing with 'short arm facing up'
* acrylic spacer x 2
* bearing with 'long arm facing down'
* acrylic spacer
* wooden cap
Is this correct? If so I'm having a problem with non flat hanging on a vertical surface. Suggestions?
The wooden cap is purely decorative. I usually glue the last spacer on the top so I've got something reliable to push against when I'm handling it.
I guess it is hanging tilted so that the pen is pointed downwards, and only the top-edge of the stabiliser is against the surface? I would fix this by installing the pen, and sticking some more blu-tack on the end of the pen until it balances. Alternatively, you could move the cord hangers onto the next bearing down - so the empty bearing was the top-most one. This will have the effect of moving the gondola away from the surface (which is why I haven't done it), but you might be ok.
Cheers!
When I upload this file to their site, it then wants me to select units. Options are mm, cm, or inches. Do you know which I need to select?
I don't know anything about 3D modeling, so I don't know what the units even mean, or what it applies to.
Have a great weekend
When I open the program and select Load Image File on the input screen, I try to open a JPG and nothing shows up on the screen.
What are the limitations for this program? ie....the directions in this Instructable say to open a bitmap. When I click on Load Image File, the open dialog box shows that it wants either a JPG or a PNG file. I tried opening a bitmap 256 color, as well as 24 bit too....nothing shows.
Also, I have Show Image checked in bottom left hand corner of the program, still nothing.
OK, just so we're on the same level.....now I'm talking about the new version of your program.
Both ways I run it (manually via Processing or thru the binary) I can not load an image file into the program.
I mentioned it in another comment, but I CAN load images into your Old Version of the program. So it's either a config problem, or a software problem, I don't know.
I tried loading same image I loaded into Old Version, into new version and it does not display. Looking at the console in Processing and it says loading from filename: .....
There are no error messages in the Processing console
I'm hoping to get some work done on the controller over the weekend.
In the Old Version, I get a box the size of the image. When I move that box and click, the image moves to that new location
Is the old version on your Google Code page under trunk? polargraphcontroller.pde, is that the file for the old version?
I'll still want to get the newer version running, and will probably need a little guidance on that, but I just want to see this in action! I'm going to start ordering stuff to build this today.
I'll probably actually import some stepper motors to the United States from the eBay seller you linked. They have them cheaper than I can get here in the States, and I would like to order quite a few of them for use with other projects in the future.
I have another question about this step (11). With the newest updates you made to your code, do I now have to copy ALL 11 of the files from your code site, branch polargraphcontroller_zoom, into the sketch folder for Processing?
Thank you
I downloaded from your site: polargraphcontroller1.0.2.windows32.zip
I'm running WinXP
I installed Processing, latest version, and see folder here: My Documents/Processing
I created a new folder in that folder called polargraphcontroller.
So, my question is, what files do I need to copy into: My Documents/Processing/polargraphcontroller
from your zip file? Do I need to copy the source folder from your zip file, there are 11 files in that folder.
but nothing shows up when I run Processing and click on File->Sketchbook . I have closed Processing and tried reopening, but nothing is displayed
The reason the files aren't showing up inside processing is that the name of the pde has to match the name of the folder it's in. So if you've downloaded polargraphcontroller_zoom, then it needs to be in a folder called /polargraphcontroller_zoom/. And yes, all the polargraph files would need to be in that same folder.
That said, you also need to get the controlP5 library and the geomerative library too, so I'd recommend using the precompiled binaries. And you've already got that (polargraphcontroller1.0.2.windows32.zip), so wherever you unpack it, just run the executable file that's in the root of wherever you unpacked it to. It'll be called polargraphcontroller_zoom.exe. You still need to change the serial port in the configuration file, but other than that, it's simple - don't even need processing installed for it.
You may find that the new software is not quite ready for primetime, and in particular I think it struggles with some image resizing issues.
Good luck!
Ok, so based on what you told me, I just extracted the polargraphcontroller.1.0.2.windows32.zip file
I ran polargraphcontroller_zoom.exe and it opens up fine. I closed out of the program and then updated polargraph.properties.txt file with my correct serial port for my Arduino UNO.
When I open polargraphcontroller_zoom.exe again, it just says No Serial Connection at the top of the screen.
My next question is.....do I need to load a sketch onto my Arduino in order to get it to talk to polargraphcontroller_zoom.exe?
Right now, the last sketch loaded onto my Arduino is Blink. Do I need to clear off that sketch or something in order for my Arduino to talk to the computer?
I read this Instructable many times and I just seem to be missing something here. I'm guessing it's like you said, these directions are for the older version of your software. I'm looking for any more tips to get the software talking to the Arduino.
Thank you
Also, the value you need to put into the properties.txt is not the same number as your COM port - like, if you have COM14, then you wouldn't enter "14".
What it actually needs is the position of the com port in a list of all com ports on your system. So you would enter "0" if you wanted to connect to the first COM port, "1" if you wanted to connect to the second, etc.
On all my windows machines the arduino pops up in the second com port, so I always have "1" as my COM port in the file. The actual name of the port varies, depending on which arduino I have plugged in, so it can be COM14, COM31, COM5 etc. This is the bit that doesn't really work yet in the new controller software.
Running the older version, with the COM port setting that you explained, after manually installing all the libraries, loading the server onto the Arduino, I am now able to run the program!
It comes up, says it's connected via the COM port, and I can load an image into the program. I'll re read all of the other steps again and try to learn more about how to use the polargraphcontroller program.
Thanks again for all you've done!
Can you update this step as well with more recent info about what code is needed? Step 8 of this Instructable. The link for 'polargraph code repository' is broken.
Is this the main sketch for your machine: polargraphcontroller_zoom.pde ??
I'm going to try to hammer out all the software details before I jump in and start buying all the bits to make this work. I really appreciate how much time and effort you have put into refining this project. Thanks for sharing it with us!
I have a cheap/generic motor shield I got thru eBay, I wonder if AdaFruit's libraries will still work with it. I'll have to try it out I suppose, unless you know if it will work?
There's a lot to digest here, and especially with all of the code files
How do I use all of the PDE files? I thought you can only upload one PDE to the Arduino at a time. Looking at the code, most of them say that they are part of the Polargraph Controller, and have classes and all kinds of other stuff in them. Can you give any quick tips to help me understand how all these files work in the big picture?
Thanks again!
Quick question,
To get more detail in the drawing but not more lines across, do I use the inc sample size button?
Thanks a bunch,
Matt
It sometimes gives the impression of more detail though, because it looks a bit more bold, a bit sharper in the preview, but the only real way to get more detail from the image is to decrease the row size and add more rows.
If you like, I have video with description of it on my youtube channel at www.youtube.com/geekguymj
Thanks,
Matt
My wife bought me your kit for Christmas. It should be in soon and I can't wait to get it set up. It looks amazing. Thanks,
Matt
I have been building this and troubleshooting a problem i had for most of the day. i was about to ask you about it when I noticed your conversation with cbradford1 in this forum. I had the same problem. So thankfully you guys figured that out for me. I changed the "," in the code and that made all the difference. I have been looking forward to this for a while. Thanks for the great software and support you give. What a cool machine.
Much thanks,
Matt
It's straightforward - the AFMotor libraries are already compatible with Arduino 1.0, but the AccelStepper ones aren't yet - you'll need to use a slightly modified versions that I've got on the site - http://code.google.com/p/polargraph/source/browse/#svn%2FAccelStepper%2Fbranches%2FAccelStepperArduino1.0
Cheers!
I look forward to the New Year to start building and experimenting..
Merry Christmas
Cheers!
First of all, great work on your project - it's truly inspiring.
I've got my hardware all setup, and I've had the steppers responding to a number of tests so I know the shield and motors work, but I can't get a response when I "set home". All the appropriate lights are on, the server appears to have loaded properly to my board, but... nothing.
Any ideas?
Thanks!
You should be seeing a regular transmission of "READY" coming from the board too, every two seconds or so - should be able to check that if you use the serial monitor in the arduino environment, or see it coming up in the console portion of the processing environment.
If that's all running, then make sure your queue is running (top right - "command queue RUNNING" or "command queue - STOPPED" or something like that).
If that's running too, then issuing a command should result in either an acknowledgement in the console, and some action, or a message in the console saying that it didn't recognise the command. Remember that set home will only result in the motors locking, but otherwise no movement.
Let me know how you get on!
Yes, the controller is in contact with the board. It says it's ready in the top left corner and repeatedly in the console. When I set home the steppers still spin free.
It looks on the console that the machine is happily running away, but it's not.
If the board is happy, and saying "READY", the the commands in the queue should be being issued as a response, the board will usually output a load of stuff that describes what it's doing with each command too (SYNC messages, MEMORY messages etc).
Is it getting that far?
If that's all running, then I'm a bit stumped, I would have said it's a hardware problem, except that you've tested that bit already.
You could perhaps try issuing the commands manually from the serial monitor in arduino - enter "C09,3163,3163,END" and it should reply with "ACK,C09,3163,3163,END", and when you reply with "EXEC" it'll execute the command.
The RXTX version mismatch thing seems to be normal - I have read an explanation somewhere about what the problem is, but it's not critical. I get it every time and it doesn't stop anything from working.
Good luck
However, if you're using polargraph_server_84 then you should probably upgrade to the most recent version of the embedded code and the controller anyway - a few things are easier to do with the newer versions.
There's links to the most recent versions on here
http://www.instructables.com/id/Polargraph-Drawing-Machine/step8/Electronics-Arduino/
and
http://www.instructables.com/id/Polargraph-Drawing-Machine/step11/Controller-software-install/
(That said, I don't think that's the problem, because it was working, and you connected ok with it before). Your most recent issues sound like there's something afoot with your libraries installation in Arduino - the accelstepper is missing it's dependencies (wiring.h). Now I'm pretty sure that wiring.h is included in the basic arduino installation, so maybe it's a problem with that. Not sure what to suggest to fix it other than a close look and maybe a reinstall.