h1

LAST STEP: Project Development

01/27/2010

Ed eccoci arrivati all’implementazione vera e propria su Arduino del  progetto finale.

Il design fisico del progetto prevedeva alcuni vincoli formali interessanti:

  • uso esclusivo e tassativo di carta/cartoncino
  • uso esclusivo e tassativo del colore bianco (si eccettuavano casi particolari in cui il colore fosse necessario e giustificato, e in ogni caso usato con parsimonia e in forme piatte e monocromatiche)

Seguendo questi principi ecco la (già preannunciata due post fa) forma del personaggio. Un superminimal parallelepipedico robottino con un paio di occhi luminosi e una bocca “della verità” che mostra una lettera dell’alfabeto.

Comportamento del personaggio:

Ogni volta che mi metterò a sedere davanti al computer, il mio sorvegliante accenderà gli occhi come a dire “ti sto osservando, fai il bravo”. Dopo un tot. di tempo che sono seduta (da definire, ma suppongo all’incirca 30 minuti), il mio personaggio inizierà a blinkare gli occhi per avvertirmi che è tempo di alzarmi, prendere un po’ d’aria e in generale cambiare attività per far respirare il cervello: “Forza forza scanzafatiche, alzati e fai due passi!”. E se proprio non sai cosa fare, il motivatore ti suggerirà una lettera randomicamente uscita dalla sua bocca. Una lettera che rappresenterà l’iniziale della parola relativa alla nuova attività da compiere…”S? Staccarsi dal computer!”.

Hardware

Per quanto riguarda le componenti elettroniche utilizzate per lo sviluppo del progetto, ecco di seguito la lista:

SENSORI:

  • pushbotton implementato su supporto di gommapiuma e cartoncino e applicato sulla superficie superiore di una seduta (si ottiene così uno spartano ma funzionale sensore di pressione, o anche meno finemente da me rinominato “culometro”)

ATTUATORI

  • 2 LED dello stesso colore a costituire gli occhi del personaggio
  • 1 LED ad alta intensità interno ad illuminare le lettere del rullo rotante
  • servomotore da me hackerato seguendo un tutorial on-line affinché il movimento fisicamente obbligato di 180 gradi fosse sbloccato ai 360 gradi -> al servomotore è stato applicato una scatola cilindrica con sopra applicata un’etichetta su cui è stampato l’intero alfabeto.

Software:


#include
Servo myservo; // create servo object to control a servo
int buttonPin = 2; //pin position of pushbotton/culometro
int ledint = 4; //pin for led1
int led1 = 13; //pin for led1
int led2 = 8; //pin for led2
int buttonState = 0; // variable to read the pushbutton status
int lastButtonState = 0; // variable to store the last pushbutton status
long duration = 15000; // duration of time sitting on a chair
long startTime; // start time from Arduino powering moment
int activated = 0; // variable to store if someone is sitting on a chair
int luckyLetter = 1;
void holdServo(long tempo){
myservo.detach();
delay(tempo);
myservo.attach(9); //power servomotor
}
void setup() {
Serial.begin(9600);
pinMode(led1,OUTPUT);
pinMode(led2,OUTPUT);
pinMode(ledint,OUTPUT);
pinMode(buttonPin,INPUT);
}
void loop(){
buttonState=digitalRead(buttonPin);
if (buttonState != lastButtonState) { //if no one has sat on the chair turn leds off
if(buttonState==LOW){
// nessuno sulla sedia
digitalWrite(led1, LOW);
digitalWrite(led2, LOW);
digitalWrite(ledint, LOW);
activated = 0;
Serial.println("alzata");
myservo.detach(); // stop servomotor
}
else if(buttonState==HIGH){ //if someone has sat on the chair turn leds on
digitalWrite(led1, HIGH);
digitalWrite(led2, HIGH);
digitalWrite(ledint, HIGH);
activated = 1;
luckyLetter = 1;
Serial.println(luckyLetter, DEC);
startTime = millis();
Serial.println("seduta");
myservo.detach(); // stop servomotor
}
}
lastButtonState = buttonState; //change button State
if ( ((millis()-startTime) > duration) && activated ==1){ //conditions in which duration of the tolerated sitting time has been overpassed
Serial.println("tempo di alzarsi");
Serial.println(luckyLetter, DEC);
int var = 0;
while(var < 20){
digitalWrite(led1,LOW); //blink both LEDs 50 cycles
digitalWrite(led2,LOW);
delay(50);
digitalWrite(led1,HIGH);
digitalWrite(led2,HIGH);
delay(50);
var++;
}
if(luckyLetter==1){
myservo.attach(9); // power servomotor
luckyLetter = 0;
holdServo(5);
long rnd = random(0, 180);
int r = int(rnd);
myservo.write(r);
delay(200+(r*10));
}
myservo.detach(); // stop servomotor
}
}

