So for our final project for NetObjects Ellie and I are building a series of networked instruments, at this point xylophones. Here's what we're thinking at the moment:
There will be two users in two different places. Let's call them User One and User Two. Both users will have two xylophones, one we'll call the Transmitter Xylo and the other the Receiver Xylo.
User One will hit some notes on his Transmitter Xylo. Piezoelectric sensors which are attached to each note on the instrument will tell User One's Arduino which notes are being hit in real time, then send that information to an XPort, across the internet (still haven't entirely figured this part out yet), to the User Two's XPort, then to User Two's Arduino, which will control a series of motors which will hit User Two's Receiver Xylo just as they were hit by User One.
And User Two will have the exact same system and will use it in exactly the same manner as User One.
Here's a nice system diagram courtesy of Ellie:
Goal:
To allow temperature to be controlled democratically by all people using or about to use a room, whether office, school, or home.
Context:
Currently in schools and offices temperature is controlled by one person who has access to a thermostat or building’s heating/cooling system.
As we’ve seen at ITP, having heat and air conditioning controlled by someone who is not even on the floor can create a great deal of frustration.
Problem:
In schools and offices, room temperature is typically controlled by one person who may or not actually be using the room. Often, this causes spaces to be too hot or cold since the person in control is not actually around to experience it and/or has a preference which does not reflect that of everyone else around. It also can only be controlled by someone who has physical access to the heating/cooling system.
Proposal:
We propose that room temperature should be controlled democratically by people who are using or who are about to use a space. Everyone who is allowed by the administrator may vote on their preference for room temperature and every hour the room’s temperature will be adjusted according to majority rule. This is done using one computer in the room and the cell phones of people using or about to use the room.
Using the system:
1) People in the room
An LCD touch screen computer is placed on an easily accessible wall in the room.
In order to vote using the computer, the user must first sign in with a User ID and password (such as their NYU NetID), then vote on whether the room is too cold, too hot, or just right. The current vote count is displayed.
2) People coming to the room in the near future
Users who are not in the room, but are on their way there, may use text messaging to get the current room temperature and then to cast their votes. In order to vote by phone the users must enter their User ID, password, and their vote.
Every hour the votes are tallied and the device talks to the room’s thermostat and either increases or decreases the temperature by an amount decided upon by the administrator or leaves it alone if the majority is happy with the current level.
The increment of time by which votes are tallied and the temperature would typically be about once per hour but can be set to and increment by someone with administrator privileges within the system.
Target users:
Virtually anyone! Anyone who has access to a cell phone and/or has a home, school, or office which has a climate control system.
User scenario:
Bob rides his bike from home to school and back every day. In hotter months he wants nothing more than to arrive to a well air conditioned classroom. On his way to school he sends a text message to the system to see what temperature the classroom he’s going to is. If he wants it to be cooler he texts his vote to the system.
He doesn’t want to leave the air conditioning in his apartment on all day, but he does want it to be on when he arrives at home. He checks the temperature of his apartment by phone and if its not to his liking, he casts his vote.
If he lives alone, the climate will be decided entirely by him. If he has roommates, his vote gets tallied in with theirs.
Hardware Design:
Touch screen computer (ideally), but could also be done using a normal laptop or desktop computer
A thermistor reading the current room temperature
An FTP server running Perl script which gets the votes via computer and text message and regularly checks for votes and updates the screen display.
Asking people about how they view the weather and how it dictates their daily life I got some pretty predictable responses. No one has a standalone weather bug, most people use weather.com or other internet sites occasionally on days when they feel its necessary, and no one has cable television and thus can't see the weather channel. Most people play it by ear and don't think too hard about it. No one is that frustrated by the current means of gauging the current and coming weather using a combination of technology and their own intuition, although two international students (the two other members of my group) who come from or had spent time in places with accessible steaming video of streets said that they used that when it was available and that it would definitely be helpful in a big city like NYC where there it can be raining or snowing in one neighborhood or borough and not another.
People had much stronger opinions about the mysteriouslly chilly climate of the 4th floor. On the whole, ITP people are mildly annoyed by the fact that it always seems to be 5-10 degrees too cold on the floor. Even as I type this the student next to me is complaining about it. Why is it so damn cold in here?!
For the answer I went to George Agudow. To put it simply, the system which controls the temperature on the floor is incredibly complicated and inefficient. The temperature is not actually controlled by anyone at ITP or anyone on the floor. George was not even sure who is controlling it and how to change it without calling an administrative person in a campuswide building office and having that person go through a series of other steps involving other people no one is really sure about. There is not an actual thermostat, the system is controlled only by adding hot or cold water to some apparatus somewhere which either cools or heats an area accordingly.
As if that wasn't enough, the ITP floor actually spans what used to be two different buildings, and there are different controls (which no one here has direct access to) for the two sides of the floor. One control is hidden away on the 4th floor somewhere, the other is somewhere near the roof. There are additional cooling mechanisms in certain rooms (not sure which ones) which whoever designed the building felt might get too hot, for reasons no one is entirely sure of. Then there's even more stuff we didn't have a chance to get into.
Needless to say we had a good laugh over the whole thing.
More on this as it develops and as I remember more bits of absurdity from our conversation...
PURRING MONKEY WITH EARRINGS
My original idea was to stick a vibrating motor and touch sensor inside my stuffed monkey so that he would gently vibrate when you squeezed his belly. Realizing that there would really be know way to show this visually in this blog I decided I'd also give him blue LED earrings that would also pulse on and off when he was squeezed.
I bought a pressure sensor at the bookstore and played around with it for a while, and it was not responding to being touched. I figured it was not plugged in to my Arduino correctly, even though it looked like it was. I was totally confused until I asked someone who told me that the sensor I'd bought at the computer store, which was marked simply "PRESSURE SENSOR" was actually a Barometric Pressure Sensor. Would've been nice if the ziplock bag it came in had been more descriptive, but whatever. Someone was nice enough to lend me an FSR (Force Sensitive Resistor) (thank you 2nd year whose name I did not get...), which was exactly what I needed.
I hooked the FSR up to an Analog In on my Arduino and my vibrating motor to a PWM pin and viola! The motor spun and vibrated as i squeezed the FSR. Next step, I performed some Exacto surgery on my monkey then pulled out some of his stuffing and crammed in the sensor and motor. It worked as I'd expected for about 30 seconds, then suddenly the motor slowed down and stopped completely. I took the components out and found that some threads of the monkey's stuffing had wrapped themselves around the spinning part of the motor and into the guts of the motor itself. I pulled them out and the motor resumed working. I found some rubber tubing on the free shelf and hot glued the motor inside of it so it would be protected. Stuck the components back in and its been working smoothly ever since.
Figured I'd add some lights, since all I'd have to do would be to apply the same PWM to the other PWM pins. The first thought that came to mind was to stick them on his eyes, but drilling holes into his small plastic eyes seemed like a risky proposition, so I gave him earrings instead.
Code:
int val;
int potPin = 2;
int ledPin = 9;
int motorPin = 10;
int ledPin2 = 11;void setup()
{
Serial.begin(9600);
}void loop()
{
val = analogRead(potPin);
analogWrite(ledPin, val);
analogWrite(ledPin2, val);
Serial.println(val, DEC);
analogWrite(motorPin, val);
}