-
All good things come to an end (And then, they start again)

Eccoci alla fine e sarò breve, come i finali dovrebbero essere. Le mia prima volta con la programmazione si conclude felicemente con il primo oggetto che abbia mai fatto in tutto il corso di design. Si tratta di un piccolo oggetto gentile per ricordarmi qualcosa che forse mi dimentico apposta: niente di simpatico la terapia, invece l’oggetto è uscito meglio di quanto potessi auspicare. Non è invasivo, è carino, e perfezionato con delle migliorie potrei regalarlo al reparto pediatrico di qualche ospedale per ricordare dolcemente ai bambini una cosa amara come le medicine. Ovviamente non l’originale quello rimarrà con me.
E ora basta che c’è ancora troppo da costruire :)
Video presentazione:
http://vimeo.com/harduina/videos
Ho unito la scheda tecnica, il concept, le immagini e il codice in due pdf, qui c’è tutto ma proprio tutto da sapere su Me-ow ed è scaricabile qua, in inglese:
Code:
http://www.scribd.com/doc/26234337/Non-Ti-Scordare-Di-Me-ow-Code-Arduino
Presentation ( la scheda tecnica è la seconda pagina)
http://www.scribd.com/doc/26245245/Nonti-Scordar-Di-Me-ow-Presentation
Le foto: http://www.flickr.com/photos/harduina/sets/72157623333674042/
-
Are you going to paradise or are you staying in the hell?

Oggi prototipazione tutto il giorno. Io e altri colleghi abbiamo lasciato l’università, dopo averci perfino cenato, alle 23.20. Il tutto per finire il nostro mostro. Verso fine giornata penso che il mio cervello abbia lasciato il suo posto a tempo indeterminato per un bel paio d’ore perchè non capivol letteralmente più nulla. Quindi se vi dicono che Arduino è per tutti ed è come le Lego, beh NON è così. E’ vero che una volta entrato nella sua logica e nella logica dei circuiti elettronici, dopo aver assodato alcune CERTEZZE fisiche e matematiche, potrete condividere la vostra fantasia in modo ancora più infinito e creare cose veramente fantastiche, persino inventarne di totalmente nuove. Ma ho la certezza fisica che quello avviene solo dopo moltissimi progetti ovvero dopo aver creato, distrutto, bruciato tanti circuiti e dopo svariati MB di codici. Quel paradiso dove le cascate di LED luminosi e psichedelici ti circondano mentre suoni degli strumenti semplicemente chiudendo le palpebre, lo posso intravedere sulla linea dell’orizzonte ma è ben lontano.
Tuttavia sono soddisfatta di queste due settimane di workshop e del mio lavoro specie se penso che ho passato la mia intera vita senza aver mai visto una breadboard, mai aver saputo cosa è un sensore, senza sapere nemmeno dell’esistenza di una una resistenza e senza aver mai nemmeno sentito pronunciare la parola Mosfet. Ora so costruire un circuito base ( ogni tanto sbaglio ancora, vedi oggi), posso fare una ‘lampada’, posso costruire un sensore, posso far muovere qualche oggetto. E sopratutto ho almeno la certezza, sempre fisica, che posso migliorare con il tempo creando più cose.
Nella foto in alto un’immagine simbolica, presa dal fumetto ’ Alita, Battle angel’ che raffigura la città Alta e la città Discarica, come dire la serie A e la serie B, il paradiso e l’inferno. Il mio livello è ancora base ma magari in un futuro dopo almeno 200 circuiti potrò avvicinarmi nella parte alta di costruire macchine a servizio della mia fantasia.
Questo l’intro dovuto, del mio penultimo report del workshop.
Ora pubblico il codice del mio Aiutante della Salute, è corretto e se lo usate così com’è funzionerà tutto. Ovvero reagirà al vostro passaggio illuminandosi, muovendosi e vibrando.
Photocell+Motor DC + LEDS ON/ OFF + Button
const int numReadings = 4;
int mosfetPin = 6;
int readings[numReadings]; // the readings from the analog input
int index = 0; // the index of the current reading
int total = 0; // the running total
int average = 0; // the average
int lucePin = 0;
int ledPin =13;
int ledPin1 =9;
const int buttonPin = 2; // per spegnere
int attivato = 0;
long startTime = 0;
int buttonState = 0; // variable for reading the pushbutton status
void setup()
{
pinMode(buttonPin, INPUT);
pinMode(ledPin, OUTPUT);
pinMode(ledPin1, OUTPUT);
Serial.begin(9600);
for (int thisReading = 0; thisReading < numReadings; thisReading++)
readings[thisReading] = 0;
}
void loop() {
buttonState = digitalRead(buttonPin);
if (buttonState == HIGH && attivato==1) {
attivato = 0;
}
// subtract the last reading:
total= total - readings[index];
// read from the sensor:
readings[index] = analogRead(lucePin);
// add the reading to the total:
total= total + readings[index];
// advance to the next position in the array:
index = index + 1;
// if we’re at the end of the array…
if (index >= numReadings)
// …wrap around to the beginning:
index = 0;
// calculate the average:
average = total / numReadings;
// send it to the computer (as ASCII digits)
//Serial.println(average, DEC);
int differenza = analogRead(lucePin)-average;
int absDifferenza = abs(differenza);
//Serial.println(absDifferenza, DEC);
if ( absDifferenza > 10 ){ // cambiare questo valore per settare la sensibilità
attivato = 1;
Serial.println(“qualcosa si e mosso”);
// attiva motore
for(int v = 0 ; v <= 255; v +=5) {
analogWrite(mosfetPin, v);
digitalWrite (ledPin, HIGH);
digitalWrite (ledPin1, HIGH);
delay(20);
digitalWrite (ledPin, LOW);
digitalWrite (ledPin1,LOW);
}
}
if (attivato == 1){
Serial.println(“attivato”);
analogWrite(mosfetPin, 0);
}
else if (attivato == 0){
Serial.println(“disattivato”);
}
Serial.println(“____________________”);
}
-
“Im doing wrong. I’m playing Wrongville “