Ed ecco come funziona il mio personaggio.

NB.: trattandosi di un videoscenario di pochi minuti, il tempo considerato prima che il personaggio inizi a blinkare gli occhi e´stato di 15 secondi. Nella realta´si trattera´di un lasso di tempo ben piu´lungo (es.:30 minuti).

h1

Concept choice

01/27/2010

La scelta dei concepts da portare nell’ultima fase progettuale di sviluppo e implementazione è stata un’attività tendenzialmente difficile e faticosa.

Nonostante sappia bene che la capacità critica e selettiva sia fondamentale per un designer, l’affezionamento ad alcune idee mi ha comunque trattenuto ad esse obbligandomi a non farne a meno in toto, ma a tenerle in considerazione negli iterati processi di scrematura come dei “preziosi scarti-non-scartati”.

Ciò che ne è risultato è un progetto che nasce dalla ibridante e dionisiaca fusione di 3 concepts:

-“esortatore all’uscita/al cambio di attività” -> questo concept rappresenta il caposaldo e la radice vitale del progetto. Il comportamento che assumerà il personaggio che andrò a costruire e che assumerà significato nel contesto del mio vivere è un savio essere che puntualmente mi ricorderà di cambiare attività ogni qualvolta la mia già sedentaria relazione con il computer si prolungherà troppo.

-“suggeritore di risposte”-> oltre a esortarmi a cambiare attività, il mio personaggio mi suggerirà anche che tipo di attività potrà andare a sostituire quella del lavoro(/talvolta -pardon le francaisisme- cazzeggio) al pc. Questo piccolo guru  non mi suggerirà esattamente l’attività, ma una lettera che dovrà costituire l’iniziale della nuova attività da compiere. (es.: “M” -> Mangiare un panino?)

-”grande fratello”-> come una spia (saggia e coscienziosa) il mio personaggio mi sorveglierà dal primo all’ultimo secondo in cui starò seduta davanti al pc. Il countdown parte dal momento in cui mi siedo, non si sgarra!

h1

Bonjour le monde!

01/23/2010

Non è ancora deciso quello che farà.

Ma so come sarà.

Et je l’aime déjà…

h1

Project STEP 3_Creativity (A hundred concepts generation)

01/18/2010

Di seguito il documento contenente gli sketch e le descrizioni dei 100 concepts prodotti in questi giorni per il progetto finale…a seguire la mia personale classifica, con il vincitore (che verrà effettivamente sviluppato su piattaforma Arduino)

Stay tuned!

View this document on Scribd

Ecco la prima fase di selezione dei concept.

  • IN MAIUSCOLO i concept che mi sono risultati più interessanti/affascinanti/utili…e il perché (sono 25).
  • Viceversa, in minuscolo, i primi scartati dalla selezione (anche in questo caso con relativa motivazione)…
