Graphene/Test touch sensor
Test touch sensor
Per questo test utilizzo Teensy versione 3.1, questa versione ha la possibilità di gestire ingressi touch (non ho trovato molto a riguardo, ma qui c'è qualche informazione in più https://blog.adafruit.com/2012/10/19/teensy-3-0-software-update/ sezione Touch Sensing), purtoppo funziona solo con la pellicola più scura, ma va poi valutato meglio se ci siano altre possibilità.
Il codice di seguito permette di visualizzare i valori letti e attivando la funzione Serial Plotter dell'IDE di Arduino (presente nelle ultime versioni).
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
}
void loop() {
// put your main code here, to run repeatedly:
Serial.println(touchRead(23));
delay(100);
}
Mi sembra di capire che non sia possibile settare la sensibilità perciò l'uso è limitato alla sola pellicola più conduttiva.
La realizzazione è molto semplice perchè basta collegare un pin di Teensy alla pellicola, magari usando una graffetta.
https://blog.adafruit.com/2012/10/19/teensy-3-0-software-update/
- Teensy touchread
Un programma un pò più completo per dimostare con un led RGB che le pellicole possono essere usate come pulsanti per aumentare o diminuire un valore.
int val;
long calc;
long tasto_piu;
long tasto_meno;
const int ledPin_r=21;
const int ledPin_g=5;
const int ledPin_b=6;
const long soglia_tasto_piu=2400;
const long soglia_tasto_meno=2400;
const int inc=20;
void setup() {
Serial.begin(9600);
}
void loop() {
tasto_piu=touchRead(22);
Serial.print(val);
Serial.print("\t");
Serial.print(tasto_piu);
Serial.print("\t");
tasto_meno=touchRead(23);
Serial.println(tasto_meno);
if (tasto_piu>soglia_tasto_piu && val<=3072) {
val=val+inc;
}
if (tasto_meno>soglia_tasto_meno && val>=0) {
val=val-inc;
}
if (val>2048) {
analogWrite(ledPin_g, val-2048);
} else {
analogWrite(ledPin_g, 0);
}
if (val>1024) {
analogWrite(ledPin_b, val-1024);
} else {
analogWrite(ledPin_b, 0);
}
analogWrite(ledPin_r, val);
delay(50);
}