Project Materials
Sono quasi le 11.30 pm e io sto ancora dietro il mio piccolo aiutante della salute a scegliergli un bel vestitino che non mi metta ansia la mattina quando dovrebbe entrare in funzione. Dovrebbe perchè finchè non è assemblato e montato, non vivrà. Ho rinunciato al servo motore perchè facendo girare su se stesso avrebbe avuto troppi problemi con i fili e inoltre, essendo il suo corpo di carta non potrò quindi fargli fare esattamente i movimenti che vorrei.
Ho quindi fatto il mio primo ‘hacking’, comprato un joystick con il dual-shock l’ho rotto per estrarne un motore DC e montarlo sulla board. Decisamnete interessante, se penso a tutto ciò che ho in cantina da smontare potrei costruire popolazioni intere di mostri. Se non fosse per un dettaglio, cioè i codici e le resistenze. Le ultime mi hanno provocato un corto circuito oggi mentre il primo, il codice per far eseguire l robot le operazioni ( accensione led, vibrazione) in diversi tempi avendo lo stesso input (nel mio caso la stimolazione della fotocellula attraverso la luce, ovvero quando qualcosa qualcuno passa di fronte al robot) ha occupato invece 5 ore della mia vita e ho tentato di scriverlo pressochè in tutti i modi. Fuorchè quello giusto, che per ora non so ancora. Ho dovuto cambiare codice e adattare le funzioni a quello che Giorgio mi ha scritto quindi se volete un codice per farvi vibrare il vostro oggetto e farlo illuminare ogni volta che ci passate di fronte eccolo.
PHOTOCELL ON, LEDS ON, MOTOR DC ON
const int numReadings = 4;
int mosfetPin = 6;
int readings[numReadings]; // the readings from the analog input
int index = 0; // the index of the current reading
int total = 0; // the running total
int average = 0; // the average
int lucePin = 0;
int ledPin =13;
int ledPin1 =9;
const int buttonPin = 2; // per spegnere
int attivato = 0;
long startTime = 0;
int buttonState = 0; // variable for reading the pushbutton status
void setup()
{
pinMode(buttonPin, INPUT);
Serial.begin(9600);
for (int thisReading = 0; thisReading < numReadings; thisReading++)
readings[thisReading] = 0;
}
void loop() {
buttonState = digitalRead(buttonPin);
if (buttonState == HIGH && attivato==1) {
attivato = 0;
}
// subtract the last reading:
total= total - readings[index];
// read from the sensor:
readings[index] = analogRead(lucePin);
// add the reading to the total:
total= total + readings[index];
// advance to the next position in the array:
index = index + 1;
// if we’re at the end of the array…
if (index >= numReadings)
// …wrap around to the beginning:
index = 0;
// calculate the average:
average = total / numReadings;
// send it to the computer (as ASCII digits)
//Serial.println(average, DEC);
int differenza = analogRead(lucePin)-average;
int absDifferenza = abs(differenza);
//Serial.println(absDifferenza, DEC);
if ( absDifferenza > 15 ){ // cambiare questo valore per settare la sensibilità
attivato = 1;
Serial.println(“qualcosa si e mosso”);
// attiva motore
for(int v = 0 ; v <= 255; v +=5) {
analogWrite(mosfetPin, v);
digitalWrite (ledPin, HIGH);
digitalWrite (ledPin1, HIGH);
delay(20);
digitalWrite (ledPin, LOW);
digitalWrite (ledPin1,LOW);
}
// accendi led
}
if (attivato == 1){
Serial.println(“attivato”);
analogWrite(mosfetPin, 0);
}
else if (attivato == 0){
Serial.println(“disattivato”);
}
Serial.println(“____________________”);
}
In questo codice la funzione della photocell è calcolata secondo una media dei valori di entrata in generale. Mentre quella che avevo fatto io ieri era una semplificazione dei dati. Presi tre valori (minimo, medio, massimo) gli ho associati a tre varianti. Il codice di ieri va benissimo ma se si vuole aggiungere qualcos’ altro è meglio usare una funzione così precisa come questa che mi ha aiutato il buon prof a scrivere.
Mi spiace dover fare solo queste funzioni e non poterne aggiungere una audio, che dopotutto è quella che a me interessava di più. Ora che penso avrei potuto creare cose molto più divertenti, decine di strumenti musicali, usando supporti visivi o di altro genere. Più penso e più mi vengono in mente altri progetti, penso sia ora di staccare il cervello. Mi spiace che domani sia il penultimo giorno, perchè proprio ora che inizio a capire cosa posso creare con Arduino e ad esplorarlo concretamente le lezioni finiranno. Due settimane sono troppo poche per uscire dalla Loserville dei circuiti elettronici in cui abitavo.
-
Jeff Spicoli get out of this room!
Scrivo in ritardo il report di ieri, perchè sono stata a sperimentare il servo motore fino alle 2am e dopo Morfeo mi ha rapito senza possibilit di riscatto.
Eppure ieri avevo parecchie cose da raccontare. Ho scelto il concept da realizzare, o meglio gli eventi lo hanno deciso, dato che mi è stato impossibile installare Windows sul mio computer e il programma per disegnare in 3D. ll mio progetto sarà un piccolo dottore, una tata da ospedale che mi dovrebbe ricordare di prendere le pastiglie la mattina. Francamente è tristissimo e di quelli che avevo creato era esattamente quello che mi piaceva meno. Ma l’importante è imparare più funzioni possibili per poi utilizzare in campi più interessanti.
Soprattutto ieri è successo qualcosa di nuovo, se per tutte queste settimane mi sono sentita di fronte ad Arduino esattamente come Jeff Spicoli, ieri riuscendo a fare il mio primo codice semicomplesso per muovere qualcosa ho iniziato ad adorare Arduino e mi sento un pò meno Jeff Spicoli. Non è detto che non lo sia più.
Questo è il codice del primo step del mio piccolo robot:
Gli Occhi, che si accenderanno con una fotocellula.
int sensorPin = 0; // select the input pin for the pcell
int ledPin = 13; // number 1 LED
int ledPin1 = 8; // number 2 LED
int sensorValue = 0; // variable to store the value coming from the sensor
int variabilesensore = 0;
int fty=0;
void setup() {
Serial.begin(9600);
// declare the ledPin as an OUTPUT:
pinMode(ledPin, OUTPUT);
}
void loop() {
// read the value from the sensor:
sensorValue = analogRead(sensorPin);
if (sensorValue>variabilesensore+2) {
fty =1 ;
}
if (sensorValue<variabilesensore-3) {
fty =3 ;
}
variabilesensore= sensorValue;
Serial.println(fty, DEC);
if (fty!=0){
digitalWrite (ledPin, HIGH); // accendi
digitalWrite (ledPin1, HIGH); // spegni
}
if (fty==0){
digitalWrite (ledPin, LOW);
digitalWrite (ledPin1, LOW);
}
fty=0;
delay (150);
}
-
Beginners Arduino Workshop Cardiff, 27 & 28 February
Beginners Arduino Workshop Cardiff, 27 & 28 February
Platform 1, Chapter Arts Centre, Market Road, Cardiff CF5 1QE
Do you have an interest in open source software, constructing your own hardware, simple electronics or interactivity? This weekend workshop will provide a basic introduction to the Arduino platform for artists, designers and hobbyists. The workshop will be led by Tinker It! ( http://www.tinker.it/), the UK’s leading provider of Arduino training.Arduino is an open-source electronics prototyping platform based on flexible, easy-to-use hardware and software. It’s intended for artists, designers, hobbyists, and anyone interested in creating interactive objects or environments. http://www.arduino.cc/
Places cost £140 and includes a beginners arduino kit to take away.
No prior experience of Arduino or electronics is required to take part.
To book please visit: http://beginnersarduinocardiff.eventbrite.com
For directions to Chapter please visit the website: http://www.chapter.org/planvisit/
The workshop has been organised by Rhys Williams and Stefhan Caddick, and is kindly supported by Chapter Gallery, Ffotogallery, bloc and Powys County Council’s Chance to Create scheme.
Introduction to Arduino
What could be better than spending a weekend learning about Arduino, the favorite open source hardware hacking platform for designers, artists and hobbyists? Aimed at students, artists, and designers or anyone who wants to learn the basics of Arduino, simple electronics and building interactive projects. Tinker.it! has been running monthly workshop around Arduino and its uses in creative uses since 2007. Tinker.it! is a design studio based in London and Milan designing interactive products and spaces for brands, events and museums.What do I need to bring?
Please bring a laptop if you have one, although Ffotogallery have kindly offered to provide them for anyone who can’t access one.If you’re bringing a Mac laptop, then you need to know the admin password for it to install the software)
NB: You don’t need to already know about electronics to come to this workshop.What we will provide
A beginners Arduino kit which you can take away with you after the workshop.Provisional Schedule
SATURDAY
10:30: Introduction to the workshop and round table introductions
11:00 - 12:00: Introduction to physical computing, interaction design and
the history of Arduino
12.00 - 13.00: Getting Arduino on your computer
13:00: Lunch
13:00-1700 Getting started with Arduino
17:30- Drinks at a nearby pubSUNDAY
10:30: Round table presentations of project proposals
11:00 Build your project!
13:00 Lunch
13:00-16:00 More building
17:00 – 17.30 Documentation
http://www.bbc.co.uk
This e-mail (and any attachments) is confidential and may contain personal views which are not the views of the BBC unless specifically stated.
If you have received it in error, please delete it from your system.
Do not use, copy or disclose the information in any way nor act in reliance on it and notify the sender immediately.
Please note that the BBC monitors e-mails sent or received.
Further communication will signify your consent to this.Posted on January 26, 2010 via foomandoonian with 9 notes
Source: foomandoonian
-
frizzzz
Questo è fritzing, con questo programma open-source potrete ricreare fedelmente circuiti con una breadboard virtuale.Perchè l’ho scoperto solo ora??!
-
Do it again
Prima revisione dei concept, non proprio fortunata. Tutto il mio lavoro per creare oggetti che suscitassero sensazioni o emozioni andava per il verso sbagliato.Peccato perchè in quanto non amante degli oggetti, mi interessava la sfida di costruire qualcosa per darmi emozioni che mi mancano qua a Siena. Non penso neanche esista qualcosa del genere in commercio, ci sono sperimentazioni sul ricreare emozioni dal contatto umano o che vorrebbero ricreare qualcosa che solo l’ ‘umano’ può darci e queste le trovo davvero tristi. Ma le sensazioni che ci può dare la natura? Sarebbe interessante ricrearle artificialmente e se non le riproduciamo esattamente uguali possono trasmetterci il ricordo di quelle emozioni e attraverso questo possiamo riviverle.
Devo rivedere alcune idee che non sono state scartate e sto pensando di crearne ancora altre, forse. Stanotte devo fare più disegni di esplorazione e ricerca materiali.La notte porterà consiglio? Per forza.
Sono un pò delusa, a me il surf e le nuvole piacevano così tanto… http://bit.ly/5xnhVU
-
anche queste!
OOPS! Ieri ho dimenticato di inserire anche questi concept.
-
Ogni cosa potrebbe essere illuminata
Il blog non si è spostato nè si sposterà più, rimarrà qua nel cartoncino dei Field Notes, che poi sono esattamente quelli che uso io per gli appunti. I concept che riporto sono quelli più verosimilmente realizzabili, già selezionati. Si può scaricare il pdf qua:
http://www.scribd.com/doc/25663516/Concepts
Kokomo ha preso il titolo da questo: http://www.youtube.com/watch?v=rIWgaqKgqhg

Mentre la lampada dei girasoli, mi ricorda una scena di uno dei miei film preferiti, esattamente questa: http://www.youtube.com/watch?v=82HViB2fdaU
E a voi cosa ispira questa scena?
-
Map 1. What are you made of?
Di cosa siamo fatti? Cosa ci rappresenta, quali sono le nostre azioni quotidiane, ciò che ci caratterizza, il nostro gusto e ciò che ci fare stare bene? Un mappa non gerarchica di ciò che mi caratterizza di più.


-
MAPS
mAps
In attesa di finire di copiare tutto il materiale sul nuovo blog, posto qua le mappe. La parte più ‘core’ in ogni senso del corso e che ha richiesto uno sforzo non indifferente per chi è riservato come me, visto che bisognava tirare fuori ciò che sta dentro. L’emoticon dell’arrossire è questa vero :$ ?