1. interessante ma manca il carattere antropomorfo
2. CARINO, PULITO, SEMPLICE. MOLTO LEGATO AL MIO ESSERE, ALLA
MIA PERCEZIONE DELLE COSE E DELLA VITA, DOVE IL TEMPO (METEOROLOGICO) COSTITUISCE UNAVARIABILE MOLTO RILEVANTE
3. DELICATO, ELEGANTE, EMOZIONALE. DECISAMENTE SI.
4. interessante, ma ancora privo di antropomorfismo
5. idea di media utilità, almeno nel mio caso
6. QUESTO MI PIACE, OTTIMO PER SCARICARE LA RABBIA (ORA CI VORREBBE)
7. MANCA LA COMPONENTENTE PROATTIVA DEL PUPAZZETTO. POTREBBE ESSERE
MIGLIORATO AGGIUNGENDO UN COMPORTAMENTO CHE SI VIENE A GENERARE
IN RELAZIONE AL COLORE (E QUINDI EMOZIONE) CHE ASSUME.
8.concept debole
9.utile, ma manca la parte emozionale del toy…è più uno
schiavetto che una presenza morbida e umana
10.concept debole, manca emozione e attiva partecipazione del
toy
11.PER QUANTO SEMPLICE, HA UNA FORTE CARICA INTERATTIVA E
ANIMISTICA
12.simpatico ma ha gli stessi difetti del concept n.9
13.SINESTETICO, EMOZIONALE, COINVOLGENTE INTERAZIONE
14.Concept debole
15.L’idea è carina, ma c’è un problema di “violazione della
privacy”. Un po’ alla Grande Fratello
16.Bello il sistema di randomness, ma da sviluppare in modo più
raffinato
17.Vedi concept 16
18. BELLA L’ESTETICA DELL’INTERAZIONE. C’E’ UNA COMPONENTE DI
GIOCO CHE RENDE IL TUTTO MOLTO “CHALLENGING”…
19.E’ una versione molto poetica di stazione barometrica, ma il
potenziale umanizzante è ancora carente
20.Come concept 20
21.Oggetto passivizzato, non si notano elementi che rendono
proattivo il comportamento del pupazzo
22. Mi piace il fatto di poter comunicare al mondo le mie
emozioni, ma il problema del concept 21 si ripete. E’ più un
mediatore dhe un attore.
23. QUESTA VERSIONE DI “BUTTAFUORI” PIU’ ATTIVA E ARROGANTE MI
PIACE DECISAMENTE DI PIU’ DELLA PRECEDENTE
24. Idea non convincente
25.IL CESTINO SATURO, SE BEN SVILUPPATO è UN IDEA SEMPLICE,
UTILE E EFFICACE
26. MOTIVARE UNA LAMPADA AD ACCENDERSI! ANCHE GLI OGGETTI HANNO
UN0′ANIMA…MI PIACE!
27.Concept povero e dall’interazione univoca e autoreferenziale
28. è un concept volto alla riflessione, ma niente che risponda
a esigenze personali forti
29.ANCHE QUESTA VERSIONE DEL CACCIAPERSONE VA TENUTA IN
CONSIDERAZIONE. IL FEEDBACK ACUSTICO E’ DECISAMENTE UMANIZZANTE
30. FORTE CARICA FUNZIONALE, FORSE CARENTE QUELLA EMOZIONALE?
31. non è facile che gli altri comprendando questo peculiare
orco antifumo
32. Passivo e già visto.
33.UNA GARA CON SE STESSI, I FAMOSI 5 MINUTI. CE LA FARO’ O LA
CLESSIDRA MI SBEFFEGGERA’ ANCORA?!
34.personalmente non così interessante
35. IL MIO PICCOLO GURU DELLE RISPOSTE. HA LA STESSA FASCINOSA
ATTRAZIONE DELL’OROSCOPO DI D DI REPUBBLICA CHE DICE TUTTO E NON
DICE NULLA. MI PIACE, MI PIACE, MI PIACE.
36. Come 35, ma meno bello
37. Né così utile né funzionale
38. Troppo complesso e faticoso da gestire
39. Sicuramente utile per me,  oggetto di riflessione…ma
niente di cosi imprescindibile
40. BELLO! RANDOMNESS, EMOZIONE…MA L’APPORTO UMANIZZANTE
ALL’INTERAZIONE?
41. MI PIACE MOLTO IL FATTO DI DOVER COMPRENDERE LE SFUMATURE
DELL’ALTRO, CHE CI PORTA A NON DAR NULLA PER SCONTATO E A
IMPEGNARSI IN UN RAPPORTO DI RECIPROCA COMPRENSIONE E
AVVICINAMENTO.
42. concept debole
43.i buttafuori fanno per me, ma preferisco la versione rumorosa
o quella luminosa!
44. Interazione univoca
45.46. Li trovo entrambi molto affascinanti e poetici, ma il
progetto deve essere cartaceo…no acqua! Peccato!
47. Difficile da gestire, fastidioso a lungo andare
48. BELLO! PERO’ OVVIAMENTE UMANIZZATO UN PO’ DI PIù…NIENTE
SCRIGNO! :p
49. MOLTO…RIFLESSIVO! RIENTRA NELLA CATEGORIA “OROSCOPO” E
PROFEZIA CHE SI AUTOREALIZZA…UN PO’ RISCHIOSO FORSE (se non
sto un granché, mi può buttare ancora più giù..)
50. Singolare, non c’è che dire…ma non mi convince
51. interazione univoca
52. interazione univoca, manca di antropomorfismo
53. POETICO!
54. E’ piu una lampada che un personaggio
55. Come sopra.
56. Sadismo puro! Manca la proattività dell’oggetto nei
confronti del mondo esterno.
57. QUESTO E’ DAVVERO DELICATO, MI PIACE MOLTO…QUEL FIORE
PERO’  E’ DA RAFFINARE
58. manca di comportamento proattivo.
59. mi piace, ma stesso problema del n.58
60. Ha un che di già strasentito (Tamagochi? Furby?)
61. poco utile, non risponde a vere problematiche
62. Già visto, poco rispondente alle mie esigenze psico-emotive
63. è un lettore mp3?
64. carino…ma so che me ne stancherei presto.
65. HOLY SINESTESIA! PROBABILMENTE TROPPO COMPLESSO?
66. utile, ma a metà…mi dovrei anche ricordare di mettere le
chaivi sopra la testa del pupazzetto ogni volta che entro in
casa!
67. gli umorometri sono tra i miei oggetti preferiti, sono
dubbiosa però sulla realizzazione
68. La storia di sketchy è carina, ma so già che la mia passione
per lui sfumerebbe presto
69. No proattività e comportamenti umani mostrati
70. come 69
71. E’ UN UMOROMETRO MOLTO SPECIFICO, LEGATO A UN SOLO TIPO DI
EMOZIONE. MA NON C’E’ COMPONENTE ATTIVA DEL PERSONAGGIO, SOLO
REATTIVA.
72. very poor concept
73. Bella..viene solo da pensare alla effettiva funzionalità…
74. poor concept
75. Lo voglio! Ma di nuovo…manca il proattivo
76. mi preoccupa la traduzione di sentimenti da analogico a
digitale…
77. lampada interessante, ma pur sempre e solo lampada.
78. concept debole..e poi non so se sono cosi disposta a
mostrare al mondo il mio stato d’animo o quanto meno a far
sapere al mondo che “voglio che oro sappiano” (discorso
intricato, lo so)
79. vedi 77
80. questa volta ad essere passiva, sono io
81. una tombola forse? bocciato.
82. penso che dopo poco tempo smetterei di usarlo come supporto
per il disegno :P
83. elegante e pulito, ma non convincente
84. è maggiore l’interazione fisica che quella psicologica con
il personaggio. bocciato.
85. MI AFFASCINA IL PARADOSSO DEL “VEDO-NON VEDO”. POTREBBE
TRASMETTERMI LA SUA FRUSTRAZIONE E IN ATTO SOLIDALE NON
ACCENDEREI PIU’ LA LUCE GENERATA DAL MIO PERSONAGGIO.
86. manca antropomorfismo
87. com 86
88. QUESTO MI PIACE MOLTO. E’ DI UNA SEMPLICITA ESTREMA, MA SE
BEN SVILUPPATO FORMALMENTE PUO’ NASCONDERE UNA CARICA ESPRESSIVA
INCREDIBILE (nonché incutere una discreta soggezione)-> LESS IS MORE
89. concept debole
90. manca antropomorfismo
91. carino, ma non c’è atteggiamento proattivo di sorta
92. mi caratterizza, ma non ha niente di emotivo/emozionante
93. della serie, è l’umorometro che preferisco. ma ancora non ci
siamo con i comportamenti proattivi.
94. se funzionasse, lo pagherei oro…ma non so come…so che
non funzonerà…
95. un viaggio nel passato, ma ancora una volta non c’è nulla
che renda questo personaggio presenza attiva nella mia vita
96. IL CACCIAPERSONE CHE PREFERISCO, IN ASSOLUTO!
97. questo è davvero troppo complesso e difficile da gestire
98. mi è davvero utile? ok, no…
99. MI PIACE! CHALLENGING, ENGAGING AND INVOLVING. LE COMPONENTI
DI CASO E FORTUNA SONO TRA LE MIE PREFERITE
100. Visualmente troppo complesso.
_______________
Seconda fase di selezione dei concept.
Ho assegnato un voto da (1 a 3 stelle, dove 3 stelle è il massimo) a ciascuno dei 25 concepts che ho trovato più interessanti, emozionanti. Questo mi aiuterà ad arrivare al concept che andrò effettivamente a realizzare.
*** 3-7-26-35-57-88-96
** 2-6-11-18-23-25-29-33-40-41-48-49-65-85-99
* 13-30-53-71
_____________
And the WINNER IS….
h1

