Marco Pucci

personal website

Tutorial 26 – Arduino Touch Sensor


Tutorial #26 – Arduino Touch Sensor

 

Per vedere tutti i tutorial: www.marcopucci.it/arduino/

 

images (1)
Segui la pagina Tutorial Arduino su Facebook

 

 

Materiale utilizzato: Arduino UNO – Grove Shield – Touch Sensor – 6 Led grandi (10mm), connettore Strip.

 

N.B.: Clicca qui per scaricare il file .zip con tutti gli sketch utilizzati per realizzare il tutorial Touch Sensor.

Questo tutorial è stato realizzato in collaborazione con www.robotics-3d.com che mi ha fornito i componenti per realizzarlo.
Se volete acquistare il kit per realizzare il tutorial “Touch Sensor” cliccate qui.

 

Il Touch Sensor della Grove è un sensore particolarmente efficace e facilissimo da usare. Appena tocchiamo una delle sue quattro antenne Arduino capta questo evento.

arduino-touch-sensor

 

Le quattro antenne (è possibile usarne fino a otto) sono inserite dentro a un controller che a sua volta è collegato ad Arduino. Grazie ai sensori Grove questo collegamento risulta banale perchè dobbiamo solamente incastrare i diversi sensori nella Shield Grove che si applica sopra ad Arduino. Abbiamo già visto questo componente nel
tutorial #24 e vi invito a leggere la prima parte dove viene spiegato il funzionamento dei sensori Grove.

In questo tutorial realizziamo delle frecce luminose per ciclisti poste su uno zaino. Il comando per azionarle sarà inserito nelle bretelle, Arduino in una tasca e dei led luminosi attaccati alle due chiusure lampo dello zaino. Le luci saranno attivabili tramite la pressione della mano sulla bretella. In rete ci sono molti prototipi di questo genere, spesso cuciti su delle giacche o posti direttamente sulla bici. Ho scelto di inserirlo in uno zaino per la facilità di realizzazione, per non doversi sempre vestire con la stessa giacca con le frecce cucite addosso e per non farsi rubare Arduino lasciandolo sopra la bicicletta.
Al di là della semplicità di questo esercizio per me è importante iniziare a giocare con questo genere di sensori per sviluppare nuovi prototipi dove viene richiesto l’utilizzo del tatto.

 Inoltre in questo tutorial affronteremo nuovamente il ciclo FOR per accendere e spegnere le luci, anche questo molto importante perchè è una delle basi della programmazione.

 

 

 

Sensore Touch della Grove
Colleghiamoci alla pagina Wiki del sensore: http://wiki.seeedstudio.com/wiki/Grove_-_I2C_Touch_Sensor
Qui è possibile trovare tutte le informazioni sul sensore e la libreria da installare.
Clicchiamo sul link in fondo alla pagina I2C Touch Sensor Library e scarichiamola. Se non sapete come si installa una libreria di Arduino vi invito a leggere uno dei primi tutorial di questo corso, clicca qui.

 

Apriamo il software di Arduino e clicchiamo su File/Esempi/Grove_I2C_Touch_Sensor_master/example/i2c_touch come riportato nella figura qui sotto.

 

 scketc-arduino

 

Inseriamo la Shield Grove sopra la nostra scheda Arduino.
Colleghiamo alla Shield Grove, nel pin I2C il connettore del sensore Touch.
A quest’ultimo colleghiamo le 4 antenne nei pin CH0, CH1, CH2 e CH3.

Uplodiamo il codice su Arduino e una volta terminato apriamo il Serial Monitor.

scketc-arduino_sensor-grove

 

A seconda dell’antenna che tocchiamo sul monitor appare la scritta pin 1 was touched oppure pin 0 was touched e così via.
La parte di codice che identifica e stampa il numero di antenna che tocchiamo è il seguente:

Serial.print(“pin “);
Serial.print(i);
Serial.println(“ was touched”);

La variabile i è quella che indica il sensore che abbiamo toccato.
Può variare da 0 a 3 ma se acquistate altre 4 antenne potete collegarle al controller e ottenere così la gestione di 8 valori.

 

 

Nel nostro caso dobbiamo controllare se sto solamente toccando la bretella sinistra o destra dello zaino e in quel caso accendere una luce posta dietro per indicare che sto svoltando a destra o a sinistra con la bicicletta.
Stacchiamo i due sensori inseriti in CH3 e CH2 (utilizziamo solamente i primi due) e realizziamo il semplice circuito come nelle figure qui sotto.

 bike-led-turn-signal

 

Costruiamo due piccole strutture dove inseriamo 3 Led. La mia struttura è stata stampata in 3D (nella cartella con gli sketch del tutorial è presente il modello pronto per la stampa). Potete comunque realizzare le due frecce con qualsiasi materiale, cartone, legno, etc… Alle estremità ho inserito due archi per legarle facilmente alla zip destra e sinistra del mio zaino.

 

