Newsgroup: it.comp.hardware
Titolo: Come funziona una penna ottica?

Salve a tutti!
Sto cercando, per mia curiosità personale, un testo, manuale, risorsa
web o quant'altro che spieghi il principio di funzionamento di una
penna ottica. A quanto leggo, al giorno d'oggi quasi tutte le "penne
ottiche" sono usate come lettori di codici a barre, e per tale motivo
è sufficiente che il sensore sia in grado di riconoscere le variazioni
di colore.
Ai vecchi tempi dello ZX Spectrum, però, io ricordo che avevo una
penna ottica che poggiavo sullo schermo, e il computer riconosceva la
posizione della penna sullo schermo permettendomi di disegnarla.
Vorrei trovare qualche informazione su come funziona il meccanismo in
base alla quale viene riconosciuta la posizione della penna sullo
schermo. Qualcuno può aiutarmi?
Grazie mille sin d'ora
Marco



Per sommi capi, ti posso dire che il software che gestisce la penna "vede"
se il sensore (generalmente un fotodiodo abbastanza veloce da percepire la
differenza tra lo schermo "illuminato" e non) in qull'istante riceve un
segnale o meno. In base a questo, al tempo di refresh del monitor (quindi
deve sapere la frequenza di aggiornamento del monitor e la velocità del
raster) e ad altri parametri, calcola dove si trovi la penna sullo schermo
e la fa interagire con quello che sta sotto (ad esempio, alla pressione di
un tasto potrebbe colorare il pixel sotto la penna in maniera diversa).
La parte elettronica è abbastanza semplice da costruire (tranne che con i
monitor di adesso servirebbe un fotodiodo molto più sensibile di quelli
usati ai tempi dello Spectrum). Altro discorso è per il software. In ogni
caso, date le performances degli odierni monitor (e soprattutto l'entrata
in commercio dei monitor LCD) non è più consigliabile utilizzare
apparecchi del genere. Molto meglio una tavoletta grafica (che sfrutta un
principio simile, ma la superfice di contatto non è il monitor bensì una
tavola con sensori magnetici, di solito).
Per il resto, se fai una ricerca approfondita su google, dovresti trovare
parecchio materiale.
Ciao e scusa se ci dovessero essere imprecisioni, ma vado di fretta.

parecchio materiale.
Purtroppo, qui sta il problema, la ricerca su google è la prima cosa
che ho fatto in assoluto, ma non ha prodotto nessun risultato utile.
Sia con penna ottica che con optical pen (condita da termini di
ricerca), otteniamo una serie di articoli su pezzi in vendita (come ad
es. le chiavette usb)... Saresti così gentile da fornirmi qualche link
più dettagliato?
Grazie infinite
Marco

schermo. Qualcuno può aiutarmi?
Spero di essere stato chiaro :-)

Spero di essere stato chiaro :-)
Chiarissimo, grazie mille!
Solo un'altra domanda... Come fa "l'apposito software" a sapere dove è
il pennello del video?
Non ti chiedo l'algoritmo per determinarlo, che sarebbe sicuramente
piuttosto complesso; il mio dubbio è di natura tecnologica.
Il video è un terminale di output: come fa il pc a tenere traccia di
dove è il punto cliccato?
Ok, la penna gli dice "in questo momento è passato il pennello sotto
di me". Ma come può il pc sapere dove è il pennello, visto che il
video non glielo dice?
Ho usato il termine "video" non a caso; infatti, magari potrei pure
pensare che il monitor sia in grado passare l'informazione, ma non
credo proprio che un comune televisore (come quello che usavo con lo
Spectrum) sia in grado di farlo!
E allora, in che modo viene trasmessa questa informazione?
Grazie ancora, comunque!
M.

schermo. Qualcuno può aiutarmi?
Cerchero' di spiegare la cosa chiaramente, come funzionava ai tempi dello
Spectrum o del mitico C=64. Oggi il concetto si e' evoluto, ma la base
rimane la stessa. Dunque... :-)
La penna ottica, non emette luce. Non e' una "penna laser", come alcuni la
chiamano. E' vero il contrario: legge la luce che proviene dallo schermo.
Sulla punta della penna c'e' un fotodiodo che legge la luce proveniente
dal monitor. Ora, un piccolo antefatto.
Nel monitor di un PC o di una TV, l'immagine viene disegnata dal cannone
elettronico che, riga per riga e colonna per colonna, illumina uno per uno
tutti i pixel del video caricando i fosfori che ci sono subito dietro allo
schermo. Quando il cannone colpisce un fosforo, questo si "carica"
emettendo un flash, poi man mano la luminosita' diminuisce. L'occhio umano
non nota il fenomeno del flash con successivo decadimento solo perche'
l'operazione e' MOLTO veloce.
Un fotodiodo, invece, puo' percepirla benissimo, e puo' ben distinguere la
luce di un pixel illuminato "di residuo" da uno "flashato" perche' colpito
in quel momento dal cannone.
Il software della penna ottica legge istante per istante, nei registri
della scheda video, la posizione del cannone elettronico.
Cosi', nel momento il cui la penna rileva un flash, il software legge in
che posizione e' il cannone in quel momento e, di conseguenza, dove e' la
penna ottica.
Facile, no? :-)
Ciao! :-)
-- 
-----
  | NFINITY is so far as you want to see.
