As computing becomes more ubiquitous in our objects, designers need to be more aware of how to design meaningful interactions into electronically enhanced objects. At the University of Washington, a class of junior Interaction Design majors is exploring this question. These pages chronicle their efforts.
Showing posts with label Jered Danielson. Show all posts
Showing posts with label Jered Danielson. Show all posts

Tuesday, June 10, 2014

Jered and Ciera | Tweety Clock | Prototype

After brainstorming, we decided that we wanted to combine aspects of social media, the idea of taking a "picture-a-day", and incentivizing getting out of bed on time in the morning. Our final concept is an alarm clock that takes a picture of you in the morning when your alarm goes off, and then uploads the photo to Twitter.

Because of the complexity of taking pictures and uploading them to Twitter, we decided to ditch the Arduino Uno in favor of the Raspberry Pi. The RPi provides many of the same hardware control and programming capabilities as the Arduino, with the added benefits of running Linux and connecting to USB devices and the internet very easily.

Once we had our idea, we worked out how to accomplish it. It was clear that we had a few mandatory components needed to get it to work:

1. Alarm clock (cheap, pre-existing model without a radio)
2. Raspberry Pi (to control the whole system)
3. USB Webcam (to take the pictures)
4. Light source (to illuminate the dark room when the picture is taken)

For the alarm clock we went to the thrift store Value Village in Capitol Hill and found a basic used $3 clock made by Sharp.

From previous projects I already had a Raspberry Pi and USB webcam, so we reused those components. For the light source we used a $4 LED lamp from IKEA that runs on two AAA batteries.

The prototype assembled with clock, webcam, light source, and RPi
Programming the Raspberry Pi was relatively easy thanks to online tutorials. For controlling the webcam and uploading to Twitter we decided to use Python because it is a powerful scripting language with lots of online support. One online tutorial in particular was perfect for our needs - it had code for taking webcam pictures and then uploading them to Twitter, allowing us to copy it virtually line-by-line for our project. It can be found here: http://www.makeuseof.com/tag/how-to-build-a-raspberry-pi-twitter-bot/

With our prototype assembled and programmed, I tried it out for a few nights, and it worked perfectly! Check out the Twitter feed with actual morning pics here: https://twitter.com/tweetyclock

Friday, April 25, 2014

Jered and Ciera | Arduino | Sensor Experimentation

Using an Arduino can sometimes make it difficult to control high-voltage devices. The maximum voltage that the Arduino can output from its pins is +5 volts. Say we wanted to control a motor running at +12 volts? How could we do it?

The answer is transistors. Transistors are very powerful because they allow manipulation of very high voltages using only a very low voltage signal. Think of a transistor as a signal amplifier. A transistor can use a +5v signal from the Arduino to turn on or off a higher voltage +12v motor.


In common transistors like the TIP120, the "base" pin can connect to a control signal which controls current across the "collector" and "emitter" pins.

In the schematic below, a potentiometer is used to control the speed of a 12 volt DC motor via PWM. The potentiometer acts as a sensor and is connected to pin A0 as well as +5v and GND. Extra power comes from an external "wall wart" which provides a +12v current. Note: it is very important to connect all the grounds together in circuits like this. The ground from the wall wart is connected to the ground of the Arduino even though they output different voltages.


To get this circuit to run on the Arduino, simply use the unmodified example code from Examples > Analog > AnalogInOutSerial. The Arduino reads the analog signal from the potentiometer on pin A0, and then outputs an equivalent PWM signal from pin 9. The transistor then amplifies the PWM signal in order to control the flow of +12v current through the motor.


Try it for yourself!

Jered and Ciera | Arduino | Fibonacci Sequence Blinking

Writing an Arduino sketch to blink an LED according to the Fibonacci Sequence is fairly straightforward. The two main variables you need to keep track of are the last two numbers in the sequence. Without them, it is impossible to keep track of where you are as you step through the sequence!

The second important part of code is a loop that blinks the light repeatedly, however many times you need it to according to where in the sequence you are.

Source code posted below:

/*
Fibonacci Number Sequence counter
by Jered Danielson and Ciera Johl, 25 April 2014

This sketch blinks the LED on "ledPin" according to the Fibonacci Sequence.

The Fibonacci Sequence is defined as Fn = Fn-1 + Fn-2, such as
0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89... etc.
*/

int ledPin = 13; // LED pin for output
int numberOne = 0; // Fn-2
int numberTwo = 1; // Fn-1
int delayTime = 400; // Delay time in milliseconds between blinks

void setup() {
  pinMode(ledPin, OUTPUT);
  digitalWrite(ledPin, LOW);
}

void loop() {
  int currentNumber = numberOne + numberTwo; // next number equals the sum of the last two
  // Blink the LED "currentNumber" number of times
  for(int i = currentNumber; i > 0; i--) {
     digitalWrite(ledPin, HIGH);
     delay(delayTime/2);
     digitalWrite(ledPin, LOW);
     delay(delayTime/2);
  }
  
  // Update the two stored numbers of the sequence
  numberOne = numberTwo;
  numberTwo = currentNumber;
  
  delay(delayTime*3);
}

Jered and Ciera | Knolling | VHS Tape Rewinder

For the knolling project, we went to Value Village on Capitol Hill. There was a wide variety of cheap household electronics to rummage through, from slide projectors to telephones to kids' toys. We selected a VHS tape rewinder built in 1989 by Solidex Inc.




After disassembling and knolling the object, we were surprised by just how many individual parts there were. A VHS tape rewinder seems like it would be a simple thing, and yet there were dozens of screws, tabs, wheels and other pieces.

Use of the rewinder starts by pressing a button on the front to open the tape carriage. Inserting a tape and closing the carriage causes a microswitch to be depressed, which starts the DC motor and rewinds the tape. The rewind spindle is connected via rubber belt to an analog counter which keeps track of how far the tape has been rewound. When the tape has been fully rewound it is ejected automatically.

Jered and Ciera's Awesome Arduino Concepts

These are a few of the concepts we've brainstormed over the pass few weeks. We're still deciding on which topic to choose, but we have a few in mind. The 3 favorable ideas are in orange. Once we've decided the topic, we'll edit this post.

Decided Concept: Alarm Clock
If we have time: Podium (much harder, need to do more research and perhaps use Raspberry Pi instead)



===General===

Anti cookie jar | refuses to open until tasks are done (situps, running)

Nanny bed with alarm clock/floss teeth | when it's time to get up, the air mattress deflates or when it's time to floss your teeth, it inflates as the person is flossing their teeth

Alarm clock that takes a picture when it turns off/ or a mirror that takes a picture when brushing teeth

Voting doors | two doors that count the # people that pass through them. Signage on each door indicates what question they're voting on, ex. best color? vote for red through door 1, vote for blue through door 2.

Sniper lamp | shines at people passing by to blind them

If I were you | a bed that has a light show and displays what it would do depending on the hour and weather (ie  2pm sunny, shows a bed at the park, at 10 pm night, shows a bed sleeping on a futon)

===Twitter based===

Podium | Recording Ums, Tweets Ums, Compiles Movie of Ums (takes the note and fits it into a song)

Lamp | Emotional qualities - happy tweets = up straight; sad tweets = droopy, it tweets places it rather be, emotion is determined by how much electricity is used (comparing to an average)

Selfie chair/mirror/camera | When user or user's friends posts a selfie, it replies with a selfie of itself (ex. a camera taking a picture of itself in the mirror)

Butt collector | Chair that collects information about the people that sit on it (pokemon cards)

Soccer ball follows you / Work bench | Tweets how much exercise  (every time it's lifted)