Friday, December 29, 2006
Sycophant 2
So here is Sycophant 2. The first Sycophant was built on the cheapest R/C car body I could find in Radio Shack at the time.
The old 6V car was a bit underpowered for the head. The head was also mounted very high up, which made the hole thing a bit wobbly. The active IR sensors were touchy because they were operating at the edge of their range. Plus Sycophant "locked up" during art openings when more than one sensor was activated by multiple people packed in a room.
Sycophant 2 is built on a 9.6V powerful R/C car chassis that is very low to the ground. It uses Maxbotix ultrasonic sensors instead of Sharp active IR sensors. Also Sycophant 2 will move towards the closest person in case the room gets really full during openings. The PIC microchip programmed in assembly language of the first Sycophant has been replaced with a BASIC programmable RVHE board for faster programming.
In the picture below, the RVHE board is under the head, you can see some wires going to it in the background. In the foreground, you can see how I made a mount for the ultrasonic sensor using FastSteel epoxy putty as a base with a screw encased inside it, then a piece of aluminum is attached with a nut and washers, and the sensor is attached to the aluminum with #2 screws and nuts:
Epoxy putty is great! Besides FastSteel, I am also a fan of QuickWood epoxy instead of wood putty. Curing in under an hour is the way to go. You can build or stick on any steel-like or wood-like object you want with this stuff!
As with the first Sycophant, the second one still uses a 754410 H-bridge chip to drive the motor. I will probably throw a DIP heat sink on it, but so far it has not gotten very warm.
Monday, December 11, 2006
Dorkbot DC Meeting Dec. 13
Dorkbot DC is a monthly meeting of artists, designers, engineers, students and other interested parties from the DC area who are interested in the creation of technological art.
December 13, 2006
7PM - 9PM at Provisions Library
Suite 200
1611 Connecticut Ave. NW
Washington, DC 20009
(above Ann Taylor Loft)
Presenters:
Paras Kaul, aka "The Brainwave Chick", is a neural artist, researcher, composer, and web developer at George Mason University. Kaul uses brain wave frequencies to create digital music and computer visual compositions.
Philip Kohn will present his collaborative video installation work Your Two Cents. The work is a linux-based kiosk which records viewers answers to questions asked by an animated interviewer. The kiosk then plays back highly distorted versions of your video responses.
For more info:
http://www.dorkbot.org/dorkbotdc
Or email dorkbotdc@dorkbot.org
This event is free - all are welcome!
Unfortunately work is pulling me out of town on Wednesday, so I won't be there, but it should still be a cool meeting!
December 13, 2006
7PM - 9PM at Provisions Library
Suite 200
1611 Connecticut Ave. NW
Washington, DC 20009
(above Ann Taylor Loft)
Presenters:
Paras Kaul, aka "The Brainwave Chick", is a neural artist, researcher, composer, and web developer at George Mason University. Kaul uses brain wave frequencies to create digital music and computer visual compositions.
Philip Kohn will present his collaborative video installation work Your Two Cents. The work is a linux-based kiosk which records viewers answers to questions asked by an animated interviewer. The kiosk then plays back highly distorted versions of your video responses.
For more info:
http://www.dorkbot.org/dorkbotdc
Or email dorkbotdc@dorkbot.org
This event is free - all are welcome!
Unfortunately work is pulling me out of town on Wednesday, so I won't be there, but it should still be a cool meeting!
Tuesday, November 21, 2006
Sycophant 2 Work
The mechanical elements of Sycophant were put together very rapidly and I learned much since then. I walked into a Radio Shack and picked up the first R/C car I could find. The active IR sensors had limited range, and I was operating them on their "hairy edge" where they would get many false alarms.
Sycophant 2 will be based on a more powerful 9.6V R/C car chassis with a much lower center of gravity. I will be using Maxbotix "quiet" ultasonic proximity sensors, which have a longer range and a slightly wider cone of detection than active IR proximity sensors.
Because I'm lazy, instead of spending sleepless nights trying to get PIC assembly code to work, I am pulling out my old RVHE boards, which are apparently no longer made. The RVHE boards run on BASIC, interactively programmed over a serial port. The programming should go very quickly.
Sycophant 2 will be based on a more powerful 9.6V R/C car chassis with a much lower center of gravity. I will be using Maxbotix "quiet" ultasonic proximity sensors, which have a longer range and a slightly wider cone of detection than active IR proximity sensors.
Because I'm lazy, instead of spending sleepless nights trying to get PIC assembly code to work, I am pulling out my old RVHE boards, which are apparently no longer made. The RVHE boards run on BASIC, interactively programmed over a serial port. The programming should go very quickly.
Friday, November 10, 2006
Your Two Cents Update
The Kiosk for Your Two Cents is coming along well, here are pictures (note that is one of my collaborators, Philip Kohn, in the pictures):
Monday, October 30, 2006
Shadow Hand
I recently heard from Maja kuzmanovic from FoAM. She is working on a project called lyt_A, a distance touch generator that takes the form of a two large 2D array walls of pneumatic actuators, as tall and wide as a person. When someone presses on the actuators on one wall, the corresponding actuators on the other wall push out.
This Shadow Hand is incredibly cool! The tendons are controlled by air muscles, also known as a McKibben actuator.
This Shadow Hand is incredibly cool! The tendons are controlled by air muscles, also known as a McKibben actuator.
Thursday, October 26, 2006
"Neurotic Santa" and Neodynium Magnets
Please excuse the lack of lip-sync in the YouTube conversion...
I picked up a bunch of neodynium magnets to make LED throwies at the next Dorkbot DC meeting.
I picked up a bunch of neodynium magnets to make LED throwies at the next Dorkbot DC meeting.
Monday, October 09, 2006
My first PD Patch
While travelling recently, I decided to try Pure Data, the real-time graphical programming environment for audio, video, and graphical processing. I first heard about PD at an I/O Media jam in Toronto. Here is a picture of my first patch, a recursive reberb (click to expand):
Probably the best way to learn about PD is to read the free online book The Theory and Technique of Electronic Music. I'm slowly making my way through it.
Probably the best way to learn about PD is to read the free online book The Theory and Technique of Electronic Music. I'm slowly making my way through it.
Thursday, October 05, 2006
Your Two Cents Progress
"Your Two Cents" is a collaborative work I am doing with Philip Kohn, Brian Judy, and Claudia Vess. The work will be in a kiosk, and it will ask viewers to record video of their "two cents" about many issues. Then the video of the viewers will be played back, distorted by video effects (to allude to the distortion of reality that the media applies to "on the street interviews"). You can see the image of the artificial animated interviewer:
Wednesday, October 04, 2006
"Touch" Maquette
Here is the most recent version of the "Touch" Maquette which uses CUBLOC CB220, Pololu Micro Servo controller, and Lantronix XPORT. The two black boxes are sending the force-sensitive resistor data to a server about 70 miles away, where the pressure difference is calculated, a new common finger position is determined, and the finger position is sent back 70 miles to the black boxes.
Monday, October 02, 2006
Dorkbot DC results
The last Dorkbot DC meeting went really well. We had about 25 people in attendance, and had a telepresentation from Jason Freeman live from Atlanta speaking about his interactive violin composition work, then Roberto Bocci presented his interactive works that look at immigrants to Italy as well as Earth, Air, Water, and Fire.
I gave a presentation on microcontrollers.
It was a lot of fun! Our new venue at Provisions Library is excellent, located right near the heart of Dupont Circle.
I gave a presentation on microcontrollers.
It was a lot of fun! Our new venue at Provisions Library is excellent, located right near the heart of Dupont Circle.
Friday, September 22, 2006
Dorkbot DC Meeting Sept. 27
Next Wednesday is the next Dorkbot DC Meeting...
Wednesday, September 27, 2006 7 PM - 9 PM (EDT)
Provisions Library
1611 Connecticut Ave. NW
Washington, DC 20009
(above Ann Taylor Loft)
Limited parking on street. Paid parking garage at 20th Street and Florida Avenue.
Metro: Dupont Circle, Q Street North Exit, turn right at the top of the escalator, and cross Connecticut Avenue and Q Street.
September Meeting Presentations:
Roberto Bocci (Assistant Professor of Digital Art and Photography in the Department of Art, Music and Theater at Georgetown University). Bocci is a multimedia electronic artist born in Siena, Italy, who over twenty years has evolved his work from painting through photography to computer-driven interactive multimedia installations.
Jason Freeman (Assistant Professor, Music Department, Georgia Institute of Technology). Freeman will discuss his "Graph Theory" Solo violin piece with Web audience interaction. Freeman's works break down conventional barriers between composers, performers, and listeners, using cutting-edge technology and unconventional notation to turn audiences and musicians into compositional collaborators. Freeman will appear via Internet videoconferencing from Atlanta.
Thomas Edwards (Broadcast engineer and technological artist born and residing in the Washington, DC, metro area). Edwards will present a talk titled "Microcontrollers you Should Know About" aimed at artists seeking to add computers to their work. Edwards creates interactive robotic installations that plumb the depths of the "uncanny valley" between robots and people.
There will also be "show and tell" time for other folks to give short updates on projects they have been working on.
Wednesday, September 27, 2006 7 PM - 9 PM (EDT)
Provisions Library
1611 Connecticut Ave. NW
Washington, DC 20009
(above Ann Taylor Loft)
Limited parking on street. Paid parking garage at 20th Street and Florida Avenue.
Metro: Dupont Circle, Q Street North Exit, turn right at the top of the escalator, and cross Connecticut Avenue and Q Street.
September Meeting Presentations:
Roberto Bocci (Assistant Professor of Digital Art and Photography in the Department of Art, Music and Theater at Georgetown University). Bocci is a multimedia electronic artist born in Siena, Italy, who over twenty years has evolved his work from painting through photography to computer-driven interactive multimedia installations.
Jason Freeman (Assistant Professor, Music Department, Georgia Institute of Technology). Freeman will discuss his "Graph Theory" Solo violin piece with Web audience interaction. Freeman's works break down conventional barriers between composers, performers, and listeners, using cutting-edge technology and unconventional notation to turn audiences and musicians into compositional collaborators. Freeman will appear via Internet videoconferencing from Atlanta.
Thomas Edwards (Broadcast engineer and technological artist born and residing in the Washington, DC, metro area). Edwards will present a talk titled "Microcontrollers you Should Know About" aimed at artists seeking to add computers to their work. Edwards creates interactive robotic installations that plumb the depths of the "uncanny valley" between robots and people.
There will also be "show and tell" time for other folks to give short updates on projects they have been working on.
Friday, September 08, 2006
Touch w. CUBLOC and Xport
So it was pretty trivial to get one side of Touch working with the CUBLOC CB220 and the Xport.
I put the CUBLOC into the CB220 Proto Board. I attached the Xport to the Comfile Xport Dongle which provides an RS-232 level serial connection, but needs +5V on Pin 9 of the DB9. The Xport
needs about 200 mA, which is more than the CUBLOC regulator can provide (I found that out through trial and error...) So I put a 7805 5V regulator on the proto board, brought the wall wart positive voltage to it, and connected the output of the 7805 to pin 9 of the CUBLOC DB9 connector.
Then I hooked up the Pololu Micro Serial Servo Controller, this time using the logic-level serial connection from the CUBLOC second serial port:
The Xport was tuned to carry the first serial port of the CUBLOC over UDP to an Internet server. I also attached a servo with a finger to the servo controller board:
On the CUBLOC, I wrote this simple program to report out the finger force-sensitive resistor analog value and send it to the Internet server, then when it receives a new finger position from the Internet server, it commands the servo controller to update the position:
Const Device = CB220
Dim f_pos_1 As Byte
Dim f_pres_1 As Byte
Input 5 'P0 / Pin 5 as Input
Opencom 0,9600,3,32,32 'open RS-232 channel to Xport
Opencom 1,9600,3,32,32 'open serial channel to Servo Controller
Bclr 1,1 'clear channel 1 tx buffer
On timer(10) Gosub a2d 'every 100 ms
On Recv0 Gosub servo_move 'on UDP in from Xport
Do
Loop
a2d:
f_pres_1=Adin(0)>>2 'scale 0-1023 to 0-255
Put 0,f_pres_1,1 'send finger pressure to Xport
Return
servo_move:
f_pos_1=Get(0,1) 'get commanded finger position from Xport
Put 1,255,1 'send 0xFF to servo controller
Put 1,0,1 'servo #0
Put 1,f_pos_1,1 'send finger position to servo controller
Return
Pretty simple, eh? On the Internet server side, I had a Python test program that took the force-sensitive resistor value, and turned it around back to the CUBLOC to command the servo position:
from socket import *
s=socket(AF_INET,SOCK_DGRAM)
s.bind(('',1068))
while 1:
So there you go, it works great, took about 1 hour to set up, and it looks like I need to pick up another CUBLOC and Xport!
I put the CUBLOC into the CB220 Proto Board. I attached the Xport to the Comfile Xport Dongle which provides an RS-232 level serial connection, but needs +5V on Pin 9 of the DB9. The Xport
needs about 200 mA, which is more than the CUBLOC regulator can provide (I found that out through trial and error...) So I put a 7805 5V regulator on the proto board, brought the wall wart positive voltage to it, and connected the output of the 7805 to pin 9 of the CUBLOC DB9 connector.
Then I hooked up the Pololu Micro Serial Servo Controller, this time using the logic-level serial connection from the CUBLOC second serial port:
The Xport was tuned to carry the first serial port of the CUBLOC over UDP to an Internet server. I also attached a servo with a finger to the servo controller board:
On the CUBLOC, I wrote this simple program to report out the finger force-sensitive resistor analog value and send it to the Internet server, then when it receives a new finger position from the Internet server, it commands the servo controller to update the position:
Const Device = CB220
Dim f_pos_1 As Byte
Dim f_pres_1 As Byte
Input 5 'P0 / Pin 5 as Input
Opencom 0,9600,3,32,32 'open RS-232 channel to Xport
Opencom 1,9600,3,32,32 'open serial channel to Servo Controller
Bclr 1,1 'clear channel 1 tx buffer
On timer(10) Gosub a2d 'every 100 ms
On Recv0 Gosub servo_move 'on UDP in from Xport
Do
Loop
a2d:
f_pres_1=Adin(0)>>2 'scale 0-1023 to 0-255
Put 0,f_pres_1,1 'send finger pressure to Xport
Return
servo_move:
f_pos_1=Get(0,1) 'get commanded finger position from Xport
Put 1,255,1 'send 0xFF to servo controller
Put 1,0,1 'servo #0
Put 1,f_pos_1,1 'send finger position to servo controller
Return
Pretty simple, eh? On the Internet server side, I had a Python test program that took the force-sensitive resistor value, and turned it around back to the CUBLOC to command the servo position:
from socket import *
s=socket(AF_INET,SOCK_DGRAM)
s.bind(('',1068))
while 1:
- [msg,addr]=s.recvfrom(256)
p=ord(msg[0])
print addr,p
s.sendto(chr(p),addr)
So there you go, it works great, took about 1 hour to set up, and it looks like I need to pick up another CUBLOC and Xport!
Finally Embedded IP Solution!
For many moons, I have walked alone through the dark valley of unfinished or badly implemented embedded IP stacks. Then, lo, I found the Lantronix Xport:
This small unit is mainly a serial-to-Ethernet converter. I had heard of the Xport before, and was rather skeptical given my continuous failure to find an embedded IP solution that 1) DHCP's a gateway address properly and 2) puts the right MAC address on UDP packets heading out beyond the netmask.
But then I found something else, the Comfile CUBLOC which is like a BASIC Stamp but it has on-board A/D as well as other cool stuff:
You can see the CUBLOC is based on the Amtel MEGA 128. It is programmed in a very Stamp-like BASIC. The Comfile website has lots of example code, including code dealing directly with the Xport. Comfile also sells a Xport Dongle which makes interfacing the 3.3V Xport with 12V RS-232 a snap. Well, except you need to provide +5V on its DB9 pin 9 connector.
On the Yahoo Xport Group I asked if the Xport could really DHCP a gateway address and put the right MAC on Internet-bound UDP packets, and lo and behold a Lantronix engineer answered and said yes.
So I picked up an Xport, soldered it into the Dongle, made appropriate RS-232 cables, set up the Xport through the serial connection, and then I had a serial connection over a specific UDP port between my PC and my Internet server. Success finally!
This small unit is mainly a serial-to-Ethernet converter. I had heard of the Xport before, and was rather skeptical given my continuous failure to find an embedded IP solution that 1) DHCP's a gateway address properly and 2) puts the right MAC address on UDP packets heading out beyond the netmask.
But then I found something else, the Comfile CUBLOC which is like a BASIC Stamp but it has on-board A/D as well as other cool stuff:
You can see the CUBLOC is based on the Amtel MEGA 128. It is programmed in a very Stamp-like BASIC. The Comfile website has lots of example code, including code dealing directly with the Xport. Comfile also sells a Xport Dongle which makes interfacing the 3.3V Xport with 12V RS-232 a snap. Well, except you need to provide +5V on its DB9 pin 9 connector.
On the Yahoo Xport Group I asked if the Xport could really DHCP a gateway address and put the right MAC on Internet-bound UDP packets, and lo and behold a Lantronix engineer answered and said yes.
So I picked up an Xport, soldered it into the Dongle, made appropriate RS-232 cables, set up the Xport through the serial connection, and then I had a serial connection over a specific UDP port between my PC and my Internet server. Success finally!
Tuesday, September 05, 2006
Cheap USB-enabled AVR board
This neat board is made for rapid development of USB-oriented solutions with the 8-bit AVR AT90USB microcontroller. Demo kit is just $30!
Monday, August 21, 2006
Maxbotix Ultrasonic Sensors First Look
I just purchased three Maxbotix ultrasonic proximity sensors from Spark Fun Electronics.
My first impression is that they are really, really small. I expected them to be small, but my, they are very small!
I hooked it up to +5V, and was pleasantly surprised by a lack of audible sound. The previous Polaroid sensor based ultrasonic sensors I've used all gace off a "tick...tick...tick" sound. The sound was useful in my project Blame, but for Sycophant II, I wanted something quiet.
I monitored the analog voltage output, and the Maxbotix sensor gave very good distance results for human body trunk detection out to about 100 inches. As the datasheet suggests, the beam is very wide for thick objects out that far, about three to four feet wide around 8 feet out. This is unlike some of the Sharp IR sensors, which have a very narrow beam.
In Sycophant, I had to very carefully angle the IR sensors so they would effectively track the viewer. I was also running them at the far end of their sensitivity distance. I feel that I could very easilly run the Maxbotix sensors with a sensing range of about 6 feet, and have excellent side-to-side coverage as well.
I've gone back and forth on which microcontroller I want for Sycophant II. I've been looking at BASIC-enabled microcontrollers with analog in (for the ultrasonic sensors) and easy serial out such as the PICAxe or the Kronos Robotics Perseus, but both of these are a bit exotic, and I figure if I get sick of doing PIC assembler, I can go ahead and purchase the microEngineering Labs BASIC compiler. Or heck, I've got the PIC C compiler working, so I could use that as well.
So I picked up a couple of PIC 16F688's which have up to 8 channels of 10-bit A/D and a USART.
My first impression is that they are really, really small. I expected them to be small, but my, they are very small!
I hooked it up to +5V, and was pleasantly surprised by a lack of audible sound. The previous Polaroid sensor based ultrasonic sensors I've used all gace off a "tick...tick...tick" sound. The sound was useful in my project Blame, but for Sycophant II, I wanted something quiet.
I monitored the analog voltage output, and the Maxbotix sensor gave very good distance results for human body trunk detection out to about 100 inches. As the datasheet suggests, the beam is very wide for thick objects out that far, about three to four feet wide around 8 feet out. This is unlike some of the Sharp IR sensors, which have a very narrow beam.
In Sycophant, I had to very carefully angle the IR sensors so they would effectively track the viewer. I was also running them at the far end of their sensitivity distance. I feel that I could very easilly run the Maxbotix sensors with a sensing range of about 6 feet, and have excellent side-to-side coverage as well.
I've gone back and forth on which microcontroller I want for Sycophant II. I've been looking at BASIC-enabled microcontrollers with analog in (for the ultrasonic sensors) and easy serial out such as the PICAxe or the Kronos Robotics Perseus, but both of these are a bit exotic, and I figure if I get sick of doing PIC assembler, I can go ahead and purchase the microEngineering Labs BASIC compiler. Or heck, I've got the PIC C compiler working, so I could use that as well.
So I picked up a couple of PIC 16F688's which have up to 8 channels of 10-bit A/D and a USART.
Friday, August 18, 2006
Dorkbot DC August meeting results
You can read all about the August meeting of Dorkbot DC here, as well as coverage in the Street Tech Blog here.
I gave a presentation at the meeting: Sensors You Should Know About.
I gave a presentation at the meeting: Sensors You Should Know About.
Friday, August 04, 2006
Dorkbot DC Meeting, August 15
Interested in technological art, robots, or just creating advanced technology?
Dorkbot is an international organization to explore all uses of technology in the development and discussion of art and creative exercise. This can involve practices ranging from virtual and interactive art to video and audio landscapes. The Dorkbot DC chapter has recently formed, and is growing quickly!
Next Meeting:
Tuesday, August 15, 2006
8PM-10PM
Teaism
400 8th Street NW
Washington, DC 20004
More info at the Dorkbot DC web site.
Dorkbot is an international organization to explore all uses of technology in the development and discussion of art and creative exercise. This can involve practices ranging from virtual and interactive art to video and audio landscapes. The Dorkbot DC chapter has recently formed, and is growing quickly!
Next Meeting:
Tuesday, August 15, 2006
8PM-10PM
Teaism
400 8th Street NW
Washington, DC 20004
More info at the Dorkbot DC web site.
Tuesday, August 01, 2006
Long Distance Internet Touch
Here is video of differential pressure touch between two fingers. The two RVHEs send packets with pressure info to a server 60 miles away, then the server calculates the finger positions and sends that back. A "helper" PC is in the middle to serve as a gateway between the RVHE LAN and the outside Internet.
Obviously some scaling and timing issues need to be worked out, plus I am going to move the pressure sensors from the fingertips to near where the fingers connect to the servos, but at least there is some hope of things working!
I was able to build a serial cable to connect to the SBC65EC, which makes it much easier to configure. I have greater hopes for this board now.
Looking for a free Windows DHCP server? Try this one from Uwe A. Ruttkamp. Don't ask me why the world isn't full of public domain and open source DHCP servers for Windows. It just isn't.
Obviously some scaling and timing issues need to be worked out, plus I am going to move the pressure sensors from the fingertips to near where the fingers connect to the servos, but at least there is some hope of things working!
I was able to build a serial cable to connect to the SBC65EC, which makes it much easier to configure. I have greater hopes for this board now.
Looking for a free Windows DHCP server? Try this one from Uwe A. Ruttkamp. Don't ask me why the world isn't full of public domain and open source DHCP servers for Windows. It just isn't.
Moving forward with Touch
I got tired of trying to find a solution where the Ethernet-enabled microcontroller boards would exist on their own (due to not putting the router MAC address on UDP packets, or basically being unable to DHCP a router address, depending on board).
So I decided to just bite the bullet and use static IP addresses and a "helper PC" that forwards packets to the Internet server that connects the two ends of Touch together.
So I hooked up an RVHE (the big board on the bottom) to the Pololu Micro Serial Servo Controller (which is the very small board on the left). I'm using the same RS-232 connection that you use to program the RVHE in BASIC to connect to the servo controller, as RVHE.com is now defunct and I can't figure out where the second RS-232 port is on the RVHE from the documentation!
So now one finger of pressure sensor info is sent by a second RVHE through the "helper PC" program to the Internet server. The first RVHE also sends its one finger of pressure sensor info through the "helper PC" to the Internet server as well. The Internet server then sends back a finger position to both RVHE's through the "helper PC", and the RVHE's command the servo controller over the RS-232 connection.
This gives me one finger's worth of Touch to test out timing and scaling issues. I think the RVHE is a dead product now, so I imagine it won't make it into the final project. It is too bad, the RVHE was like a BASIC stamp with Ethernet, which would rule.
In other news, I think I might have found a solution to my Modtronix SBC65EC UDP ARP/DHCP problems. We'll see tonight...
So I decided to just bite the bullet and use static IP addresses and a "helper PC" that forwards packets to the Internet server that connects the two ends of Touch together.
So I hooked up an RVHE (the big board on the bottom) to the Pololu Micro Serial Servo Controller (which is the very small board on the left). I'm using the same RS-232 connection that you use to program the RVHE in BASIC to connect to the servo controller, as RVHE.com is now defunct and I can't figure out where the second RS-232 port is on the RVHE from the documentation!
So now one finger of pressure sensor info is sent by a second RVHE through the "helper PC" program to the Internet server. The first RVHE also sends its one finger of pressure sensor info through the "helper PC" to the Internet server as well. The Internet server then sends back a finger position to both RVHE's through the "helper PC", and the RVHE's command the servo controller over the RS-232 connection.
This gives me one finger's worth of Touch to test out timing and scaling issues. I think the RVHE is a dead product now, so I imagine it won't make it into the final project. It is too bad, the RVHE was like a BASIC stamp with Ethernet, which would rule.
In other news, I think I might have found a solution to my Modtronix SBC65EC UDP ARP/DHCP problems. We'll see tonight...
Thursday, July 20, 2006
UDP Pain
So I went ahead and purchased the Modtronix SBC65EC. Here it is with power and Ethernet:
It took a while for me to install all the Microchip development software, but finally it was working and I compiled the Web server for the chip:
So with the stock Web server working, I decided I'd start to work on having the board initiate communications. First I started with a static IP for the board. TCP transmission worked fine. UDP transmission was less promising. It ARPed the destination MAC, but then didn't put the MAC in the Ethernet header of transmitted UDP packets!!!
Well, at least I have the source code and if motivated I can find the bug myself, fix it, and recompile. It also isn't clear to me how/if DHCP works on the board.
Suffice it to say, I'm sick of these almost-IP capable microcontroller boards!
To cheer myself up, I picked up a 9.6V car for Sycophant II:
It took a while for me to install all the Microchip development software, but finally it was working and I compiled the Web server for the chip:
So with the stock Web server working, I decided I'd start to work on having the board initiate communications. First I started with a static IP for the board. TCP transmission worked fine. UDP transmission was less promising. It ARPed the destination MAC, but then didn't put the MAC in the Ethernet header of transmitted UDP packets!!!
Well, at least I have the source code and if motivated I can find the bug myself, fix it, and recompile. It also isn't clear to me how/if DHCP works on the board.
Suffice it to say, I'm sick of these almost-IP capable microcontroller boards!
To cheer myself up, I picked up a 9.6V car for Sycophant II:
Cheap Linear Motion
This article is on building your own CNC machine, but I am interested in the linear actuator part mainly.
Thursday, June 29, 2006
New Boards
Here is the Modtronix SBC65EC. It is a PIC18F6627 based system with Ethernet, RS232, I2C, 12 Analog Inputs, and 32 Digital I/Os. It comes pre-loaded with Web Based Configuration, and can bootload new programs over Ethernet:
And here is the Pololu Micro Serial Servo Controller. It is an 8-channel servo controller driven with RS-232 or TTL serial. It is small!
Could I write a 5-channel servo controller on the SBC65EC board? Probably yes, but since the Pololu controller only cost $20, it isn't worth me spending the 10 hours it would take to write the servo controller and make it work well and play nice with the TCP/IP stack. Unfortunately the SBC65EC does not expose all of the PIC18F6627 PWM outputs, so I'd have to do the PWMing myself.
And here is the Pololu Micro Serial Servo Controller. It is an 8-channel servo controller driven with RS-232 or TTL serial. It is small!
Could I write a 5-channel servo controller on the SBC65EC board? Probably yes, but since the Pololu controller only cost $20, it isn't worth me spending the 10 hours it would take to write the servo controller and make it work well and play nice with the TCP/IP stack. Unfortunately the SBC65EC does not expose all of the PIC18F6627 PWM outputs, so I'd have to do the PWMing myself.
Monday, June 26, 2006
Scott Hutchison in Elan Magazine
My friend Scott Hutchison was featured in May's Elan Magazine. The article mentions the work Look that we collaborated on.
Sunday, June 25, 2006
RVHE Network Issues
UpDATE^3: I FINALLY got the RVHE working with a two-way NATed UDP conversation with a host over the Internet. Well, OK, it seems to work half the time, it is unclear to me if this is an issue related to NAT or not, hopefully I can do some Etherealing tonight to double check.
SO: You have to, by hand, specify the RVHE gateway. No, DHCP won't set it. For example:
10 GW0=192:GW1=168:GW2=0:GW3=1
AND: You also have to, by hand, specify the RVHE gateway MAC address. No, DHCP won't set it. For example:
70 V=1696
75 BYTE(V)=0,9,91,109,143,106
This kind of annoys me, because it means Touch won't be automagically plug-and-play without hooking up a serial connected terminal and setting the gateway IP and MAC. But at least I can prototype with it.
AND: The RVHE initially sets the UDP time-to-live (TTL) value to zero. This means if your packet will be dropped by the first router it hits.
Undocumented, it turns out the TTL is set by the byte at the packet header address plus 10 bytes. However, too high a TTL will break the packet header checksum routine (which also means your packets won't make it). So I suggest keeping the TTL at 70 (decimal) which should get you across the longest Internet connection, but doesn't appear to break the packet header checksum routine.
For example:
70 V=1696
80 BYTE(V+6)=8,0,0,0,70,17
Where the 70 is the TTL.
AND: Let's not forget that the RVHE only receives UDP packets that start with the password in PASS0,PASS1,PASS2,PASS3, then "AB" (which is not documented). The password defaults to "RVHE". If instread you add "AA", it will only work with "autoanswer" (which is documented).
For example (from a host with Python):
s.sendto("RVHEAB12345",('192.168.0.12',1234))
So here is an entire program to send and receive packets:
10 D=DHCP(1)
12 IF D>0 THEN GOTO 10
13 GW0=192:GW1=168:GW2=0:GW3=1
15 PRINT "IP:",IP0,IP1,IP2,IP3
20 UDPPORTIN=16
40 INTIP=1000
50 INTERRUPTS
60 PAUSE 1000
70 V=1696
75 BYTE(V)=0,9,91,109,143,106
80 BYTE(V+6)=8,0,0,0,70,17,198,31,44,99,0,16,0,16
81 F=2176
82 BYTE(F)=66
85 PRINT "SENDING..."
86 PRINT SECONDS
90 D=IPSENDUDP(5)
95 GOTO 60
and in Bank 1:
1000 PRINT "INTERRUPT"
1010 B=IPGETDATA(1)
1020 PRINT "BANK= ";B
1030 C=RELEASE(B)
1040 E=((B-2)*128)+1792
1050 PRINT BYTE(E),BYTE(E+1),BYTE(E+2),BYTE(E+3),BYTE(E+4)
2000 RETI
SO: You have to, by hand, specify the RVHE gateway. No, DHCP won't set it. For example:
10 GW0=192:GW1=168:GW2=0:GW3=1
AND: You also have to, by hand, specify the RVHE gateway MAC address. No, DHCP won't set it. For example:
70 V=1696
75 BYTE(V)=0,9,91,109,143,106
This kind of annoys me, because it means Touch won't be automagically plug-and-play without hooking up a serial connected terminal and setting the gateway IP and MAC. But at least I can prototype with it.
AND: The RVHE initially sets the UDP time-to-live (TTL) value to zero. This means if your packet will be dropped by the first router it hits.
Undocumented, it turns out the TTL is set by the byte at the packet header address plus 10 bytes. However, too high a TTL will break the packet header checksum routine (which also means your packets won't make it). So I suggest keeping the TTL at 70 (decimal) which should get you across the longest Internet connection, but doesn't appear to break the packet header checksum routine.
For example:
70 V=1696
80 BYTE(V+6)=8,0,0,0,70,17
Where the 70 is the TTL.
AND: Let's not forget that the RVHE only receives UDP packets that start with the password in PASS0,PASS1,PASS2,PASS3, then "AB" (which is not documented). The password defaults to "RVHE". If instread you add "AA", it will only work with "autoanswer" (which is documented).
For example (from a host with Python):
s.sendto("RVHEAB12345",('192.168.0.12',1234))
So here is an entire program to send and receive packets:
10 D=DHCP(1)
12 IF D>0 THEN GOTO 10
13 GW0=192:GW1=168:GW2=0:GW3=1
15 PRINT "IP:",IP0,IP1,IP2,IP3
20 UDPPORTIN=16
40 INTIP=1000
50 INTERRUPTS
60 PAUSE 1000
70 V=1696
75 BYTE(V)=0,9,91,109,143,106
80 BYTE(V+6)=8,0,0,0,70,17,198,31,44,99,0,16,0,16
81 F=2176
82 BYTE(F)=66
85 PRINT "SENDING..."
86 PRINT SECONDS
90 D=IPSENDUDP(5)
95 GOTO 60
and in Bank 1:
1000 PRINT "INTERRUPT"
1010 B=IPGETDATA(1)
1020 PRINT "BANK= ";B
1030 C=RELEASE(B)
1040 E=((B-2)*128)+1792
1050 PRINT BYTE(E),BYTE(E+1),BYTE(E+2),BYTE(E+3),BYTE(E+4)
2000 RETI
Natalie Jeremijenko article in Salon
Salon has an article on Natalie Jeremijenko, technological/environmental/public artist. Her website is here. Among other works, she has put together Feral Robotic Dogs that find poisons in brownfield sites. Now I feel like my fish are underachievers!
Tuesday, June 20, 2006
Dorkbot DC Meeting
The Washington, DC chapter of Dorkbot is forming, and the first organizational meeting is tonight (June 20, check link for more details).
I'll be there tonight with an RVHE board to show off.
I'll be there tonight with an RVHE board to show off.
Friday, June 16, 2006
RVHEs and Python
Why do I love Python? Because this is all you need to send a UDP packet:
from socket import *
s=socket(AF_INET,SOCK_DGRAM)
s.sendto("My Data",('192.168.0.1',1099))
So after a bit of work to understand the documentation, I finally have the RVHE boards sending and receiving UDP packets. Now for Touch, I need to build the server where they two sides will meet, and have them exchange A/D information, and drive the finger servos.
from socket import *
s=socket(AF_INET,SOCK_DGRAM)
s.sendto("My Data",('192.168.0.1',1099))
So after a bit of work to understand the documentation, I finally have the RVHE boards sending and receiving UDP packets. Now for Touch, I need to build the server where they two sides will meet, and have them exchange A/D information, and drive the finger servos.
Toronto Tech Art
I had a great time in Toronto, and much of it centered around the Interaccess electronic media center. I attended an opening of work associated with the Subtle Technologies conference. One of the sculptural works by Philip Beesley and Will Elsworthy looked like thousands of feathers tied together along with piano-wire tentacles. The tentacles were attached to touch sensors, and touching them pulled up the tentacles using memory wire.
Another night I attended Dorkbot Toronto which included David McCallum's "Warbike" for sonification of wireless access points, a discussion VJ tools and techniques by VJ Nokami, and Cameron Browning's 3D network visualization glove.
Finally, I attended an I/O Media synthesizer jam, which was far more entertaining than I thought it might be. Lots of combinations of analog and digital synthesizer systems.
I found out about a lot of cool things, like FreeFrame video effect plug-ins for VJs, and Pure Data, a real-time dataflow language for audio and video processing, and the Plogue Bidule and Live5 audio systems.
Another night I attended Dorkbot Toronto which included David McCallum's "Warbike" for sonification of wireless access points, a discussion VJ tools and techniques by VJ Nokami, and Cameron Browning's 3D network visualization glove.
Finally, I attended an I/O Media synthesizer jam, which was far more entertaining than I thought it might be. Lots of combinations of analog and digital synthesizer systems.
I found out about a lot of cool things, like FreeFrame video effect plug-ins for VJs, and Pure Data, a real-time dataflow language for audio and video processing, and the Plogue Bidule and Live5 audio systems.
Monday, June 12, 2006
Thursday, June 01, 2006
The Serializer
I've got to order my Robot supply links in a Wiki or something...
Today I found The Serializer at RoboticsConnection.Com. Based on serial control (full RS-232 or TTL levels), it has: I2C, 5 A/D, 2 4A DC H-bridges, Single and Quadrature Encoder inputs, 2 servo controls, up to 16 digital I/Os.
RoboticsConnection has a PC-104 PC, but it is $319!
Today I found The Serializer at RoboticsConnection.Com. Based on serial control (full RS-232 or TTL levels), it has: I2C, 5 A/D, 2 4A DC H-bridges, Single and Quadrature Encoder inputs, 2 servo controls, up to 16 digital I/Os.
RoboticsConnection has a PC-104 PC, but it is $319!
Wednesday, May 31, 2006
Cheap analog ultrasound ranger
I was worried that I can find any more of the ultrasonic rangers I used on Blame, but now there is MaxSonar-EZ1 with RS-232, analog, and PWM range output.
RVHEs arrived
The RVHE's arrived. And yes, within a few minutes I had power applied and was able to work interactively using Hyperterm with the BASIC interpreter. They are smaller than I thought they were:
A 40 pin header cable may come in handy...
A 40 pin header cable may come in handy...
Cheapest Embedded PC w. Video?
In the vein of embedded PCs, the eBox-2600 is fanless, has VGA, Ethernet, and a full parallel port for digital interfacing, all for $194 from WDL.
PC-104 links
What really sucks about PC-104 SBCs is 1) they cost too much and 2) you can't find online pricing.
Not much can be done about #1, but Notes on PC/104 Hardware for FreeBSD pointed me to WDL Systems which actually has prices listed!
I still think I made the right decision in going with RVHE boards for Touch instead of PC-104 SBC PCs. The PC-104 solutions would be three to four times as much. Most of what I do doesn't need that much CPU power or expandability.
Not much can be done about #1, but Notes on PC/104 Hardware for FreeBSD pointed me to WDL Systems which actually has prices listed!
I still think I made the right decision in going with RVHE boards for Touch instead of PC-104 SBC PCs. The PC-104 solutions would be three to four times as much. Most of what I do doesn't need that much CPU power or expandability.
More info on using CF for IDE drives
Here are two good references for the use of Compact Flash (CF) as IDE drives in computers: Linux Router Project (LRP) using Compact Flash and Compact Flash as an Alternative to Hard Drives in Arcade Games
Tuesday, May 30, 2006
Cheap embedded PC?
I have gone ahead and ordered two RVHE's for the touch project.
Today I came across an ultra-cheap embedded PC, the KuroBox HG WR which lists for $149. It has a 266Mhz PowerPC, 128MB of RAM, 2 USB 2.0, and GigE with a quiet 22dB fan. It says there is an internal 6-pin serial connector as well. It looks like it doesn't have VGA of any kind. It comes with a base Linux install with telnet, ftp, and web.
KuroBox doesn't come with a drive, but can take an IDE drive. Perhaps a 1GB IDE Flash drive for dependability. There are also IDE to CF ($11.51) adaptors, so you could use a 1GB CF card ($41)
Today I came across an ultra-cheap embedded PC, the KuroBox HG WR which lists for $149. It has a 266Mhz PowerPC, 128MB of RAM, 2 USB 2.0, and GigE with a quiet 22dB fan. It says there is an internal 6-pin serial connector as well. It looks like it doesn't have VGA of any kind. It comes with a base Linux install with telnet, ftp, and web.
KuroBox doesn't come with a drive, but can take an IDE drive. Perhaps a 1GB IDE Flash drive for dependability. There are also IDE to CF ($11.51) adaptors, so you could use a 1GB CF card ($41)
Monday, May 29, 2006
Two-Way Differential Touch
Hree is a video of true two-way touch that used the differential between the pressure on both fingertips.
(If you can't see the embedded object, try here).
(If you can't see the embedded object, try here).
Saturday, May 27, 2006
Touch prototype: Two Fingers
I now have two fingers, on the tip of each finger is a pressure-sensitive resistor. A really slow Windows 98 machine I happened to have is running a program in Python which works with a serial-to-servo-and-A/D interface for the two fingers. If you can't see the video below, try the direct link.
Thursday, May 25, 2006
Eyebeam: Circuit #2
Also in Chelsea on Saturday, I got to see Circuit #2 where "emerging artists working with technology the opportunity to take over Eyebeam's exhibition space for three days and participate in critiques, roundtables and public presentations." The artists gave presentations, of which I was able to catch a few, and there was free beer as well.
Geoffrey Bell's Musical Chair: A Game For One has a video camera which images the viewer who sits in a chair. The image is split into six square segments, each one with a different time delay, and the time delayed segements are rejoined and projected onto a screen. The effect is that when you stay in one place on the chair, the projection looks normal. But if you begin to move around, the different time delayed segments decohere and the combined image is quite chaotic, until you stop again and all the segments catch up to your non-moving state and it looks normal again.
Ernesto Klar's Convergenze parallele images the dust moving in the air, and converts that to an audio signal and a video projection. I suggested to Klar that he look into cloud chambers to do a similar thing with trails of radiation.
Marta Lwin presented polymorphic [d(eoxyribo)n(ucleic) a(cid)]: a love story, an installation where the disembodied lips of her and her partner take turns "talking" the letters of DNA of part of their genome. I totally support all genetic art!
She also previously has done work creating wearable jewelry from skin cell cultures grown on biodegradable scaffolds.
Geoffrey Bell's Musical Chair: A Game For One has a video camera which images the viewer who sits in a chair. The image is split into six square segments, each one with a different time delay, and the time delayed segements are rejoined and projected onto a screen. The effect is that when you stay in one place on the chair, the projection looks normal. But if you begin to move around, the different time delayed segments decohere and the combined image is quite chaotic, until you stop again and all the segments catch up to your non-moving state and it looks normal again.
Ernesto Klar's Convergenze parallele images the dust moving in the air, and converts that to an audio signal and a video projection. I suggested to Klar that he look into cloud chambers to do a similar thing with trails of radiation.
Marta Lwin presented polymorphic [d(eoxyribo)n(ucleic) a(cid)]: a love story, an installation where the disembodied lips of her and her partner take turns "talking" the letters of DNA of part of their genome. I totally support all genetic art!
She also previously has done work creating wearable jewelry from skin cell cultures grown on biodegradable scaffolds.
Peter Vogel at Bitforms
Last Saturday, I hit the Chelsea Galleries in New York. I didn't do any preparatory research, I just like walking around the few blocks and hitting some favorite galleries including Bitforms.
Much to my surprise, Bitforms had a Peter Vogel solo exhibition. I first ran into his work at another gallery in Chelsea, when in a back room I saw one of his incredible sculptures.
Vogel takes a large number of discrete electrical components (resistors, capacitors, transistors, etc.), and solders them together into self-supporting, truss-like forms. But then I moved between a light and the sculpture and it started making music! The discrete components were not only visually beautiful, but also functional analog audio synthesizers!
I thought this was pretty cool, and asked about the work. I was quite surprised to find out it was made in the 1960's! Evidently Vogel has been doing this kind of work for quite a while.
At the Bitforms exhibition, the earliest work was from 1979. There were several sculptures that use Cadmium Sulfide photoresistors to trigger the audio synthesizers. There also were works that modulated trains of LEDs based on audio input through electret microphones. In one room, an audio synthesizer sculpture would trigger the LEDs in an audio input sculpture for a very neat effect.
I had a chat with one of the Bitforms staff about how they handle the "warranty" issues of technological art. Apparently Bitforms tries to address this issue through thorough documentation of the work, so that if say a capacitor dries out, you know what kind to purchase. Of course, one wonders if in 20 years you still will be able to purchase 4000 series CMOS chips, for example. With enough documentation, at least it could possible be re-created (with PLAs? Quantum logic chips? who knows!)
Much to my surprise, Bitforms had a Peter Vogel solo exhibition. I first ran into his work at another gallery in Chelsea, when in a back room I saw one of his incredible sculptures.
Vogel takes a large number of discrete electrical components (resistors, capacitors, transistors, etc.), and solders them together into self-supporting, truss-like forms. But then I moved between a light and the sculpture and it started making music! The discrete components were not only visually beautiful, but also functional analog audio synthesizers!
I thought this was pretty cool, and asked about the work. I was quite surprised to find out it was made in the 1960's! Evidently Vogel has been doing this kind of work for quite a while.
At the Bitforms exhibition, the earliest work was from 1979. There were several sculptures that use Cadmium Sulfide photoresistors to trigger the audio synthesizers. There also were works that modulated trains of LEDs based on audio input through electret microphones. In one room, an audio synthesizer sculpture would trigger the LEDs in an audio input sculpture for a very neat effect.
I had a chat with one of the Bitforms staff about how they handle the "warranty" issues of technological art. Apparently Bitforms tries to address this issue through thorough documentation of the work, so that if say a capacitor dries out, you know what kind to purchase. Of course, one wonders if in 20 years you still will be able to purchase 4000 series CMOS chips, for example. With enough documentation, at least it could possible be re-created (with PLAs? Quantum logic chips? who knows!)
Monday, May 15, 2006
First finger of the hand
Friday, April 28, 2006
Washington City Paper article
John Metcalfe did an article on me for the Washington City Paper this week.
Monday, April 03, 2006
DTMF generation for Audacity
I've been using Sound Forge to geneate DTMF tones to synchronize animatronic movement with audio files. However, now you can get a DTMF generator plug-in for Audacity here (along with instructions). On the same page are cool notch filters, stereo panners, flangers, comb filters, and more!
Friday, March 31, 2006
Coverage in the Sydney Morning Herald
RoboBaby and the rise of the machines in the Sydney Morning Herald.
Wednesday, March 22, 2006
MAKE Magazine Blog / Dug / BoingBoing
Phillip Torrone was nice enough to post "Blame" to the MAKE Magazine Blog. Yey!
Adding coolness, the MAKE Blog entry was dug on Digg, and also featured on BoingBoing.
Adding coolness, the MAKE Blog entry was dug on Digg, and also featured on BoingBoing.
Monday, March 20, 2006
Or Maybe AVR?
I'm slowly becoming convinced that AVR chips may be preferable to PIC chips, especially if you are going to use a high-level language like C.
The EDTP Easy Ethernet AVR board has an ATmega16 AVR risc microcontroller with 8 channels of 10-bit A/D. It looks like you only get access to port A (8 pins) and port C (8 pins). Port A is the A/D port, but the Easy Ethernet AVR says there is a 4HCT573 Octal Transparent Latch on port A. I'll have to ask them if they can do analog input on Port A, or else is it a non-starter. The price is OK ($64 kit, $84 assembled).
There also is the Ethernut Board that has an ATmega128 microcontroller. The Ethernut has 20 I/O pins (8 of them A/D). But the price is a little steaper, $138.
The EDTP Easy Ethernet AVR board has an ATmega16 AVR risc microcontroller with 8 channels of 10-bit A/D. It looks like you only get access to port A (8 pins) and port C (8 pins). Port A is the A/D port, but the Easy Ethernet AVR says there is a 4HCT573 Octal Transparent Latch on port A. I'll have to ask them if they can do analog input on Port A, or else is it a non-starter. The price is OK ($64 kit, $84 assembled).
There also is the Ethernut Board that has an ATmega128 microcontroller. The Ethernut has 20 I/O pins (8 of them A/D). But the price is a little steaper, $138.
Monday, February 20, 2006
Haptic: Ethernet solutions
I fired up my old Pontech SV203 servo controller. It takes serial (RS-232) input to control a bunch of servos, and also has five A/D converters on board as well. After going through pain trying to get my VB6 compiler working with the PC serial port on my Win98 art box, I decided to bite the bullet and load up Python (to some extent because my wife is learning Python right now). Adding on the Python Win32 Extensions and then the PySerial module, I finally was able to talk from Python to the SV203 servo controller.
I found a great deal on a Wiznet serial to Ethernet gateway, but then came the surprise that the SV203 isn't made any more, and I need to have one on each side of the network connection for the haptic interface to go across the Internet.
So that leaves me looking at Ethernet-enabled microcontroller boards. If I continue in the PIC direction, there is a board from Modtronix with Ethernet, RS232, many digi I/Os, and 5 A/Ds. To program this board, I'd have to learn PIC C. I know C, but using it to control a PIC is a bit of a learning curve.
On the other hand, there is also the RVHE board, which is programmed in a simple BASIC. Besides Ethernet, it has 6 A/Ds, 26 digi I/Os, and two PWM I/Os (though I'd still need to program my own using the digital I/Os if I wanted to control 5 servos). It costs more, but I am sure the development time would be much less. Supposedly it can do 500,000 BASIC instructions per second and is interrupt driven, so I should be able to control 5 servos in addition to everything else. I've never heard of this board before, it must be pretty new. It is more expensive than the PIC Ethernet boards, but probably worth it.
I found a great deal on a Wiznet serial to Ethernet gateway, but then came the surprise that the SV203 isn't made any more, and I need to have one on each side of the network connection for the haptic interface to go across the Internet.
So that leaves me looking at Ethernet-enabled microcontroller boards. If I continue in the PIC direction, there is a board from Modtronix with Ethernet, RS232, many digi I/Os, and 5 A/Ds. To program this board, I'd have to learn PIC C. I know C, but using it to control a PIC is a bit of a learning curve.
On the other hand, there is also the RVHE board, which is programmed in a simple BASIC. Besides Ethernet, it has 6 A/Ds, 26 digi I/Os, and two PWM I/Os (though I'd still need to program my own using the digital I/Os if I wanted to control 5 servos). It costs more, but I am sure the development time would be much less. Supposedly it can do 500,000 BASIC instructions per second and is interrupt driven, so I should be able to control 5 servos in addition to everything else. I've never heard of this board before, it must be pretty new. It is more expensive than the PIC Ethernet boards, but probably worth it.
Wednesday, February 15, 2006
Haptic Chicken
I had a breakthrough concept for my haptic interface project yesterday! It is going to have to wait a while to be revealed, but I can assure you it doesn't have anything to do with remote chicken fondling.
Tuesday, February 14, 2006
Ethernet-enabled PIC boards
For a project I am working on involving haptic interfaces at a distance, I am looking at cheap Ethernet-enabled microcontroller boards. Modtronix has several between $55 and $70.
There also is the Packet Whacker which can provide an Ethernet interface for PIC and AVR, assembled for $35 or $25 for a kit if you like surface mount soldering. They also have the "Easy Ethernet W" board with a PIC for $60-$80 depending on PIC model and kit/assembled.
There also is the Packet Whacker which can provide an Ethernet interface for PIC and AVR, assembled for $35 or $25 for a kit if you like surface mount soldering. They also have the "Easy Ethernet W" board with a PIC for $60-$80 depending on PIC model and kit/assembled.
Good sensors from Parallax
Parallax makes a lot of interesting devices to interface to their Basic STAMP. Some of them are way overpriced, but here are some winners:
Piezo Film touch switch / motion sensor $1.49
Hall Effect sensor $4.25
PING Ultrasonic distance sensor $24.95. Three pins, VDD, GND, and and I/O pin for input to start the ultrasound pulse, and then output when it hears the echo.
PIR Sensor $7.95. Three pins (VDD,GND, and output), plus it is small (1" on a side).
Piezo Film touch switch / motion sensor $1.49
Hall Effect sensor $4.25
PING Ultrasonic distance sensor $24.95. Three pins, VDD, GND, and and I/O pin for input to start the ultrasound pulse, and then output when it hears the echo.
PIR Sensor $7.95. Three pins (VDD,GND, and output), plus it is small (1" on a side).
Slime Mold Robots
Robot controlled by a slime mold news article, and the paper is here.
My mother, a biologist studying mycology, kept slime molds around the house when I was a child. I joke that they were my only childhood pet!
My mother, a biologist studying mycology, kept slime molds around the house when I was a child. I joke that they were my only childhood pet!
Tuesday, February 07, 2006
Interface in Japanese magazine
Am I officially "Big in Japan"? Here is a piece on the Interface show in the Japanese magazine Shift.
Power Pick-Ups
My initial tests show that a "bumper car" style overhead power pick-up may be difficult to reliably deploy for a micro-RC car. There are lots of "dead spots" where the car stops picking up power. I realize though that the optimal pick-ups should be made of stainless steel wire, which should be available for lure tying at Gander
I found a manual for a real overhead pick-up bumper car. They have a quite sophisticated floor pick-up involving a steel brush wheel.
In addition to the overhead power pick-up, there are bumper cars with floor pick-up power system (look at bottom floor picture). Evidently there are stripes of power and ground metal lines on the floor, and there must be some kind of array of electrodes picking up the power and diode-steering it to the engine. Alternatively, the use of AC power could simplify the situation.
Another option is inductive power transfer (IPT), but I'm concerned that it may interfere with the RC radio commands and/or the RF video coming from the car camera.
I found a manual for a real overhead pick-up bumper car. They have a quite sophisticated floor pick-up involving a steel brush wheel.
In addition to the overhead power pick-up, there are bumper cars with floor pick-up power system (look at bottom floor picture). Evidently there are stripes of power and ground metal lines on the floor, and there must be some kind of array of electrodes picking up the power and diode-steering it to the engine. Alternatively, the use of AC power could simplify the situation.
Another option is inductive power transfer (IPT), but I'm concerned that it may interfere with the RC radio commands and/or the RF video coming from the car camera.
Wednesday, February 01, 2006
"Drive" proof of concept
The next project I will be working on is tenatively called "Drive". It will involve a mini-RC car driving around a three-dimensional, multi-level environment. The car will have a small video camera on it, and the viewer will only see the video from the car. I am hoping to even hook it up to the Internet so that people can drive the car over the web.
The first question is how to distribute power to the car. I went ahead and removed the battery from a Radio Shack ZipZap. I added solder wick braid power pickups, and placed the car between two pieces of sheet metal. The bottom one is textured to provide more traction for the car. I found that the pickups needed more "springyness" to make contact with the metal, so I added wireties to push the solder wick braid into the sheet metal.
I got the car to move a bit, but clearly it hits lots of "dead spots". I think that the combination of upping the distribution voltage from 2.5V to 12V as well as adding a big capacitor on the car may solve the problem. The distribution voltage has to go up because the camera needs 9V.
Power distribution is of course only one challenge. The 3" distance between the pieces of metal is much smaller than the wavelength of either the 49 MHz control signal for the car, or the 2.4 GHz frequency of the video camera transmitter. I'm hoping that close proximity will avoid the RF attenuation issues, but we'll see.
The first question is how to distribute power to the car. I went ahead and removed the battery from a Radio Shack ZipZap. I added solder wick braid power pickups, and placed the car between two pieces of sheet metal. The bottom one is textured to provide more traction for the car. I found that the pickups needed more "springyness" to make contact with the metal, so I added wireties to push the solder wick braid into the sheet metal.
I got the car to move a bit, but clearly it hits lots of "dead spots". I think that the combination of upping the distribution voltage from 2.5V to 12V as well as adding a big capacitor on the car may solve the problem. The distribution voltage has to go up because the camera needs 9V.
Power distribution is of course only one challenge. The 3" distance between the pieces of metal is much smaller than the wavelength of either the 49 MHz control signal for the car, or the 2.4 GHz frequency of the video camera transmitter. I'm hoping that close proximity will avoid the RF attenuation issues, but we'll see.
Thursday, January 26, 2006
Super Capacitors
SuperCap specs and step-up circuit to deliver 9V from a 2.3V SuperCap.
I am thinking about using these in my microRC car / TV camera work to ensure a continuous supply of power from the floor/cieling power pickups.
I am thinking about using these in my microRC car / TV camera work to ensure a continuous supply of power from the floor/cieling power pickups.
Wednesday, January 25, 2006
Another "Interface" Review
Alexandra Silverthorne from "Solarize This" reviews the Interace show at Fraser Gallery. "Blame" didn't seem to be a hit, but she liked "Look"
Tuesday, January 24, 2006
Geek Fashion
Geek Fashion Show, including a hoodie with a wireless heart monitor and an embedded camera that snaps pictures as a wearer's heart rate increases; and the gown, fitted with a hacked hand vacuum and a series of valves, that inflates and deflates according to the desired silhouette.
If you like that, you might also dig SWITCH, a Do It Yourself show for creating fun and fashionable items with electronics.
If you like that, you might also dig SWITCH, a Do It Yourself show for creating fun and fashionable items with electronics.
Mounting Saturn Windshield Wiper Motor
I lucked out when mounting the Saturn windshield wiper motor from BG Micro for "Blame" using 3.5 inch U-bolts.
So of course today I find a link to everything you need to know about this motor, including a bunch of great ways to mount it.
So of course today I find a link to everything you need to know about this motor, including a bunch of great ways to mount it.
Sunday, January 22, 2006
Sycophant Movie
Here is the Sycophant Movie in Windows Media format, filmed this summer but not edited until today.
Friday, January 20, 2006
"Interface" Results
The "Interface" group technological art show opened last Friday night at Fraser Gallery Bethesda.
One of the works in the show, "Look", a collaboration between myself and Scott Hutchison, was featured in the Washington Post Express:
My other work, "Blame" is a robotic arm with a pointing hand that scans back and forth, and when it finds a viewer (with an ultrasonic proximity sensor), it stops and accuses them of some horrible societal issue. Here is Quicktime video of "Blame".
Other artists in Interface included Claire Watkins who does magnetic art. You can kind of make out her work in the near corner here, a powerful rare earth magnet attracting a large number of sewing needles, but they are floating in mid air since each one is also attached to the wall with thin red thread. In the distance you can see "Look" and "Blame" next to each other:
Also featured is David Page who does bondage apparatus performance works. You can read about the performance of his work for the show called "Hopscotch" in a City Paper review. Here is a still from the opening:
I was very inspired by Claire Watkins' magnet work. I have been reading up about rare earth magnets. I think it would be cool to combine powerful permanent magnets with electromagnetic coils driven by modulated current, perhaps from some kind of sensor to provide an even more interactive work.
Philip Kohn's psychadelic time and space shifting mirrors were excellent as well!
One of the works in the show, "Look", a collaboration between myself and Scott Hutchison, was featured in the Washington Post Express:
My other work, "Blame" is a robotic arm with a pointing hand that scans back and forth, and when it finds a viewer (with an ultrasonic proximity sensor), it stops and accuses them of some horrible societal issue. Here is Quicktime video of "Blame".
Other artists in Interface included Claire Watkins who does magnetic art. You can kind of make out her work in the near corner here, a powerful rare earth magnet attracting a large number of sewing needles, but they are floating in mid air since each one is also attached to the wall with thin red thread. In the distance you can see "Look" and "Blame" next to each other:
Also featured is David Page who does bondage apparatus performance works. You can read about the performance of his work for the show called "Hopscotch" in a City Paper review. Here is a still from the opening:
I was very inspired by Claire Watkins' magnet work. I have been reading up about rare earth magnets. I think it would be cool to combine powerful permanent magnets with electromagnetic coils driven by modulated current, perhaps from some kind of sensor to provide an even more interactive work.
Philip Kohn's psychadelic time and space shifting mirrors were excellent as well!
Tuesday, January 10, 2006
"Blame" Sneak Preview
Here are the three boards of "Blame." The biggest one (left) has the PIC microcontroller, DTMF decoder chip, and relays. The lower right hand board is an MP3 player, and the upper right hand board is the DC motor controller board.
Here is a sneak preview of the completed "Blame." The ultrasonic proximity detector is under the hand, and on either side of the arm motor are magnetic reed switches (used in home security on windows and such).
Here is a sneak preview of the completed "Blame." The ultrasonic proximity detector is under the hand, and on either side of the arm motor are magnetic reed switches (used in home security on windows and such).
Friday, January 06, 2006
Subscribe to:
Posts (Atom)