Supponendo che il segnale dell'encoder vari fra 0 (ground o massa) e 24V, e che le masse dell'encoder e di Arduino siano connesse assieme, puoi fare un partitore resistivo all'ingresso del pin di Arduino. Collega l'uscita dell'encoder a una serie di due resistenze, la prima da 10 kOhm e la seconda da 2,2 kOhm. Collega l'altra estremità della resistenza da 2,2 kOhm a massa. Collega il pin di ingresso di Arduino alla connessione fra la resistenza da 10 kOhm e quella da 2,2 kOhm. Il livello HIGH dovrebbe aggirarsi sui 4,3V.
ATTENZIONE! Se non sono (o non possono essere) soddisfatte le condizioni iniziali (masse connesse, etc.) rischi di bruciare Arduino. Se l'estremità della resistenza da 2,2 kOhm si staccasse accidentalmente da massa Arduino si troverebbe 24V sul pin. (POOF!)
Thejuster:
Ciao stefa grazie della risposta ma non ho capito cosa è, che funzionamento ha e come possa fare per k leggere i dati da un encoder. Il mio encoder e alimentato a 24v
Vediamo, chiedi come interfacciare un "encoder a 24V" ma non hai capito cosa è, il suo funzionamento, e come si leggono i dati. Pensa che non sei il solo, anche io non ho neanche capito di quale encoder parli, e perché sia "a 24V"... Intenderai mica un MOTORE a 24V, con ENCODER INTEGRATO?
Metti un link al "coso" di cui parli, così magari capisco/capiamo meglio anche io/noi...
Se si tratta del classico encoder industriale le uscite sono quasi sempre del tipo open collector, o open drain, pertanto basta mettere una pull up a 5V per leggerlo da arduino.
Però senza sapere di quale encoder stiamo parlando si possono fare solo ipotesi.
I 24V sono l' alimentazione dell'elettonica del encoder. Ho anch io il sospetto che le uscite siano Open Collector; ma senza sapere il modello sono sospetti.