BlogmaIntro to Physical Computing Fall, 2003 Jeff Feddersen Week 14 - The Last Journal?!?
Ah. Snow.
My final project idea is okay, but it needs a little something. Technically, it won't be anything that hasn't been done before (cancelling the negatives, it WILL be something that HAS been done).
So a business won't be interested, but a museum might, but only if the thing has some kind of aesthetic value or meaning of some kind.
Some people, when confronted with difficult decisions, ask, "What would Jesus do?".
if (getADC(13) > getADC(15)) then call putPin(9,0) call putPin(12,1) else call putPin(9,1) call putPin(12,0) end if Where I have a photo-transistor in pins 13 and 15, and outputs coming out of pins 9 and 12. (Oddly, the photo-transistors don't seem to need to be oriented one way or the other. The light acts as the base, but it seems that each pin can act as either collector or emitter) The results of this is that the chip will always be monitoring which side (left or right) is receiving more light, and will send a signal to the appropriate motor to turn the head in that direction. Since it's checking many times each second, the signaling should be non-jerky and look like smooth motion, with both sides moving at the same time. Anyone looking to exhibit their physical computing projects may want to check out the Bryce Wolkowitz gallery on 26th st. The current exhibit is photography, but in October it was all sorts of p-comp style stuff by people named Jim Campbell, Alan Rath, John F. Simon Jr., and Steina.
Morgan's Lords of the Rhymes video - pretty funny (lots of swears). The beat-box Gollum is the best part. It seems that the current trend in 'technology art' (or whatever the umbrella term is for the physical computing stuff we do, and for the sort of stuff beginning to appear in some museums (musea?) and galleries) is the embracing of ambient conditions to generate the affect; for example, having attributes of passers-by on the street determine a sound piece. However, the definition of aesthetics that I've been going with for a while is that if something is indistinguishable from error or chaos, then it is not art. If you see someone gyrating about, but cannot tell if the person is having an epileptic seizure or conducting some new kind of dance, then it doesn't count as art - it counts as crap. If you see marks of paint on a piece of paper, but cannot tell whether that is the piece of art or just the place where the painter wiped off his brush, then again, it's not really art. The counter argument is that atr can be found anywhere, even in unconsciously-created things, such as the swirls of milk in a cup of coffee. But my rebuttal is, if that's art, then what's the point of making any more? If art can be found in any pile of trash or on the bottom of my boot, why bother trying to make something else? Perhaps the answer is a lack of distinction between 'beauty' and 'art'. I acknowledge that many scenes of nature, where no human hand intervened, can be, and are, beautiful, but art suggests and requires the ordering effects of deliberate human involvement.
My impulse when designing robots is to imitate living things, especially insects, since we can learn a lot from things that have billions of years of evolution behind them, optimizing them for efficient adaptation to their environments. Living things are still far more efficient than any fabricated device in terms of mobility and energy-use.
However, the natural progression of the usage of new technology is to first imitate what already exists, and then begin finding designs that suit the new technology.
Here's a potentially controversial statement: Most electronic music sucks
Here's the board. Pretty simple. The only inputs I'm using are the two photo-transistors.
I decided not to use the IT sensor, since I found a problem with them: they can't distinguish between a corridor and a wall if they're the same temperature.
And something like a person's hand shows up as very reflective, even though it's actually emitting IR frequencies, while at the same time blocking ambient light.
This Anonymous Teacher Feedback Mechanism is a Cold Fusion-based wiki-style ITP teacher evaluation tool by former ITP'er Paul Berry. The comments might be a little more honest than the paper forms. I'd like to see an anonymous evaluation of students, by the faculty. I'm sure there is some agreement about which students to watch out for, who is obnoxious and who's a slacker. I'm starting to think that a separate board for each segment would be a good idea. It's not necessary, but hard-wiring everything will look ugly. But wait, form follows function, right? Oh, so in that case, it's going to be beautiful. Maybe it's natural to be getting discouraged at this point, but I wonder whether my physical computing projects will ever be more meaningful than the Dancing Santa or the Talking Bass.
Wired up everything for one of the segments, soldering the transistor directly to the motor, and using springs for the battery leads.
I'm not as far along as I would like to be on my final. I spent weeks trying to think of a cool idea, rather than just getting started on the best idea at the time. I don't know which method is better.
After a lot of nitpicky troubleshooting, I come to the conclusion that the transistors I'm trying to use need more voltage in the collector than the 1.5 I'm giving them. I figured the 40V on the package was just a recommendation - you know, like Ages 5 and Up on the box of Hungry Hungry Hippos, but you know that a 4-year old would enjoy it too. I'll have to go throgh my pile and find some more appropriate ones. Looks like the good ol' 2222s are willing to play. For automated music, I want the sound to be melodic, so the task is to find a way of generating euphonious noise. Here's an idea for whatever music class I take next semester: Assuming some external input causes a sound to play, the duration between inputs determines the interval. For example, a duration of less than 0.2 seconds makes the note one half-step different from the previous note. A duration between 0.2 and 0.5 seconds means a whole-note interval, etc. This seems like it would be slightly more like the human voice, or at least more interesting to listen to. At any rate, it's worth experimenting with. Got the transistor working, and the photo-transistors and regular transistors are working to power the motor based on the amount of ambient light. However, the torque on the pager motors is so low, that now I'm worried that they won't be strong enough. At least I knew to reverse the polarity of the motors, since they're inverted I want one to spin in the opposite direction. I can either use bigger motors (and bigger batteries) or try lightening the weight in the head segment. Likely I'll have to do both. Chitty Chitty Bang Bang is a good movie, based on the book by Ian Fleming, who also wrote the James Bond books. The book may have been better. The movie (and the book) is from the era when Germans were ridiculed, à la those WWII sitcoms from the '60s. I wonder if we'll someday see Islamic terrorists depicted in the same way.
The pager motors are just too week to move much beyond their own weight. I successfully made a little robot with pager motors before, but it was extremely lightweight, lighter than a single AAA battery.
I have some 2.4V motors, and those things have real torque, unlike the pagers which stopped as soon as there was any friction.
But the 2.4V motors need more voltage, so I'm going to replace the motors and batteries.
Also, I'm not doing much with the BX, so I'm going to duplicate the code with a couple of transistors, that way I can ditch all the ballast related to using the chip. (I included the BX in my schematic from last week, but oh well)
Some say God is in the details. Others say The Devil is in the details. A third group says Don't sweat the small stuff. So, in conclusion: there are details.
I'm currently getting over 1MB/day in spam email - about 300 spams each day. I can put up with ads in TV, because that's what pays for TV, but junk email is just a parasite. It's the equivalent of some guy, who, every time he sees you on the street, he pokes you with a stick. You can't sue him or have himn arrested, and if you were to beat him up, you'd be the one who gets in trouble.
My 'centipede' is, at this point, going to have only four legs: two on the head segment and two on the 'thorax' segment.
'Centi' can mean four rather than one hundred, if you assume that each motor will be doing the work of 25 men.
This week's New Yorker (aka The Journal of Limousine Liberals) has an interesting article by John Seabrook (his stuff is usually worth reading) about the history of toy invention - the title is "Child's Play' and the dek is "What makes a toy fun?"
Did you know that Lincoln Logs were invented by the son of Frank Lloryd Wright?
Or that Hoberman Spheres are marketed by the same people who make the flex sensors we use in class?
I'm taking Toy Design in the Spring - maybe the Gentiles would be interested in what I end up making, whatever it will be.
We ought to have a field trip to the Toy Fair in January
Here's the new one. Rubber bands are glued around the corks, now narrower - so they're lighter and have more traction. I glued the components directly to the stick, and I'll solder them together using as little wire (or no intermediate wire) as possible. The motor gets hot when it's spinning, especially when there's lots of resistance. And I can smell ozone. My virtual ant farm is just about done for ICM. With just a little tweaking, the ants could be replaced with electrons and the farm could be transformed to a virtual circuit diagram. The user could drag in different resistors and stuff to see how it changes the current. That would be sort of cool.
Here it is with the components soldered.
On a series of flights between New York and Abu Dhabi, I saw the movie "Spy Kids" five times. It was actually entertaining, at least up through viewing #3. I don't like the look of hardened gobs of epoxy or hot glue all over everythingeven though that's what I needso I'm using lots of Krazy Glue (chemical name: ethyl cyanocrylate. I knew a girl named Ethel Cynocrilowitz - her boyfriend was a jerk) Robots are basically machines that carry around batteries. In animals, most of the mass is muscle and bone. The digestive system is a significant, but small fraction of the total. Machines can have much stronger and lighter structures and mobility systems, but the energy system is really heavy. Power seems to be a big bottleneck in all electronic devices. The Website I run had an issue in October on power. One of the leads on the motor just broke, so I have to replace it. I only have five of this size, so I can't have any more go bad. In the '60s and '70s, when the U.S. was engaged in a cold war with Communism, many American institutions built a lot of ugly Soviet-style buildings. In college, the dorm I stayed in Freshman year, was built the year I was born. The 'residence hall' rooms were numbered by building, floor, corridor, and room. I was in building 1, floor 3, corridor 1, room 3, so my room number was 1313. I thought it was cool, but no one else seemed to care. Maybe they were just jealous. I made a joke about 1313 Mockingbird Lane, a Munsters reference, but no one got it. I once saw Al Lewis, who played Grandpa Munster, at Katz's Deli
I finally got the head all put together, and as usual, once I put the battery on it's too heavy for the motors.
These are the more powerful 2.4V motors, not the 1.5V pager motors.
They spin very fast until they have to actually pull themselves and the battery along.
In college I took some film classes. My films had decent lighting, composition, story, etc. But everything I shot was underexposed by 1 or 2 stops. Film is much more difficult than video - you have to use a light meter and adjust the aperature manually, and you can't see the results until after the roll comes back from the developer, usually about a week. But the trend with me is to spend an entire semester with a single technical problem that I just can't get right. For p-comp, it's the dang motors. Every project is the same in that I don't seem able to learn from the mistakes of the previous one, even though it's always the same mistake. So I decide that putting 9V into 2.4V motors may burn them out, and the heat and ozone coming out of them is a good indicator. I should put them in series, like I just mentioned right? I just tried, and of course, one of them is burned out - I guess. It didn't pop or smoke or anything. But wait, now it's fine. It's like it just needed a rest or something. Motors have rather Teutonic dispositions, so maybe I just need to yell at them to keep them disciplined. It's a good thing I didn't collaborate with anyone on this. They'd be pretty upset to be still thinking of basic questions about the project this late into it.
I tried the series thing with 2 motors and the 9v, but no dice.
Even if I take out the resistors there wouldn't be enough for 4 motors.
I just realized that the robot I'm trying to build is very similar to one a friend and I came up with two or three years ago when we were imagining what kind of robot we would build for that show, Robot Wars - the show where teams would build radio-controlled cars that would fight in an arena. Our idea was for a metal pipe that had a motor inside it, and the whole thing would roll. If it ever got flipped, it wouldn't matter. It wouldn't have had much in the way of offense, but it's defense would have been perfect. There's obviously some concept I'm missing in terms of voltage/current/torque/rpms. Those little RC cars have batteries the size of boogers and they've got tons of power. Here's an interesting animation that shows how a 555 timer works I upgrade motors again, and tests show that they are strong enough to pull around the weight of a 9V battery. They are also, however, considerably bigger and now the wheels are too small - the edges don't reach past the sides of the motor. And the larger, heavier motors will be much more difficult to mount. For the wheel issue, my solution is to put three tires on each wheel - one rigid plastic and two foam rubber. This is not art (most art is not art either). You can't just throw stuff together, as you might with paint, and see what works - not unless you don't mind having 99.78% of your work be wasted. On the other hand, after looking at lots of other robot circuit diagrams online, I'm surprised that I've gotten as far as I have with only 3 or 4 components, rather than the minimum of 20 or so used by most simple robots. It's soldered, and I put Sabo glue over it to secure it. The motors are much weaker when going through the transistors, but I have to use them in order to make the voltage dependent on the photo-sensors. I have one more set of motors, one size larger, just in case. I just broke a transistor. How the hell can you break a transistor?
Some guy in the 1950s named Grey Walter built lots of 'turtle' robots based on the same ideas that I'm using - light detection, obstacle avoidance, etc. The difference is that he had a lot more technical hurdles than I have, and also, his were more sophistimicated, and worked. With 10Ω resistors (brown black black) the motors turn much more slowly. I'd like something between 10 ohms and just a straight wire, but I don't have any single-digit resistors. I could put in a potentiometer, I suppose, but that would mean a lot more weight. The blue 'napalm' goo I made is good, but it only bonds with certain kinds of plastics, and takes about 24 hours to set. Just this week I've wasted days having left lots of bits to dry, only to realize the next day that there was a problem and then having to start over. The thing does move forward, and light does have an impact on wheel rotation speed, and the thing does turn - but the turning seems to have more to do with minute differences in weight distribution between the right and left side. If the battery is nudged less than a millimeter to the right, then the center of gravity moves and the right wheel has more traction and moves more. When I had the super-long axle, differences in wheel speed seemed to make more difference. Now the wheels are much closer and the difference is subtler.
Whenever I have a big project, a song finds its way into my head and stays there until I finish.
When I wrote my book, I had the Eagles "Take it to the Limit" stuck in my brain for nine months ("So put me on the highway, and show me the sign, and take it, to the limit, one more time...")
It's 3AM on Wednesday night (Thursday morning) and I'm expected to show this in my Spatial Design class.
It may get attention for the sculptural aspect of the boardless solder-job, but it doesn't do much.
I had initially thought that this would be so technically sophisticated that of course I would present this as a business piece, not a museum one.
But now it seems that my only hope is to spin the arty angle.
In fact, the project does have merits, even though it is far from the original vision.
I'll call it Minimal Emergence, since it is robotics in its most primitive, exposed form, and it demonstrates how even simple electronics can create some kind of 'behavior'.
Now that the head is sort of working (the glue always rips apart at the joints whenever I turn it on) I see that the size of it requires quite a large space to really move. And the light-sensing mobility is really too subtle. I should have spent more time here before starting. There is accupuncture, and accupressure, so why not accupunching?
Thursday evening: 15 hours to go.
Dan reminded me today, as I toiled away in the lab, that, now that I have the motor/battery issue worked out, maybe it's time to reconsider using the BX and going back with my original plan. Sounds good. Let's see how it goes. I'm using the biggest DC motors I could find where I had at least two of the same size, rated at 9 to 18 Volts, 18,000 RPM, and 1.98Amps. Pager motors? What was I thinking? The new ones are strong enough, although I'm still having issues with common grounds. Even though I have separate power supplies, the chip still shuts off when the motors are being powered. Here's the BX code I'm using: Sub main() call delay(0.5) call putPin(26,0) Dim rndNum as single do rndNum = Rnd * 100.0 ' debug.print "13: "; cstr(getADC(13)); " 15: "; cstr(getADC(15)) ' turn left if (getADC(13) < getADC(15)) then call putPin(9,0) call putPin(12,1) ' turn right elseif (getADC(13) > getADC(15)) then call putPin(9,1) call putPin(12,0) ' otherwise choose random side else if (rndNum < 50.0) then call putPin(9,0) call putPin(12,1) else call putPin(9,1) call putPin(12,0) end if end if loop end subThe motors turn on and off quickly when going in a straight line, acting the same way as they would were I using pulsewidths on stepper motors. |