PROJECT STEP 2_ (Research&Analysis) If only things could talk

01/08/2010

Prosegue la ricerca di elementi che andranno ad arricchire ed ispirare la successiva fase progettuale creativa.

In questo step di ricerca ho fotografato alcuni tra i più significativi oggetti che mi circondano e ho cercato di pensare a cosa succederebbe se fossero dotati di parola…cosa direbbero?

Cliccando sul link qua sotto potrete scoprire la mia serie di 35 oggetti parlanti. Purtroppo è terminato proprio mentre caricavo le ultime foto il mio spazio gratis su Flickr. Quelle mancanti sono semplicemente pubblicate qua sotto, in questo post :)

http://www.flickr.com/photos/ameliedesign/sets/72157623038287929/

enjoy!

h1

PROJECT STEP 1 (Research&Analysis) – The rhythm of my life in a map

01/04/2010

Di seguito l’ultima di mappa di analisi e ricerca.

Questa rappresenta i ritmi spazio/temporali della mia vita , facendo in particolare riferimento all’ultimo mese (14 dicembre 2009/4 gennaio 2010).

La mappa rappresenta una summa delle due precedenti: le dimensione emotiva interagisce con spazio e tempo e con la dimensione relazionale, arricchendosi e contesualizzando quanto prima delineato in termini più generali e astratti.

