Ciao a tutti, da poco sto progettando un voltmetro con arduino da 0-30V, il problema è che i pin di arduino sono alimentati da 0-5V, quindi per risolvere questo problema bisogna realizzare un partitore di tensione per collegare ad uno dei pin analogici il punto di serie tra i due resistori.
Ho scelto come primo resistenza una 100Kohm, per la seconda me la sono trovata ponendo Vmax = 30V e R1 = 100Kohm e sostituendo i valori a Vr2 ossia la tensione che entrerà nel pin analogico. E mi sono trovato la seconda resistenza ossia 20Kohm. Adesso una proporzione mi riesco a ricavare i volt del punto di serie:
Vs = (value_A5*5.0)/1023.0
da questo valore posso trovare i volt misurati:
Vrot = vs*Rtot / R2
Adesso il problema è che sulla scheda fisica la misura non avviene. Mi genera dei valori non corretti l. Però su Tinkercad tutto va perfettamente.
Buongiorno e benvenuto nella sezione Italiana del forum,
prima di tutto ti segnalo che, nella sezione in lingua Inglese, si può scrivere SOLO in Inglese ... quindi, per favore, la prossima volta presta più attenzione in quale sezione metti i tuoi post; questa volta esso è stato spostato, da un moderatore della sezione di lingua Inglese, nella sezione di lingua Italiana ... la prossima volta potrebbe venire direttamente eliminato, dopo di che ...
... cortesemente, leggi attentamente il REGOLAMENTO di detta sezione, (... e, per evitare future possibili discussioni/incomprensioni, prestando molta attenzione al punto 15) e poi, come da suddetto regolamento (punto 16.7), fai la tua presentazione NELL'APPOSITA DISCUSSIONE spiegando bene quali esperienze hai in elettronica e programmazione, affinché noi possiamo conoscere la tua esperienza ed esprimerci con termini adeguati.
Grazie,
Guglielmo
P.S.: Ti ricordo che, purtroppo, fino a quando non sarà fatta la presentazione nell’apposita discussione, nel rispetto del succitato regolamento nessuno ti risponderà (eventuali risposte o tuoi ulteriori post, verrebbero temporaneamente nascosti), quindi ti consiglio di farla al più presto.
Con la barra rovesciata non funziona! (a parte che, se non usi il "CODE", succedono cose come l'asterisco che non appare perché è usato per il corsivo, per il grassetto e per il corsivo grassetto!)
Nel codice ovviamente ho usato /, nel posto involontariamente ho usato , ti ringrazio del feedback.
P.S.
Anche se avessi scritto nel codice \ mi avrebbe generato un errore di sintassi e me ne sarei accorto. Il problema secondo me sta nella lettura del pin analogico.
Che valori ottieni? Quali sarebbero quelli corretti? Considera che vin e vout sono double, cioè uint32_t, quindi interi a 32 bit!
Ooops!...
Su Arduino Uno, double è uguale a float; su Arduino Due, double è a 64 bit.