Home

Arduino è un po’ come il pongo: è possibile plasmarlo e modificare il comportamento dei suoi ‘piedini’. Osservando la schedina vederete tanti pin contrassegnati da dei numeri. Ogni pin può comportarsi come un tubo da cui l’acqua può uscire o entrare. L’istruzione da utilizzare per definire il comportamento di un pin è: pinMode. Richiede il numero del pin e il tipo di comportamento INPUT o OUTPUT. Nel caso di acqua che esce (OUTPUT), è come se avessi un rubinetto. Questi rubinetti possono avere diversi comportamenti. Abbiamo rubinetti ‘digitali’ che possono essere solo aperti o chiusi, rubinetti analogici (che possono assumere un valore da 0 a 255) o rubinetti PWM.
Un rubinetto PWM è un rubinetto molto particolare. PWM sta per Pulse Width Modulation. Quando ne illustro il comportamento lo chiamo anche il rubinetto fotografico. Immaginiamo di collegarlo ad un led. Al cinema l’illusione dell’immagine in movimento è data dalla sovrapposizione di 24 foto in rapida successione (1 secondo). Il rubinetto fotografico può essere solo aperto o chiuso. Se lo imposto a 0 è come se avessi una successione di 24 foto di un led spento. L’osservatore vedra un led spento. Man mano che apro il rubinetto è come se pian piano sostituisca delle foto di led accesi a quelle di led spenti. Man mano che aumentano le foto di led accesi, sembrerà che l’intensità del led sarà maggiore. Quando il rubinetto è tutto aperto avrò una successione di sole foto di led accesi.
Un pin PWM fa uscire ‘acqua’ ad intervalli regolari; in un secondo avrò un periodo di tempo in cui sarà del tutto aperto e il restante tempo in cui sarà chiuso. Il comando da usare è analogWrite. Il funzionamneto PWM si ha solo sui pin PWM che sono indicati con la sigla PWM o con una tilde ~.

Durante il workshop ho svolto una serie di piccoli esercizi per creare un timer e man mano migliorarlo. Trovate gli sketches e i circuiti sulle slide. Al termine degli esercizi abbiamo ottenuto un timer musicale programmabile. Avrei voluto inserirlo in un pomodoro di lego, ma risultava troppo grande. Vedremo inseguito come risolvere il problema.

Un piccolo inciso.
E’ possibile eseguire test sull’hardware e fare TDD sull’elettronica? direi di sì. Ho indicato possibilità:
– posizionare dei ‘flag’: led o altri checkpoint o punti di misura semplici da verificare
– predisporre dei punti in cui effettuare delle misure più precise (magari intervenendo con un oscilloscopio per verificare l’evoluzione temporale dei segnali)
– creare un circuito che avvolga come un polipo il circuito primario e vada a verificarne il funzionamento mediante dei test programmati nel firmware.

Quest’ultima strada mi pare molto interessante e mi riprometto di approfondirla ulteriormente su queste pagine.

SEZIONE 3 – Il pranzo

Ora possiamo sederci a tavola e goderci quanto abbiamo cucinato. Abbiamo compiuto 4 iterazioni; ogni iterazione era composta da 5 passi:

  • ideazione
  • preparazione
  • verifica
  • deploy
  • evoluzione

Esitono altri modi di procedere? Ai primordi delle mie esperienze elettroniche (inizio anni ’80) per fare dei prototipi era necessario saper saldare e utilizzare delle piastre chiamate 1000fori. Si utilizzano ancora: sono delle basette in vetronite o bachelite forate su di cui si infilano i componenti; sul lato opposto si fanno saldature e collegamenti. Anche se si è bravi ed ordinati, sul lato dei collegamenti si crea spesso un groviglio di cavi e saldature. Ogni modifica al circuito è dispendiosa: richiede destrezza nel saldare e dissaldare i componenti e c’è sempre il rischio di danneggiare quanto si è già fatto (vi pare qualcosa di nuovo?).
Si usano ancora le basette 1000fori, per crare prototipi più stabili di quelli realizzati sulle breadboard.
Per avere prototipi ancora più definitivi si possono realizzare circuiti stampati (PCB) anche a livello amatoriale. Un circuito stampato è una basetta con incise le connessioni tra i componenti. E’ ben poco modificabile.

[fonte immagine Alberto Sordi:  http://www.06blog.it%5D

Lascia un commento

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...