Go Down

Topic: grossa incomprensione con i pin analogici (Read 702 times) previous topic - next topic

ilmandorlone

ma se io voglio scrivere su un pin analogico 5V e uso
Code: [Select]
analogWrite(5, 1023);
sono 5 V o è un segnale digitale che viene alternato a "0" "1" per far risultare una media di 5?
se uso il codice di sopra e attacco il tester il risultato è 1,59 ma non è stabile.
dato che sta tensione voglio in seguito vederla su oscilloscopio mi servirebbe un segnale analogico "puro" non una modulazione PWM.
dato che è la prima volta che li uso in scrittura chiaritimi le idee per favore :)

uwefed

Stai misurando fantasmi.

Le entrate analogiche non funzionano come uscite analogiche o PWM.

Sul arduino UNO le uschite PWM sono i pin 3, 5, 6, 9, 10 e 11.

Non so cosa succede se fai analorwrite() su un pin che non é PWM.
Probabilmente niente, probabilmente resta settato come entrata analogica. Col tester digitale, visto che ha un impedenza altissima leggi tensioni derivanti dalla seguente corrente: Analog Comparator
Input Leakage Current oppure se il pin é settato come entrata digitale dalla corrente Input Leakage
Current I/O Pin

Ciao Uwe

ilmandorlone

l'unica cosa che ho chiarito è che misuro fantasmi.
quindi per far uscire una tensione di esempio 3.1V dal pin 5"analogico" di arduino come faccio?

ilmandorlone

sto sclerando per favore mi serve una mano devo riuscire a far uscire una tensione da 0-5 non capisco.
è peggiorato parte da 1,7 e in circa 30 secondi pian piano cala a 0 non capisco proprio niente.

ilmandorlone

forse ora ho capito in uscita analogiche ne ho solo 2?? pin 0 e 1 ma sono digitali non si possono utilizzare quelli analogici?


astrobeed


quindi per far uscire una tensione di esempio 3.1V dal pin 5"analogico" di arduino come faccio?


Non puoi, i pin analogici sono solo ingressi analogici e non uscite, possono essere usati come ingressi o uscite digitali.
Arduino non possiede nessuna uscita analogica, sono tutte digitali, la confusione deriva dal "intelligentone" che ha nominato AnalogWrite un comando che doveva chiamarsi PwmOut visto che altro non fa che settare il dutycycle del PWM.
Gli unici modi che hai per ottenere una tensione analogica sono utilizzare il PWM seguito da un filtro passa basso oppure un DAC, la prima soluzione ti permette una banda di pochi hertz per via della bassa frequenza del PWM di Arduino (490 Hz) e una risoluzione di solo otto bit, la seconda soluzione ti consente una banda elevata e molta più risoluzione al costo di molti pin a meno che non usi un DAC I2C o SPI.


ilmandorlone

esatto grazie hai risolto il mio dubbio... era proprio il nome del pin sbagliato che mi ha fatto andare in panico
:)
la butto li ma dato che i 5 pin usano 50 pin digitali come devo aver capito non potrebbero fare un integrato ATmega con ulteriori 50 pin digitali che invece di INPUT sono in uscita con un decodificatore digitale/analogico R2R integrato quindi avere 5 pin analogici ma in uscita?? lo so che l'ho sparata grossa sta volta :)

uwefed

E tu vorresti pagarlo ancora 5€?
Ciao Uwe

Go Up