Graphene/TTP223 touch detector

Da raspibo.
Jump to navigation Jump to search

TTP223

Per ottimizzare le gestione ed il rilevamento del tocco è megli utilizzare integrati dedicati perchè sono già ottimizzati per questo scopo.

In questo esperimento utilizziamo una board già pronta che si trova comunemente come sensore tuoch per Arduino, il costo delle brekout board è veramente ridotto (a dire il vero su una board mancava l'integrato) e non vale la pena crearsi un pcb dedicato.

Il produttore del chip dovrebbe essere Tontek ed il datasheet è questo.

L'integrato può lavorare in da 2 a 5.5V ed è possibile risprmiare sui consumi ponendolo in modalità low power con un consumo da 1,5 a 3 microAmpere.

In modalità basso consumo la reattività scende un pò, ma ne vale la pena se alimentiamo a batteria.

E' inoltre possibile tramite saldatura di piazzole passare dalla modalità direct alla modalità toggle:

  • Direct = attivo l'output in occasione del tocco
  • Toggle = col primo tocco accende e col secondo spegne l'uscita.

Breakout board

touch breakout board

La scheda di breakout è doppio strato, la faccia sottostante del pcb è solamente ramata e misura circa 1 cm per 1,5.

Sulla faccia ramata e verniciata è serigrafato un cerchietto che indica la zona in cui viene rilevato il tocco.

Connessione al foglio in grafene

connessione al foglio in grafene

Trattandosi di una connessione di tipo capacitivo, non è necessario avere continuità elettrica tra il grafene e la zona touch! Quindi basta un pò di scotch biadesivo per incollare la breakout board sul foglio e accoppiare capacitivamente le due armature del condensatore.

La modalità di accoppiamento è un grosso vantaggio perchè non è facile realizzare collegamenti con i fogli in grafene non essendo un metallo (quindi non saldabile) e depositato sul film plastico, questo per altre applicazioni risulta problematico, ma per questa è perfetto.

Sul foglio in pet vanno separate le due zone con un taglio oppure rimuovendo il grafene con panno umido.

Aggiustamento della sensibilità

IMG 20161130 172656.jpg

Ricordiamo che rispetto al pad iniziale stiamo collegando una armatura del condensatore con una superficie maggiore e quindi può essere necessario aggiustare la sensibilità del circuito.

Tutto questo è previsto nel datasheet e la board è pronta con due piazzole su cui saldare un condensatore per adattare la sensibilità. La capacità del condensatore aggiuntivo può andare da 0 a 50pF, nelle foto vedrete dei componenti tht perchè non avevo disponibili componenti smd.

Inizialmente senza condensatore avevo parecchie false letture, arrivando anche ad avere lampeggiamenti di led senza tocco.

Tasti del mouse

Per utilizzare questi sensori ho creato un sketch da utilizzare con teensy, che invia al pc il click destro e sinistro.

#define left 12
#define right 11
bool left_pressed = 0;
bool right_pressed = 0;
void setup() {
  Serial.println("click start");
  Mouse.set_buttons(0, 0, 0);
  // put your setup code here, to run once:
  pinMode(left, INPUT);
  pinMode(right, INPUT);
  Serial.begin(115200);
  Serial.println("Start");
}

void loop() {
  if (digitalRead(left) == HIGH && left_pressed == 0) {
    Serial.println("left click start");
    Mouse.set_buttons(1, 0, 0);
    left_pressed = 1;
  }
  if (digitalRead(left) == LOW && left_pressed == 1) {
    left_pressed = 0;
    Serial.println("left click stop");
    Mouse.set_buttons(0, 0, 0);
  }

  if (digitalRead(right) == HIGH && right_pressed == 0) {
    Serial.println("right click start");
    Mouse.set_buttons(0, 0, 1);
    right_pressed = 1;
  }
  if (digitalRead(right) == LOW && right_pressed == 1) {
    right_pressed = 0;
    Serial.println("right click stop");
    Mouse.set_buttons(0, 0, 0);
  }
}

Test

Per verificare il corretto funzionamento dei condensatori ho lasciato per diverse ore il teensy collegato al pc con il monitor seriale a rilevare false letture.

Tutto ok, non ci sono state false letture

Sviluppi

La possibilità di usare fogli in grafene di diverse misure va esplorata, di sicuro con questo sketch si possono creare dispositivi di input di forme fantasiose e magari utili a chi ha problemi con i tasti di un normale mouse.