
Questa mattina, durante la realizzazione e l’analisi dei problemi per il progetto di PCTO: “misura di sedentarietà delle persone sedute alla scrivania” che stanno realizzando i miei studenti di 3′ Elettronica, è nata l’esigenza di associare un doppio controllo per la valutazione della presenza della persona seduta alla scrivania, un controllo effettuato con PIR HC-SR501 ed un sensore di forza resistivo (FSR) inserito all’interno del cuscino della seduta.
Per evitare l’acquisto di un sensore di forza resistivo e non pesare sulle finanze dei ragazzi le modalità sono tre:
- richiesta alla scuola
- compra il Prof.
- farlo costruire ai ragazzi
l’acquisto da parte della scuola o mia non è un problema, ma la terza soluzione è quella che in questo momento prediligo, perché può essere realizzata in 5 minuti, credo che possa gratificare di più lo studente Maker in erba
, inoltre ritengo importante che gli allievi assumano la capacità di costruire il sensore perché ne dovranno ottimizzare l’uso, scontrandosi inevitabilmente con una serie di variabili fisiche che dovranno gestire.
Ma come si costruisce il sensore?
E’ indispensabile piccolo tubo cilindrico non trasparente, preferibilmente nero che possa essere compresso e al termine della compressioni ritorni abbastanza velocemente nella sua posizione di riposo. Possiamo ricavare il tubo sguainando un cavo elettrico o cavo di rete, oppure come ho fatto in questo tutorial, prendendo una guaina termorestingente.
Inserire un diodo LED ad un’estremità del cilindro e dalla parte opposta inserire un LDR.
Collegare il sistema nella solita modalità, inserendo in serie al LED un resistore da 220 Ohm e creando un partitore di tensione tra l’LDR e un resistore da 10KOhm, così come indicato nel circuito indicato di seguito.



Come test di funzionamento utilizzare il semplice sketch che trovate di seguito, nei commenti la spiegazione di tutte le parti del codice.
Aprite la Serial Monitor e premete e rilasciate il tubo

26 | pinMode(pinLed, OUTPUT); |
29 | pinMode(pinLedAlert, OUTPUT); |
32 | digitalWrite(pinLed, HIGH); |
35 | Serial.println( "Sistema di rilevazione seduta" ); |
36 | Serial.println( "-----------------------------" ); |
43 | val = analogRead(misura); |
50 | digitalWrite(pinLedAlert, HIGH); |
51 | Serial.println( "Persona NON seduta alla scrivania" ); |
52 | Serial.print( "Valore letto dal sensore = " ); |
59 | digitalWrite(pinLedAlert, LOW); |
60 | Serial.println( "Persona seduta alla scrivania" ); |
61 | Serial.print( "Valore letto dal sensore = " ); |
Il risultato sulla Serial Monitor è il seguente

Il valore di soglia scelto deve essere ricavato sperimentalmente in funzione della lunghezza e della trasparenza del tubo.
Buon Making a tutti 