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:

sycophant_2_usound_mounting

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!

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.

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.

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.

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):

reverb

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.

IMG_1217

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.

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.

IMG_1042

IMG_1066

Then I hooked up the Pololu Micro Serial Servo Controller, this time using the logic-level serial connection from the CUBLOC second serial port:

IMG_1061

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:

IMG_1071

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:

Xport1

Xport2

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:

CB220

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!

maxbotix

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.

IMG_0911

IMG_0914

IMG_0909

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.

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.

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!

IMG_0902[1]

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:

IMG_0882

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:

IMG_0885

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:

IMG_0889

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:

SBC65EC

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!

Polulu Servo Controller

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

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

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.

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.

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.

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!

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...

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.

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)

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).

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.

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!)

Monday, May 15, 2006

First finger of the hand

Here is a finger made from Fimo attached to a servo, along with the servo controller board. You see an ex-finger in the background, I made the attachment area too thin and the dried thin Fimo didn't hold up to being drilled.

And yes, it is a finger!! Dirty minds!!

Friday, April 28, 2006

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!

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.

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.

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.

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.

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).

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!

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.

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.

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.

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.

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.

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!

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).