project 2-- wearable physical computing (fall 2004) alyssa lees tatiana pevzner

14
Project 2-- wearable Physical Computing (Fall 2004) Alyssa Lees Tatiana Pevzner

Post on 23-Jan-2016

218 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Project 2-- wearable Physical Computing (Fall 2004) Alyssa Lees Tatiana Pevzner

Project 2-- wearablePhysical Computing (Fall 2004)

Alyssa LeesTatiana Pevzner

Page 2: Project 2-- wearable Physical Computing (Fall 2004) Alyssa Lees Tatiana Pevzner

Proposal

• Design and biuld temperature triggered device (a pies of clothing) where temperature changes (ups and downs) light up an el wire.

• Color scheme of garment is changing as temperature outside is changing the suggested response involves two parts :

• 1. a response to the environment itself (visual output of changing color of embedded el wires) and

• 2. a response for the actual user - (ideas include generated heat when the outside temperature becomes sufficiently cold).

• Flickering in light corresponds with individual mood change

Page 3: Project 2-- wearable Physical Computing (Fall 2004) Alyssa Lees Tatiana Pevzner

Goal

• Experiment with the el wire

• Expand upon interaction between people temperature (outside/inside). People tend to wear more clothing as temperature goes up and less as it goes down.

• Make this interaction more engaging

Page 4: Project 2-- wearable Physical Computing (Fall 2004) Alyssa Lees Tatiana Pevzner

Context

• Context-initially we focused our observation on the external temperature changes. this changes became the "trigger points" for interaction

• We constructed a skirt w/elwire going though it and a small plastic box housing all the electronics

• With the censor and the fine tuned code we set a series of actions to light up an el wire in a serial pattern

Page 5: Project 2-- wearable Physical Computing (Fall 2004) Alyssa Lees Tatiana Pevzner

Prototype

Page 6: Project 2-- wearable Physical Computing (Fall 2004) Alyssa Lees Tatiana Pevzner

Prototype

Page 7: Project 2-- wearable Physical Computing (Fall 2004) Alyssa Lees Tatiana Pevzner

Results and Problems

Good Findings-It works!-learned a lot about el wirethe

Bad Findings -difficult to cofigure the el wire-el wire does not light up as smooth as we wanted and not very saddle instead it's flickers

Page 8: Project 2-- wearable Physical Computing (Fall 2004) Alyssa Lees Tatiana Pevzner

User

Page 9: Project 2-- wearable Physical Computing (Fall 2004) Alyssa Lees Tatiana Pevzner

User

Any one who likes a fashion and technology

Galery

Page 10: Project 2-- wearable Physical Computing (Fall 2004) Alyssa Lees Tatiana Pevzner

Code

• DEFINE OSC 4• DEFINE ADC_BITS 10• DEFINE ADC_CLOCK 3• DEFINE ADC_SAMPLEUS 15• TRISA = %11111111 ' SET PORTA to all input• ADCON1 = %10000010• TRISB = %00000000• TRISC = %10000000 'SET FOR SERIAL IN ON PORTC.7 AND OUT ON C.6• 'Constants• inv9600 con 16468 ' baudmode = 9600-8-n-1 inverted• warm_con CON 520• hot_con CON 540• min_brightness CON 100• 'Variables• txPin VAR portc.6• ylLED var portd.1• on_off_sw VAR portd.6;• on_off_State VAR BYTE;• old_State VAR BYTE;• temperature_var VAR WORD;• time_counter VAR WORD;• counter VAR WORD;• brightness VAR BYTE;• gr_elwire VAR portb.4;• yl_elwire VAR portb.3;• rd_elwire VAR portb.2;• 'gr_LED VAR portb.4;• 'yl_LED VAR portb.3;• 'rd_LED VAR portb.2;• elwire_var VAR BYTE;

Page 11: Project 2-- wearable Physical Computing (Fall 2004) Alyssa Lees Tatiana Pevzner

Code