bike-led-turn-signal_arduino

 

Saldiamo tra loro la massa dei tre Led (la gambina corta) e colleghiamo questo cavo con il segnale GND di Arduino.
Saldiamo tra loro i tre piedini lunghi dei Led e colleghiamoli con un cavo più lungo al pin 13 di Arduino.
Facciamo la stessa cosa con il secondo gruppo di Led: la massa al GND di Ardunio e gli altri piedini al pin 12.

 

schema-elettronico-arduino

Utilizziamo il connettore Strip per tenere i cavi fissati alla Shield Grove, inserite il connettore in modo che entri nei pin GND, pin 12 e pin 13. Saldiamo i due cavi GND dei Led allo Strip che entra in GND, saldiamo il cavo di alimentazione del Led destro sullo strip pin 12 e l’altro cavo del Led al pin 13.

 

arduino-strip

Nella foto qui sotto potete notare che i miei due sensore hanno un filo più lungo rispetto al vostro. Questo perchè dovete realizzare una prolunga tagliando i due fili rosso e nero arrotolati e saldarli con due cavi più lunghi. Questo deve essere realizzato in base alle dimensioni del vostro zaino.

 

 arduino-bike

 

arduino-bag-bike

 

Tre Led possiamo collegarli ad una zip dello zaino (o potete cucirla direttamente sullo zaino). Gli altri tre Led nella posizione opposta. Arduino deve essere inserito all’interno dello zaino in una delle tasche interne.
Potete far passare i fili nei buchi predisposti per le cuffie (molti zaini di nuova generazione hanno questo buco). I due sensori Touch vanno nella bretella sinistra e destra, come nella figura qui sotto.

 

 arduino-bag

 

Apriamo lo skecth _2_frecce.ino scaricato all’inizio del tutorial.
Questo file ha una semplice modifica rispetto a quello precedente.
Andiamo a verificare quale sensore è stato toccato e accendiamo i Led a destra o a sinistra.
In verde la parte che ho aggiunto al vecchio codice.

 

for (int i=0;i<12;i++)
{
if (touchsensor.touched&(1<<i))
{
if(i==0){
digitalWrite(freccia_sx,1);
digitalWrite(freccia_dx,0);
}
if(i==1){
digitalWrite(freccia_sx,0);
digitalWrite(freccia_dx,1);
}
Serial.print(“pin “);
Serial.print(i);
Serial.println(“ was touched”);
}
}

 

Se Uplodate il codice e provate a toccare i due sensori le tre luci di destra o di sinistra si accendono.
Il problema è che non si spengono! Se volete potete inserire un terzo sensore che, se premuto, spegne tutto.
Oppure inserire un delay per spegnere tutto dopo 5 secondi.
Oppure potete far lampeggiare le frecce (per attirare più attenzione) e farle spegnere in maniera automatica dopo tot. secondi. Questa ultima modifica è presente nello sketch _3_frecce_while_do.ino.

 

if (i==0){
digitalWrite(freccia_dx,0);
A differenza di prima, quando il sensore toccato è uguale a zero prima di tutto spengo l’altro Led. 

for (int i=0; i<10; i++){
Con un ciclo FOR spengo e accendo i tre Led a destra ogni mezzo secondo per 10 volte.

digitalWrite(freccia_sx,1);
delay(500);
digitalWrite(freccia_sx,0);
delay(500);
}
}

Il ciclo FOR ripete tutto quello scritto all’interno delle due parentesi { } fino a quando la variabile i (int i=0), che all’inizio è uguale a zero, rimane minore di 10 (i< 10).
A ogni ciclo la variabile i aumenta di una unità (i++).

if (i==1){
digitalWrite(freccia_sx,0);
for (int i=0; i<10; i++){
digitalWrite(freccia_dx,1);
delay(500);
digitalWrite(freccia_dx,0);
delay(500);
}
}

 

Per alimentare Arduino all’interno dello zaino potete utilizzare i carica batterie portatili degli smartphone ormai molto diffusi che potete trovare in tutti i negozi di elettronica.

 

 arduino-bike-led-turn-signal

 

arduino-bike-led

 

 

 

 

 

Licenza Creative Commons

I tutorial sono liberamente scaricabili e condivisibili sotto l’etichetta Creative Commons (non è possibile commercializzarli e modificarli)

 

 

icona_pdf Scarica il Pdf del tutorial “Touch Sensor

 

 

 

 

   
   
Ti è piaciuto il tutorial? Se ti va offrimi un caffè… [paypal-donation]  

 

 

 

 

 

 

Succ Articolo

Precedente Articolo

© 2024 Marco Pucci

Tema di Anders Norén