Pagina 1 di 2

Touchscreen. Da dove iniziare?

MessaggioInviato: 31 mar 2014, 15:55
da Cox
Mi piacerebbe provare a realizzare una "semplice" applicazione tipo accendi un led utilizzando appunto uno schermo tattile, sapreste consigliarmi in merito ?

Re: Touchscreen. Da dove iniziare ?

MessaggioInviato: 1 apr 2014, 7:42
da g.schgor
Ci sono diverse tecnologie.
Per es. lo schermo resisteivo può essere controllato da un PIC che pilota un display LCD

Re: Touchscreen. Da dove iniziare ?

MessaggioInviato: 1 apr 2014, 10:15
da Cox
Grazie Sig. Giovanni, parto da qui. Con i PIC non sono proprio digiuno, ora vedo se ne trovo con il contenitore PDIP che riesco a maneggiarli meglio.

Re: Touchscreen. Da dove iniziare ?

MessaggioInviato: 2 apr 2014, 12:53
da redfox001
Salve sono nuovo di questo forum in effetti.
Ho finito da poco proprio una progettazione in cui ho utilizzato un touch resistivo che consiglio in quanto più economici anche se è da dire che poi la sensibilità e precisione al tatto non è quella di uno smartphone ma comunque maneggevole.
L'utilizzo è più facile di quanto si possa pensare, prendendone uno semplice non molto grande in genere ha 4 contatti ciòè in pratica nient'altro che i capi di 2 potenziometri nei quali a turno farai scorrere la corrente e la rispettiva caduta di tensione sarà letta da un micro fornendogli delle coordinate ben precise e così individuando ogni punto esattamentecon il quale attivare led o quant'altro.
Quindi basta saper gestire una lettura con conv. A/D con un PIC con 2 ingressi analogici e altri 2 di ritorno per i 2 potenziometri appunto che identificano l'asse x e y, una volta mandi la corrente in uno e misuri dall'altro e poi viceversa mandi la corrente nell'altro e misuri da quello opposto ed il gioco è fatto, il funzionamento è questo con un minimo di sperimentazione ed il gioco è fatto, ultima cosa ovviamente nel mandare la corrente al modulo touch va limitata la corrente co una resistenza in base alla corrente supportata dal modulo (datasheet).

Re: Touchscreen. Da dove iniziare?

MessaggioInviato: 2 apr 2014, 17:33
da Cox
Grazie anche a te redfox001 detta così sembra semplice. quindi un valore resistivo e per le ascisse e l'altro per le coordinate, elaborandoli insieme si ha il punto del tocco. ma in che ordine di grandezza si ha la variazione resistiva in un paio di cm di tuch pad ?

Re: Touchscreen. Da dove iniziare?

MessaggioInviato: 2 apr 2014, 17:58
da redfox001
Ciao, della variazione resistiva in se stessa ti interessa ben poco perché questa genera una tensione che andrà letta ed in genere è sufficiente da sé (ciòè senza ulteriori amplificazioni) a dare un dato abbastanza attendibile discriminando anche con un'approssimazione di 2,3 mm un punto dall'altro, poi giocando un minimo sui valori di resistenza, nei limiti massimi della corrente da datasheet si può far scorrere nel modulo, si può ampliare il range di tensione disponibile facilitando la lettura.

Riguardo questo dipende dalla qualità del touch aldilà che sia resistivo o meno e molto dal convertitore A/D utilizzato consiglio almeno un 10bit per un tastierino numerico se invece serve meno precisione anche un 8bit, in pratica il pennino o dita con cui si tocca non è nient'altro che il terzo terminale dei 2 potenziometri che vanno a generare una doppia caduta di tensione il quale identifica un punto ben preciso.

Se posso darti una dritta a te e chiunque voglia farsi un po' d'esperienza in questa materia a basso costo, riguardo il touch c'è quello della nintendo ds normale o xl che si trova nei negozi di ricambi nintendo appunto online, che è già ben collaudato ed a costi di pochi euro anche, per quello a 4 contatti il pin 1 e 3 sono un asse ed il 2 e 4 l'altro asse di coordinate in genere così per tutti i moduli a 4 pin e verificando difatti con un ohmmetro tra un capo all'altro si leggerà il loro valore e se sono integri.

Re: Touchscreen. Da dove iniziare?

MessaggioInviato: 2 apr 2014, 20:19
da DanteCpp
Ciao, se il sensore ti serve solamente per accendere un led, forse, può interessarti il sistema che ho adottato qualche giorno fa, per realizzare un MIDI pad controller...
Il sistema è gestito da un micro a 8 bit, l' atmega328 il sensore di tocco è implementato grazie alla libreria scritta in c++ che ti allego sotto.

CapacitiveSensor.zip
(3.21 KiB) Scaricato 239 volte




Pin1 e Pin2 appartengono a una porta i/o digitale del micro, Pin1 può essere in comune tra vari sensori(naturalmente ognuno deve avere la propria resistenza).

Ecco un'abbozzo di codice...

Codice: Seleziona tutto
#include "CapacitiveSensor.h"

#define TOLLERANCE 20
#define N_SAMPLES 100

void main()
{
    CapacitiveSensor s_1 = new CapacitiveSensor(Pin1,Pin2);
    while(1){

        if(s_1.capacitiveSensor(N_SAMPLES)>TOLLERANCE){
          //turn on the led
        }
        else {
            //turn off the led
        }
    }
}


Naturalmente ogni sensore è in grado di rilevare solamente il tocco, non puoi determinare l'esatta posizione in cui viene toccato il foglio d'alluminio, se vuoi aumentare la sensibilità puoi diminuire la resistenza tra il foglio e Pin1.

Ecco il video dal MIDI controller:



Saluti,
Dante.

Re: Touchscreen. Da dove iniziare?

MessaggioInviato: 3 apr 2014, 13:56
da Cox
Grazie Dante, interessante e ben presentato. La mia idea è quella di fare esperienza proprio con il display touch. La tua proposta però mi incuriosisce...

Re: Touchscreen. Da dove iniziare?

MessaggioInviato: 5 apr 2014, 15:14
da stefanob70
L'idea e' senz'altro interessante,ma il video andrebbe reso piu' presentabile e dettagliato.
Le ultime riprese sono capovolte...

Re: Touchscreen. Da dove iniziare?

MessaggioInviato: 5 apr 2014, 16:23
da DanteCpp
:mrgreen: si,
il video l'ha fatto mio fratellino, tra l'altro si sente anche la tv che viene dall'altra stanza...

...non faccio un altro video perché quell'aggeggio l'ho costruito solo per gioco! Non l'avrei nenche pubblicato, se non fosse calzato con questo post...

PS. molto figo l'articolo su il cibo riscaldato per induzione! =D>