I was wondering if there was already an external to control a printer or a robot with PD. If not, does anyone know how I would go about writing one? I understand that if you were to write a binary, you'd probably have to understand C (or C+ or C++. whatever it's called). Obviously, I don't understand any of it. If anyone can help me, let me know.
Thanks,
Robert
P.s. (if there is an external for the robot stuff, is there a specific kit that would be best for PD?)
I'm not too sure about the printer... it depends if it's USB or parallel. I'm sure either one is doable, and probably without writing in C(++). *maybe* Hans-Christoph Steiner's HID object if it's USB. I haven't used it yet, but I hear good stuff.
But for the robot, I use a serial port to communicate to a Microchip PIC which can trigger all sorts of motors, lights, sensors, etc. Again, it depends on the interface. I have no idea what sort of communication pre-built robots use. Maybe the IR port on most laptops? But if you want to use a serial port, there's a [comport] external. I mean, you could build a robot with a wireless ethernet connection, which you could pilot over the web using a joystick. (hmm... that sounds like a fun project)
If you're more specfic about the printer/robot/gizmo I'm sure I (and others around these parts) could be of more help.
-Ian
Robert Garvin wrote:
I was wondering if there was already an external to control a printer or a robot with PD. If not, does anyone know how I would go about writing one? I understand that if you were to write a binary, youÂ’d probably have to understand C (or C+ or C++Â… whatever itÂ’s called). Obviously, I donÂ’t understand any of it. If anyone can help me, let me know.
Thanks,
Robert
P.s. (if there is an external for the robot stuff, is there a specific kit that would be best for PD?)
Ok.. here's the deal. The printer is usb, and I've used the HID object, and it didn't recognize it (it may have, but it was on a usb hub.) also, the robot would be connected via usb. I thought about the wireless idea, and thought about the wireless mouse, but I wasn't sure if the part that plugs into the port had both a send and receive function to transmit info. An IR port would be neat, except it would force the robot to stay within line-o-sight (or reflections) of the port (this wouldn't be a problem if the robot was a stationary arm, which is what I think I should start with.
-Robert
-----Original Message----- From: Ian Smith-Heisters [mailto:heisters@0x09.com] Sent: Saturday, March 26, 2005 3:58 PM To: Robert Garvin Cc: pd-list@iem.at Subject: Re: [PD] controlling robots/printers w/ PD
I'm not too sure about the printer... it depends if it's USB or parallel. I'm sure either one is doable, and probably without writing in C(++). *maybe* Hans-Christoph Steiner's HID object if it's USB. I haven't used it yet, but I hear good stuff.
But for the robot, I use a serial port to communicate to a Microchip PIC which can trigger all sorts of motors, lights, sensors, etc. Again, it depends on the interface. I have no idea what sort of communication pre-built robots use. Maybe the IR port on most laptops? But if you want to use a serial port, there's a [comport] external. I mean, you could build a robot with a wireless ethernet connection, which you could pilot over the web using a joystick. (hmm... that sounds like a fun project)
If you're more specfic about the printer/robot/gizmo I'm sure I (and others around these parts) could be of more help.
-Ian
Robert Garvin wrote:
I was wondering if there was already an external to control a printer or a robot with PD. If not, does anyone know how I would go about writing one? I understand that if you were to write a binary, you'd probably have to understand C (or C+ or C++. whatever it's called). Obviously, I don't understand any of it. If anyone can help me, let me know.
Thanks,
Robert
P.s. (if there is an external for the robot stuff, is there a specific kit that would be best for PD?)
Hallo, Robert Garvin hat gesagt: // Robert Garvin wrote:
Ok.. here's the deal. The printer is usb, and I've used the HID object, and it didn't recognize it (it may have, but it was on a usb hub.)
I'm pretty sure that [hid] will not work with a printer, as a printer does not belong to the "human interface device" class. There's more info about the available USB device classes here: http://www.usb.org/developers/devclass_docs
Frank Barknecht _ ______footils.org__
_ __latest track: "scans" _ http://footils.org/cms/show/41
If you want to control a stationary arm with PD it will depend on the device. Since it's stationary USB or serial is likely. Are you looking at buying something premade or making it yourself?
If you buy something premade I would imagine it works like any other peripheral: you'll need a driver and a program to interface with the driver. The arm would likely come with some program that lets you do basic programming of tasks. It would be possible, most likely, again depending on the particulars, to get PD to talk to the robot directly with some hacking. How easy that would be would depend on how the arm is implemented. You might even be able to find one that can be controlled with MIDI or OSC using some third party intermediary.
If you want to build it yourself you can decide how you want to interface with it. There are PIC microcontrollers with built in USB, serial, and a new one with ethernet coming out soon. The BASIC Stamp probably comes in various flavors as well. But this is probably too involved for you, since you want to avoid C programming, which probably also means you want to avoid assembler programming ;)
A nice middle route would be Lego RCX. They're lego robots--really easy to build and programmable in a few different languages, including Java. They have all kinds of third party "bricks" that let you add ultrasound sensors, IR sensors, and probably some sort of serial port. You can also use their included IR tower for communication. Here's a page http://www.sckans.edu/~sireland/webcam/webrcx/ that has code to let you control an RCX over the web.
Look around at the options and figure out what you'd like to do specifically and I can give you more pointers.
-Ian
Robert Garvin wrote:
Ok.. here's the deal. The printer is usb, and I've used the HID object, and it didn't recognize it (it may have, but it was on a usb hub.) also, the robot would be connected via usb. I thought about the wireless idea, and thought about the wireless mouse, but I wasn't sure if the part that plugs into the port had both a send and receive function to transmit info. An IR port would be neat, except it would force the robot to stay within line-o-sight (or reflections) of the port (this wouldn't be a problem if the robot was a stationary arm, which is what I think I should start with.
-Robert
-----Original Message----- From: Ian Smith-Heisters [mailto:heisters@0x09.com] Sent: Saturday, March 26, 2005 3:58 PM To: Robert Garvin Cc: pd-list@iem.at Subject: Re: [PD] controlling robots/printers w/ PD
I'm not too sure about the printer... it depends if it's USB or parallel. I'm sure either one is doable, and probably without writing in C(++). *maybe* Hans-Christoph Steiner's HID object if it's USB. I haven't used it yet, but I hear good stuff.
But for the robot, I use a serial port to communicate to a Microchip PIC which can trigger all sorts of motors, lights, sensors, etc. Again, it depends on the interface. I have no idea what sort of communication pre-built robots use. Maybe the IR port on most laptops? But if you want to use a serial port, there's a [comport] external. I mean, you could build a robot with a wireless ethernet connection, which you could pilot over the web using a joystick. (hmm... that sounds like a fun project)
If you're more specfic about the printer/robot/gizmo I'm sure I (and others around these parts) could be of more help.
-Ian
Robert Garvin wrote:
I was wondering if there was already an external to control a printer or a robot with PD. If not, does anyone know how I would go about writing one? I understand that if you were to write a binary, you'd probably have to understand C (or C+ or C++. whatever it's called). Obviously, I don't understand any of it. If anyone can help me, let me know.
Thanks,
Robert
P.s. (if there is an external for the robot stuff, is there a specific kit that would be best for PD?)
Hi Robert & Ian,
Comments inline...
Ian Smith-Heisters wrote:
If you want to control a stationary arm with PD it will depend on the device. Since it's stationary USB or serial is likely. Are you looking at buying something premade or making it yourself?
If you buy something premade I would imagine it works like any other peripheral: you'll need a driver and a program to interface with the driver. The arm would likely come with some program that lets you do basic programming of tasks. It would be possible, most likely, again depending on the particulars, to get PD to talk to the robot directly with some hacking. How easy that would be would depend on how the arm is implemented. You might even be able to find one that can be controlled with MIDI or OSC using some third party intermediary.
Often strange things like this tend to have proprietary drivers and or control protocols. Some companies are nice and don't do this, but many want to protect their products from any kind of reverse-engineering. (sniffing a proprietary protocol). Cheaper items tend to be more standard.
If you want to build it yourself you can decide how you want to interface with it. There are PIC microcontrollers with built in USB, serial, and a new one with ethernet coming out soon. The BASIC Stamp probably comes in various flavors as well. But this is probably too involved for you, since you want to avoid C programming, which probably also means you want to avoid assembler programming ;)
One programs the BASIC stamp in BASIC, hence the name. No assembler required. Also there is the Art Interface Device (aid.interaccess.org) that is a GPL HW controller platform based around a PIC currently serial only, but works with those USB-Serial converters. You just send it simple commands in ASCII like: "a 0" to read the first A2D port or "w 12 255" to set all bits on board with address 12 to 1. Also there is a simple python lib for using AID over serial.
So we all want to know what exactly are you doing?!? your question is far to vague for us to give you a good suggestion.
A nice middle route would be Lego RCX. They're lego robots--really easy to build and programmable in a few different languages, including Java. They have all kinds of third party "bricks" that let you add ultrasound sensors, IR sensors, and probably some sort of serial port. You can also use their included IR tower for communication. Here's a page http://www.sckans.edu/~sireland/webcam/webrcx/ that has code to let you control an RCX over the web.
Look around at the options and figure out what you'd like to do specifically and I can give you more pointers.
-Ian
Robert Garvin wrote:
Ok.. here's the deal. The printer is usb, and I've used the HID object, and it didn't recognize it (it may have, but it was on a usb hub.) also, the robot would be connected via usb. I thought about the wireless idea, and thought about the wireless mouse, but I wasn't sure if the part that plugs into the port had both a send and receive function to transmit info. An IR port would be neat, except it would force the robot to stay within line-o-sight (or reflections) of the port (this wouldn't be a problem if the robot was a stationary arm, which is what I think I should start with.
-Robert
-----Original Message----- From: Ian Smith-Heisters [mailto:heisters@0x09.com] Sent: Saturday, March 26, 2005 3:58 PM To: Robert Garvin Cc: pd-list@iem.at Subject: Re: [PD] controlling robots/printers w/ PD
I'm not too sure about the printer... it depends if it's USB or parallel. I'm sure either one is doable, and probably without writing in C(++). *maybe* Hans-Christoph Steiner's HID object if it's USB. I haven't used it yet, but I hear good stuff.
But for the robot, I use a serial port to communicate to a Microchip PIC which can trigger all sorts of motors, lights, sensors, etc. Again, it depends on the interface. I have no idea what sort of communication pre-built robots use. Maybe the IR port on most laptops? But if you want to use a serial port, there's a [comport] external. I mean, you could build a robot with a wireless ethernet connection, which you could pilot over the web using a joystick. (hmm... that sounds like a fun project)
If you're more specfic about the printer/robot/gizmo I'm sure I (and others around these parts) could be of more help.
-Ian
Robert Garvin wrote:
I was wondering if there was already an external to control a printer or a robot with PD. If not, does anyone know how I would go about writing one? I understand that if you were to write a binary, you'd probably have to understand C (or C+ or C++. whatever it's called). Obviously, I don't understand any of it. If anyone can help me, let me know.
Thanks,
Robert
P.s. (if there is an external for the robot stuff, is there a specific kit that would be best for PD?)
PD-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://iem.at/cgi-bin/mailman/listinfo/pd-list
On Sat, 26 Mar 2005, B. Bogart wrote:
One programs the BASIC stamp in BASIC, hence the name. No assembler required.
My impression of BASICstamp's BASIC is that it's damn close to assembly language. The use of the name "BASIC" is more marketing than anything else. It's there to attract a generation of artists who are learning how to code and solder in a fit of DYI-ness and are the right age to have tried BASIC as a kid in a way that makes them nostalgic about it.
Is there even a Linux interface for uploading to the BASICstamp ? I think I recall it's Windows-only.
Mathieu Bouchard -=- Montréal QC Canada -=- http://artengine.ca/matju
Le 26 Mars 2005 23:28, Mathieu Bouchard a écrit :
Is there even a Linux interface for uploading to the BASICstamp ? I think I recall it's Windows-only.
Marc
Le 27 Mars 2005 10:14, Marc Lavallée a écrit :
Le 26 Mars 2005 23:28, Mathieu Bouchard a écrit :
Is there even a Linux interface for uploading to the BASICstamp ? I think I recall it's Windows-only.
Yes, there is: http://bstamp.sf.net/
But I just realized that it's using a proprietary library from Parallax. :-(
There's also good Linux tools for the PICs: http://www.gnupic.org/
Here's a very interesting software to simulate and program the P16F84 PIC with a BASIC style dialect, or directly with a flowchart. It also includes an electronic simulator, and will eventually include a mechanic simulator: http://ktechlab.fadedminds.com/
-- Marc
Well personally I find basic stamp basic much more reader-friendly than assembly. But hey a matter of opinion.
Once still has to deal with ports and registers, so I guess there is only so much wrapping that they can do. But also the basic interpreter actually runs on the PIC on the stamp!!! pretty amazing.
Windows only yes.
For HW microcontroller stuff is... I heard about some linux toolkits for programming chips, but I don't think there is one for PICs... I can't remember the other manufacturer. AM something...
B.
Mathieu Bouchard wrote:
On Sat, 26 Mar 2005, B. Bogart wrote:
One programs the BASIC stamp in BASIC, hence the name. No assembler required.
My impression of BASICstamp's BASIC is that it's damn close to assembly language. The use of the name "BASIC" is more marketing than anything else. It's there to attract a generation of artists who are learning how to code and solder in a fit of DYI-ness and are the right age to have tried BASIC as a kid in a way that makes them nostalgic about it.
Is there even a Linux interface for uploading to the BASICstamp ? I think I recall it's Windows-only.
Mathieu Bouchard -=- Montréal QC Canada -=- http://artengine.ca/matju
comments inline...
B. Bogart wrote:
Once still has to deal with ports and registers, so I guess there is only so much wrapping that they can do. But also the basic interpreter actually runs on the PIC on the stamp!!! pretty amazing.
The thing that gets me is the price of the Stamps. PICs range from 1USD all the way up to about 7USD, whereas stamps are at something like 40-60USD. Of course you need the programmer for the PICs, but that's a one time cost. But I'm sure you know that with the whole AID project. Speaking of which, I want to build the AID board one of these days.
But I do think Stamp BASIC is easier than assembler, though I've only seen Stamp BASIC, never tried it.
Windows only yes.
For HW microcontroller stuff is... I heard about some linux toolkits for programming chips, but I don't think there is one for PICs... I can't remember the other manufacturer. AM something...
There *is* one for PICs that I've heard some good things about. It was posted to the PIClist a couple days back, but I've deleted the message. It may have been at gputils.org They're also working on a new language for the PIC that would make it much easier to program.
But I think assembler is much maligned; it's actually easier than higher level languages in some ways. And of course there are a half dozen C compilers for PIC + Windows, and even an OSS Python compiler--if you don't mind not using the more modern PIC18.
Of course now I'm getting way OT, sorry.
-Ian
B.
Mathieu Bouchard wrote:
On Sat, 26 Mar 2005, B. Bogart wrote:
One programs the BASIC stamp in BASIC, hence the name. No assembler required.
My impression of BASICstamp's BASIC is that it's damn close to assembly language. The use of the name "BASIC" is more marketing than anything else. It's there to attract a generation of artists who are learning how to code and solder in a fit of DYI-ness and are the right age to have tried BASIC as a kid in a way that makes them nostalgic about it.
Is there even a Linux interface for uploading to the BASICstamp ? I think I recall it's Windows-only.
Mathieu Bouchard -=- Montréal QC Canada -=- http://artengine.ca/matju
Le 27 Mars 2005 11:21, Ian Smith-Heisters a écrit :
But I do think Stamp BASIC is easier than assembler, though I've only seen Stamp BASIC, never tried it.
Although using BASIC might be easier for some people, I agree with Mathieu that it is not always the case, especially with a little bit of programming or scripting experience. A BASIC stamp is a hobbyist microcontroler, and there's a couple of things to know about BASIC stamps compared to PICs:
About RF communication, I found another solution: http://www.rentron.com/Stamp_RF.htm
-- Marc
Although I agree with you that PICs are far superior to the BASIC stamp, I need to play devils advocate:
- A BASIC stamp is a PIC with a BASIC interpreter.
- A PIC can be programmed with C, not only assembler.
The only C compilers that I am aware of cost at least 100USD. There are open source compilers but they support a very limited range of PICs.
- Interpreted BASIC is much slower than assembly or compiled C.
- Assembly and compiled C can do more than interpreted BASIC.
- A BASIC stamp can cost over five times more than a PIC.
...for many projects. If you're only doing one project the PIC will cost the price of the chip, ~5USD, + the price of the programmer, ~100USD. Plus any compilers you've opted to use instead of assembler. This makes the PIC cost 105USD - 205USD/+ and the BASIC Stamp is only ~50USD.
About RF communication, I found another solution: http://www.rentron.com/Stamp_RF.htm
Has anyone played with the RF PICs?
-Ian
-- Marc
PD-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://iem.at/cgi-bin/mailman/listinfo/pd-list
Le 27 Mars 2005 17:25, Ian Smith-Heisters a écrit :
The only C compilers that I am aware of cost at least 100USD. There are open source compilers but they support a very limited range of PICs.
I believe that many interesting projects can be realized using PICs within this limited range.
...for many projects. If you're only doing one project the PIC will cost the price of the chip, ~5USD, + the price of the programmer, ~100USD. Plus any compilers you've opted to use instead of assembler. This makes the PIC cost 105USD - 205USD/+ and the BASIC Stamp is only ~50USD.
PIC Programmers are easy to build, so in the end the starting price for developing PICs is about the price of one BASIC Stamp. Beginners often buy BASIC Stamp starter kits that cost between $100 and $200. I tried one a couple of years ago, and had the feeling I was using some junior science discovery kit... I agree that for a simple project a BASIC Stamp might be a good choice, but I'd rather go with a PIC, even for one single project.
Atmel AVR microcontrollers are a serious alternative. They're cheap, powerful, and don't require proprietary development environment. http://www.linuxfocus.org/English/November2004/article352.shtml http://www.linuxjournal.com/article/7289
-- Marc
Marc Lavallée wrote:
Atmel AVR microcontrollers are a serious alternative. They're cheap, powerful, and don't require proprietary development environment. http://www.linuxfocus.org/English/November2004/article352.shtml http://www.linuxjournal.com/article/7289
Also the ST7 series from STMicroelectronics have free development tools, a better instruction set than PICs, and an inexpensive programmer: http://www.st.com/stonline/products/support/micro/st7/st7lite.htm
Martin
Le 26 Mars 2005 16:12, Robert Garvin a écrit :
Ok.. here's the deal. The printer is usb, and I've used the HID object, and it didn't recognize it (it may have, but it was on a usb hub.) also, the robot would be connected via usb. I thought about the wireless idea, and thought about the wireless mouse, but I wasn't sure if the part that plugs into the port had both a send and receive function to transmit info. An IR port would be neat, except it would force the robot to stay within line-o-sight (or reflections) of the port (this wouldn't be a problem if the robot was a stationary arm, which is what I think I should start with.
You could use a USB wireless radio transmitter and receiver kit: http://www.superdroidrobots.com/EIC/RF04.htm http://www.active-robots.com/products/accessories/radio-communication.shtml http://www.robot-electronics.co.uk/shop/USB-I2C_Wireless_Link2039.htm The USB interface appear on the computer side as a serial device, and works on Gnu/Linux, MacOSX and Windows. There might be other similar solutions.
-- Marc
Le 26 Mars 2005 14:54, Robert Garvin a écrit :
I was wondering if there was already an external to control a printer or a robot with PD. If not, does anyone know how I would go about writing one? I understand that if you were to write a binary, you'd probably have to understand C (or C+ or C++. whatever it's called). Obviously, I don't understand any of it. If anyone can help me, let me know.
I don't understand the connection between the printer and the robot, but there's externals to use the printer's parallel port as a input/ouput interface. Mine is called "parapin", because it is linked to the parapin library: http://puredata.info/Members/odradek/parapin
If you want to communicate with external devices through the serial port, I made a set of externals for converting a serial stream of acsii characters to pd atoms, and also for converting pd atoms to a serial stream: http://puredata.info/Members/odradek/ascii-0.1.1.tar.bz2/file_view
I'm about to release a new version the ascii externals that would compile on other systems with the latest flext.
-- Marc