-----
Se vuoi rispondermi in E-Mail, ripassa le divisioni. ;-)

il pennello del video?
Entro nelle ipotesi :-)
Quando il pennello viene rilevato dalla periferica parte un input
dalla periferica stessa. In quel preciso istante, ma non so come, il
PC sa dove il pennello si trova, perchè è il PC che fa uscire il
segnale video che disegna l'immagine a video.
A questo punto basta associare l'input alle coordinate del pennello e
il gioco è fatto.

segnale video che disegna l'immagine a video.
Infatti, e' proprio cosi' che funziona.
Il software legge i registri della Sk video per sapere dov'e' il cannone
elettronico, in quel momento.


 PC sa dove il pennello si trova,
frequenza di refresh ...
se per esempio è di 50 Hz
vuol dire che ogni 20 ms il fotodiodo riceve il segnale
basta calcolare il ritardo tra lo start della generazione del quadro
da parte della sk video e l'output del fotodiodo
se nell'esempio precedente
la differenza temporale tra l'inizio della generazione (prima pennellata)
e il segnale del diodo è di 10 ms
la penna sarà a meta schermo
(e così via con valori diversi)
maurizio

il pennello del video?
Di solito l'ingresso della penna ottica e' collegato direttamente
sulla scheda video (la scheda video e' quindi predisposta), ad esempio
la vecchia CGA, la posizione del raster viene quindi letta nei
registri della scheda.
Se guardi nella documentazione della CGA oppure nelle funzioni del
BIOS video (int 10h) trovi un accenno a questi registri.
---
ciao, acc(at)
libero.it



Grazie anche a te per le informazioni!
E come fa lo Spectrum a sapere qual'è la frequenza di refresh del mio
vecchio Panasonic, piuttosto che del mio nuovo Sony 100Hz 16:9??
Ciao!

Ciao! :-)
Facile, lo so che sono io che sono di coccio, ma continuo a non capire
come fa la scheda video, che è un componente del computer, a leggere
la posizione del cannone, che è un componente della TV. Su di esso non
ha controllo, la TV va per conto suo...
E allora, la scheda video come fa a conoscere la posizione del
cannone?
Ok, conosce la frequenza... che immagino sia uno standard per tutti i
televisori. Però se non ho capito male la frequenza ci dice che, se il
cannone è in un punto, ci sarà esattamente dopo x secondi. O che se
passano y secondi allora il cannone sarà nel punto (k,m)... Ma se io
non so dove era il pennello nel momento in cui ho acceso il
calcolatore, come faccio a sapere dov'è sullo schermo il punto che ha
illuminato il diodo??
Grazie ancora!!!!

cannone?
Non e' che conosce la posizione del cannone: lo COMANDA.
In tutte le schede video del mondo, a valle di tutto l'hardware 2D, 3D e
bischerate varie, c'e' il RamDAC, cioe' il componente che prende
l'immagine in formato digitale contenuta nel frame-buffer della Sk video e
la trasforma in segnali analogici che, subito dopo, vengono inviati al
monitor e/o televisore in sincronia con l'attivita' del cannone.
Quando tu cambi frequenza di refresh del monitor, oppure cambi risoluzione
video, quello che fai effettivamente e' dire al RamDAC di controllare il
cannone elettronico in un modo differente.
La scheda video, ripeto, non si limita a conoscere la posizione del
cannone: lo controlla proprio di suo.


 vecchio Panasonic, piuttosto che del mio nuovo Sony 100Hz 16:9??
è la scheda video che "impone" una frequenza al monitor
e non viceversa  :-)
cmq la penna può anche controllare questa frequenza
basta calcolare il tempo che passa tra due segnali
maurizio

 illuminato il diodo??
la scheda video "genera" l'immagine secondo certi tempi (fr.refresh)
il monitor serve solo a "visualizzare" questa immagine
seguendo le precise direttive della scheda
(cioè è un componente passivo)
quindi il PC sa esattamente quando è iniziata la visualizzazione
di un quadro (la genera lui...)
maurizio

 risultato?
La penna ottica su monitor, così a naso, immagino funzioni come un sistema a
ciclo chiuso:
ipotizziamo che tu usi un programma per disegnare direttamente sullo
schermo. Tu la punti sullo schermo e il software cambia il colore dei pixel
uno per volta e individua il punto dove è posata la penna in base alle
risposte che ne ottiene. La frequenza di spazzolamento di una tv è molto
alta per l'occhio umano (50 Hz vuol dire che in un secondo viene aggiornato
l'intero schermo per 50 volte) per cui se lo schermo è bianco tu non lo vedi
ma un puntino, nero per esempio, compare ogni 2 centesimi di secondo in un
punto diverso dello schermo fino a quando non compare sotto la penna ottica.
Suppongo che se tu punti la penna su uno schermo che non sia quello
collegato al computer, comparirà un puntino nero ogni volta che la penna
ottica rileverà un cambio di colore davanti al suo sensore. Visto che, in
questo modo, il ciclo non è chiuso ma è aperto e non controllabile, il
disegno che otterrai sarà ottima arte astratta! ;-)))
--
Lamps
Speedy Gonzales
www.TDMitalia.net
La Mailing List degli appassionati
di Yamaha TDM