Ciao, per la mia tesina di laurea devo sviluppare una tastiera fatta con sensori di tocco di tipo piezoelettrico (i sensori non il tocco :-) ).
La cosa funzionerebbe più o meno così, stando ad un preprototipo che ho visto in dipartimento (usava però un solo sensore, e si interfacciava col pc tramite porta seriale): la matrice di sensori è collegata ad una schedina elettronica con uno stadio amplificante, vari filtri, e un PIC per la trasmissione su seriale. Non era connessa ad un pc però, ma ho visto un video nel quale la schedina era collegata ad un oscilloscopio e si visualizzavano i segnali generati dal piezoelettrico toccandolo.
La mia intenzione, come specificato sul NG it.comp.lang.c, era di usare la porta USB (almeno fino a quando non ho iniziato a capire come funziona ^_^). Mi sono state date molte dritte da brix99luftballons che spero si vorrà accodare pure qui, ma siccome le questioni sollevate sono quais esclusivamente hardware, mi sembra più opportuno chidere qua.
Questo è il messaggio al quale faccio riferimento:
Sul lato host, dipende dal sistema che usi e da che programma vuoi
> realizzare...
> se vuoi fare colpo, puoi realizzare una interfaccia grafica con tanto di
> effetti di
> scena, istogrammi, statistiche, simulazione di mouse ... la fantasia non
> ha
> limiti....
Ottime idee..cmq il progetto definitivo lo stendo la settimana prox col mio responsabile di tesi.
Oppure, se non disponi di VS, puoi realizzare il tutto in java con eclipse
> o un qualche altro framework free.
Sì, a questo punto penso di usare Java+Eclipse (ho discreta conoscenza, sono informatico del resto :-) )
Allora, presupponendo che il tuo device USB sia un profilo seriale,
> non devi fare niente... in genere Windows riconosce questo tipo
> e lo espone come porta seriale standard [Virtuale](che so, COM5 etc..),
> Il tuo programma si limita a visualizzare le porte seriali a disposizione
> e l' utente sceglie semplicemete quella a cui è collegata il tuo
> dispositivo,
> imposta il baud-rate etc, il tutto utilizzando le API standard per la
> gestione
> delle seriali...tutto qua.
Mi sembra davvero fantastica una cosa del genere! La mia domanda, però, è: la USB sarà a tutti gli effetti una seriale (incluso, quindi il limitè di velocità), o sarà comunque una "seriale potenziata"? In questo caso, la scelta della tipologia di trasferimento (Low-Full-High) quando e come viene fatta?
Sono fattibilissime, ma richiedono esperienza,una buona conocenza del
> protocollo USB e un minimo di confidenza con strumentazione tipo
> oscilloscopio
> o logic-state analyzer...tutto qua.
Il protocollo lo sto studiando, l'oscilloscopio sono in grado di usarlo, un L-S A non so cosa sia ^_^
ho usato sia i PIC che gli AVR, e secondo me i micro AVR (Atmel) sono piu'
> semplici da usare, anche perche' dispongono di un compilatore C gcc free
> integrabile nell' ambiente di sviluppo , mentre per i PIC il compilatore C
> non e'
> parte dell' ambiente free ma lo devi comperare a parte (a meno che non lo
> possiedi gia').
In dipartimento hanno da sempre usato i PIC, penso che compilatori e programmatori ce li abbiano. Io cmq ho un paio di programmatori, uno seriale e uno parallelo. Come software usavo ICPROG
Semplicemente la porta seriale del tuo micro va collegata al chip e basta:
> In questo modo, tu usi il bus USB, ma lavori come se usassi due semplici
> porte
> seriali: sul lato HOST ti trovi i driver gia' fatti e ti devi concentrare
> solo sulla
> tua applicazione, sul lato device, devi solo sceglierti una CPU adatta che
> abbia almeno una UART a disposizione...
Non mi sembra male, ma ti chiedo: è più formativo lavorare in modo più tradizionale, o è altrettanto formativo usare questi chip?
Molte grazie ancora