• i VAR byte;• INPUT on_off_sw• OUTPUT txPin• OUTPUT ylLED• ' Initialize by blinking• HIGH ylLEd• PAUSE 300• LOW ylLED• PAUSE 300• HIGH ylLEd• PAUSE 300• LOW ylLED• PAUSE 300• HIGH ylLEd• PAUSE 300• LOW ylLED• PAUSE 300• HIGH ylLED• counter = 0;• time_counter = 1;• on_off_state = 0;• old_state = 0;• brightness = 255;• elwire_var = 2;• main• on_off_state = on_off_sw;• '' for testing

Page 12: Project 2-- wearable Physical Computing (Fall 2004) Alyssa Lees Tatiana Pevzner

Code

• '''''''''''''''''''''''''''''''''''''''''''''• '' check state of on/off switch• '''''''''''''''''''''''''''''''''''''''''''''• If ((on_off_state == 1) AND (old_state == 0)) THEN 'RESET EVERYTHING• brightness = 255; ' refresh brightness to max• counter = 0;• time_counter = 1;• ELSE ' UPDATE the counters• counter = counter + 1; ' update counter• if countER > 100 THEN '> 1000 THEN• counter = 0;• time_counter = time_counter + 1• brightness = (brightness - 1) MAX min_brightness;• ENDIF• ENDIF• old_state = on_off_state• ''''''''''''''''''''''''''''''''''''''''''• ' Get Body Temperature Readings• ' - set to a scale (perhaps 1 to 7)• ' - have set color combinations• ' - store color combinations in an array• ''''''''''''''''''''''''''''''''''''''''''• ADCIN 0, temperature_Var;• 'serout2 txpin, inv9600, ["temperature = ", DEC temperature_var, 13,• 10] '' take this out later• '' right now temperatures are very low• if temperature_var > hot_con THEN• IF elwire_var <> 3 THEN• GOSUB hot• ENDIF

Page 13: Project 2-- wearable Physical Computing (Fall 2004) Alyssa Lees Tatiana Pevzner

Code

• elwire_var = 3;• else• If temperature_var > warm_con THEN• If elwire_var <> 2 THEN• GOSUB warm• ENDIF• elwire_var = 2;• ELSE• IF elwire_var <> 1 THEN• GOSUB cold• ENDIF• elwire_var = 1;• ENDIF• ENDIF• '''''''''''''''''''''''''''''''''''''''''''• ' SET BRIGHTNESS BASED ON TIME• ' Write now brightness scale is from 0 - 255• ' i.e. a byte• ''''''''''''''''''''''''''''''''''''''''''• SELECT CASE elwire_var• CASE 1• pwm gr_elwire, brightness, 1• CASE 2• PWM yl_elwire, brightness, 1• CASE 3• PWM rd_elwire, brightness, 1• CASE ELSE• PWM rd_elwire, brightness, 1• end SELECT• goto main

Page 14: Project 2-- wearable Physical Computing (Fall 2004) Alyssa Lees Tatiana Pevzner

Code

• 'GOSUB• '' set general port to red• hot:• FOR i = min_brightness to Brightness• if elwire_var == 1 THEN• pwm gr_elwire, brightness - i, 1• ELSE '(assume elwire_var = 2 and hence yellow)• PWM yl_elwire, brightness - i, 1• ENDIF• PWM rd_elwire, i, 1• NEXT i• return• warm:• FOR i = min_brightness to Brightness• if elwire_var == 1 THEN• pwm gr_elwire, brightness - i, 1• ELSE '(assume elwire_var = 3 and hence red)• PWM rd_elwire, brightness - i, 1• ENDIF• PWM yl_elwire, i, 1• NEXT i• return• cold:• FOR i = min_brightness to Brightness• if elwire_var == 2 THEN• pwm yl_elwire, brightness - i, 1• ELSE '(assume elwire_var = 3 and hence red)• PWM rd_elwire, brightness - i, 1• ENDIF• PWM gr_elwire, i, 1• NEXT i• retu