per visualizzare la mappa a formato maggiore: http://www.flickr.com/photos/ameliedesign/4244961537/sizes/l/

h1

PROJECT STEP 1 (Research&Analysis) – My map of relationships

01/04/2010

Ecco la mappa delle mie relazioni volta a ispirare il successivo processo di brainstorming e concepts generation.

Nella mappa, attraverso l’uso della legenda e di altri indicatori interni di matrice infografica si possono comprendere dimensioni relative a: distanza geografica/intensità di relazione/canale di comunicazione rispetto ad ogni soggetto inserito nel mio social network di conoscenze.

per visualizzare la mappa in formato maggiore: http://www.flickr.com/photos/ameliedesign/4244676075/sizes/l/

h1

PROJECT STEP 1 (Research&Analysis)_My map of emotions

01/03/2010

Carta e penna, qualche colore…

Ecco la mia mappa delle emozioni (divise per macrocategorie e rappresentate attraverso le espressioni facciali tipiche) con annesse considerazioni su cosa suscita in me ogni tipologia di emozione.

per visualizzare l’immagine in formato maggiore: http://www.flickr.com/photos/ameliedesign/4242166088/sizes/l/

h1

Looking for sensors all around Siena (Simona Conti & Antonio Dell’Ava)

12/18/2009

Scale Mobili

  • Sensore-> Sensore di prossimità

NB: al contrario di quanto pensavamo, non ci sono sensori di pressione che agiscono come elemento di blocco del movimento qualora non ci sia più nessuno sulle scale. Per inferire ciò abbiamo sceso le scale mobili (mentre il movimento meccanico era quello di salita) cercando di rimanere sugli scalini il più possibile. Dopo una ventina di secondi (eravamo solo io e Antonio sulle scale) le scale si sono spente, come se non ci fosse nessuno sopra. Ergo, dopo un certo periodo (delay) le scale si fermano, “sospettando” che nessuno sia più al di sopra. Il ciclo si riattiva ogni volta che qualcuno passa davanti al sensore di prossimità.

____________________________

Touch-screen sede Monte dei Paschi, Piazza del Campo

sensore-> videotracking con webcam + specchio

____________________________

Magazzini del Sale, Piazza del Campo

sensore -> sensore di pressione (si nota la scritta kg/cm3 nella parte bassa dei tre sistemi di visualizzazione dei dati registrati), utilizzato per capire se sono presenti delle falle nella struttura dell’edificio.

sensore-> sensore di fumo/ottico ( calcola la visibilità dell’aria e i relativi repentini cambiamenti di stato)

________________________

Bagni della mensa di Bandini

Sensore -> Sensore di prossimità vicino al rubinetto

h1

Control a servo motor with a potentiometer

12/17/2009

#include <Servo.h>
Servo myservo;  // create servo object to control a servo
int potpin = 0;  // analog pin used to connect the potentiometer
int val;    // variable to read the value from the analog pin
void setup()
{
myservo.attach(9);  // attaches the servo on pin 9 to the servo object
}
void loop()
{
val = analogRead(potpin);            // reads the value of the potentiometer (value between 0 and 1023)
val = map(val, 0, 1023, 0, 179);     // scale it to use it with the servo (value between 0 and 180)
myservo.write(val);                  // sets the servo position according to the scaled value
delay(15);                           // waits for the servo to get there
}

#include <Servo.h>  Servo myservo;  // create servo object to control a servo  int potpin = 0;  // analog pin used to connect the potentiometerint val;    // variable to read the value from the analog pin  void setup() {   myservo.attach(9);  // attaches the servo on pin 9 to the servo object }  void loop() {   val = analogRead(potpin);            // reads the value of the potentiometer (value between 0 and 1023)   val = map(val, 0, 1023, 0, 179);     // scale it to use it with the servo (value between 0 and 180)   myservo.write(val);                  // sets the servo position according to the scaled value   delay(15);                           // waits for the servo to get there }

Follow

Get every new post delivered to your Inbox.