|
Physical computing project
Flower Lamp
Let there Bee light
developed with Magnus Torstesson
How can we enhace a playful interaction with a metaphor?
The flower lamp explores a playful interface for creating
ambient light. The metaphor borrows the shape and the beauty
of a flower and also an association with light, in this case
sunlight.
The lamp consists of 2 parts, a bee and a flower. The bee
contains an IR emitter, and moving it towards the flower causes
green and yellow LEDs to glow. At the same time, a loudspeaker
produces bee-like buzzing from the flower. A permanent light
can be reached by placing the bee inside the flower.
Solution/Approach
Whats a lamp for us?
Our idea is that of an ambient lamp, something connected with
an atmosphere we want to create.
Basic assumptions on an ambient lamp:
-light
-on/off control
-slider control
We choose the flower metaphor because of:
the shape and the beauty of flower
the mental association flower-sun (light)
possible exploration of new kind of interactions
Basic assumption
By creating an interactive lamp the mental model we referred
to evolved between this two objects:
Lamp____ interactive lamp___ Toy
functional_____VS________playful
Interaction
The object is made out of two pieces: the flower lamp
and the bee.
The bee, our queen of the interactivity, works as a playful
slider, when you move it away from the flower the light fade
out, viceversa when you muove it towards the lamp a subtle
bee buzz accompany your mouvement till the centre of the flower
fading up smoothly the light. The light is on till you remove
to bee from the centre of the flower.
Circuits
The flower lamp was realized with a basic stamp. Here
you are the circuits:
1. IR receiver
2. Loudspeaker
3. Green and yellow LEDs
x4
Code
'{$STAMP BS2}
IRIntensity VAR WORD
LED VAR BYTE
target var word
value var word
sound var byte
' 0 input
' 15 LED
value = 0
loop:
high 0
pause 1
rctime 0,1,IRIntensity
' debug ? IRIntensity
target = 251 - IRIntensity
target = target * 256
if target > value then increase
value = value - ((value - target) / 512)
goto endif
increase:
value = value + ((target - value) / 64)
endif:
LED = value / 256
pwm 15,LED,2
sound = target / 256
if sound < 5 then nosound
high 1
' pause 1
low 1
nosound:
goto loop
|