... per inciso, considera che quando sull'ATmega328P (la MCU che è su Arduino UNO) dichiari un pin in input con pull-up, ovvero lo inizializzi così :
pinMode(mioPin, INPUT_PULLUP);
... altro non fai che attivare una resistenza di pull-up (Rpu) che è già disponibile nel chip, come da questo schema che rappresenta un pin della MCU :
Allora, questa è la resistenza di pull-down, e ho capito a cosa serve.
Per quella di pull-up? DOvrei collegare la resistenza al pin dove ora è collegato il pulsante?!?!?!!
e pinMode(mioPin, INPUT_PULLUP);
esiste anche per quella di pulldown?
gli schemi faccio ancora molta fatica a decifrarli..
Altra domanda: partitore di tensione. Ne parla il progetto 04 del libro dello starter kit. Si collegano 4 foto resistenze ai pin analogici, con una "resistenza di pull-down" che però è definita partitore di tensione. Ho letto che serve ad esempio per controllare tensioni in entrata maggiori di 5V (per Arduino) per evitare di bruciare i pin. Se è così, secondo quale principio le applichiamo alle fotoresistenze? Se non è così, beh, aspetto spiegazioni.
così chiaramente con lo switch aperto avari sul pin un livello HIGH e con il pulsante chiuso avrai un livello LOW.
Il "partitore di tensione" NON ha nulla a che vedere con le resistenze di pull-up e pull-down ... queste prendono il nome dalla funzione che svolgono, in un partitore, anche se una delle resistenze è connessa a GND NON è perché fa le funzioni di una pull-down, ma è per costruire appunto un partitore ... ma ... come siamo messi con la legge di Ohm, le formule di serie/parallelo di resistenze, ecc. ecc. ?
Perché per capirlo DEVI studiarti queste cose BASILARI
Con quelle formule siamo messi benino, del tipo che quando mi servono, nel caso sono confuso, vado a leggerle e faccio chiarezza. Sul testo "nuove elettronica" sono spiegate anche bene. Per il partitore, non ne ho capito la funzione nel progetto che ho descritto.
Sono due resistenze in serie, quindi la resistenza finale è la somma. Ma perche mi fa mettere la resistenza in serie alla fotoresistenza? E' questo che non capisco.
Aggiungo un'altra cosa:
progetto 05, controllo di un servomotore da potenziometro;
quando quest'ultimo si trova in posizione 180, trema all' interno, come se dovesse continuare a girare ma è bloccato. Ho provato a metterlo a 180 dallo sketch, senza potenziometro, ma vibra lo stesso.
Facendo delle prove, andando a scalare con l'angolo in cui è posizionato, a 172 gradi smette di fare rumori strani. Man mano che salgo di 1 grado, aumenta di intensità: a 173 gradi si sente un "tic" ogni tanto, a 174, due "tic" al secondo, e cosi via,
NO, non hai risposto alla mia domanda e quindi NON hai applicato le formule ...
... non ti ho chiesto come sono messe le resistenze, ti ho chiesto, data una tensione V+, che tensione sarà presente sul inputPin ?
Che poi ... è quello a cui serve un "partitore resistivo"
Mezzi che devi misurare una tensione che va da 0 a 12V e ... ovviamente non vuoi distruggere Arduino quindi dovrai fare in modo che sul pin di ingresso ci sia una tensione proporzionale ma che va da 0 a ... diciamo 4V (ovvero 1/3) per stare sicuri ... che valori devi mettere di R1 e R2 ?
Guglielmo
P.S. : Ecco un'applicazione del partitore resistivo ...
L'esempio pratico lo hai davanti ... e la legge di Ohm pure ... basta che la applichi ...
Andiamo per passi ...
La corrente che scorre in quel circuito è data da I = V/R ... dato che le due R sono in serie la R equivalente è la loro somma da cui la corrente che scorre è data da : I = V / (R1 + R2).
Ok fino qui ?
Ora ... applica sempre la legge di Ohm ... V = I x R ... la I l'abbiamo appena calcolata ... ed è ovviamente la stessa sia per R1 che per R2 (sono in serie) ... quale sarà allora la tensione ai capi di R2 (ovvero sul inputPin) ?
Mmm ... va be, vado avanti io ... vediamo se segui il ragionamento ...
Abbiamo ricavato : I = Vcc / (R1 + R2) per cui, sapendo anche che V = R x I possiamo applicarla per calcolare la tensione hai capi di R2 (che è quella che ci interessa) ...
VR2 = I x R2 e, sostituendo ad I quanto su scritto si ha VR2 = (Vcc / (R1 + R2)) x R2 che ovviamente può anche essere scritta come : VR2= (R2 / (R1 + R2)) x Vcc
Quindi, come vedi, la tensione sul nostro inputPin è legata al rapporto R2 / (R1 + R2) ... scegliendo opportunamente detti valori e conoscendo la massima Vcc ... poi fare in modo che VR2 non superi mai i 5V ammessi su Arduino UNO.
R2 / (R1 + R2)
Il caso più semplice :
R2=R1=10000 ohm
10000/20000=0.5
Penso sia chiaro che si tratta di paritore al 50%
Quindi qualunque tensione viene ridotta della metà. Infatti 12x0.5=6.
Da qui in poi dovresti essere in grado di proseguire autonomamente.
... e Mauro ti ha fatto un esempio pratico ... le R1 ed R2 le devi scegliere tu in base al rapporto (R2/(R1+R2)) che vuoi ottenere ... lui ha fatto la metà, io ti faccio il caso di cui parlavamo all'inizio ... 12V massimi in ingresso, massimo 4V sul pin (Vout) ... 12/4 = 3 quindi ... devi ridurre di 1/3 ... assumendo di usare valori commeciali facilmente trovabili, potresti mettere una 2.2K in R1 e una 1K in R2 ... da cui avresti : 1000/(1000+2200) = 1000/3200 = 0.3125.
Se la tensione su Vin è di 12V, quella misurata su Vout sarà 12 * 0.3125 = 3.75V ... un po' meno dei 4V (questo perché abbiamo scelto valori commerciali facilmente trovabili).
Chiaramente, quando farai le tue misure analogiche sul pin Vout dovrai tenere conto del rapporto 0.3125 e quindi, se vorrai sapere quale è la vera tensione presente su Vin dovrai prendere il valore che leggi, dovrai convertirlo in volt (ricordando che, con la analogRead() riceverai 0 per 0V e 1023 per 3.75V) e quindi dovrai moltiplicare per 3.2 (1/0.3125) per avere il giusto valore
Ora penso di aver capito il concetto. Ma nel progetto di Arduino perchè mi fa usare il partitore di tensione da 10 Kilo ohm per la fotoresistenza? Quest'ultima è alimentata dai 5V da Arduino, quindi che bisogno c'e? Dato che comunque anche puntando la luce, diminuisce solo il valore ohmico della fotoresistenza. Non so se mi sono spiegato.
Guardando questo
mi fa l'esempio del partitore di tensione, con due resistenze in serie. Quindi potrebbe anche essere:
Vin---R1--R2--Vout
|
GND
?????
EDIT: avrei potuto anche usare una R1 da 800 ohm (valori non commerciali) e una da 400 ohm, basta che ci sia il rapporto giusto. Giusto?
Prova a pensarci ... hai la tensione in ingresso che è fissa, così come la R1, mentre la R2 (la fotoresistenza) che varia ... quale è il risultato ?
Prova a simularlo con la calcolatrice ... Vin = 5V ed è fissa, non varia, la R1 è fissa anche essa a 10KΩ, quella che varia è la resistenza R2 delle "fotoresisteza" che oscillerà da 20MΩ al buio totale ai 20KΩ in piena luce ... che succede sul pin Vout ? ? ?
al buio: R2 = 20000000 ohm
R2/(R1+R2) 20000000/20010000 = 0,9995 x 5V = 4,99 volts
R1 = 10000 ohm
alla luce: R2 = 20000 ohm
R2/(R1+R2) 20000/30000 = 0,666 X 5V = 3,33 volts
R1 = 10000 ohm
se ho scritto cazzate perdonatemi...
DA NUOVA ELETTRONICA
"Fig.60 Se misuriamo la resistenza ohmica di una fotoresistenza posta al buio rileveremo
un valore di circa 1 megaohm. Se il suo corpo riceve un po’ di luce la sua resistenza scenderà
a 80.000 ohm e se riceve più luce la sua resistenza scenderà sotto i 100 ohm."