Buonasera.
Non riesco a disattivare le resistenze di pull up interne ad arduino.
Dopo l'inizializzazione dell'RTC (I2C), del PCF8574(I2C) e del display OLED (I2C) inserisco nel setup:
digitalWrite(SCL,0);
digitalWrite(SDA,0);
con arduino in funzione leggo i seguenti valori:
resistenza tra VCC e SCL = 4kOhm (rimane attiva ma diminuisce rispetto al valore di 4,7 kOhm)
resistenza tra VCC e SDA = 5MOhm (sembra disattivata)
con arduino spento
resistenza tra VCC e SCL = 4,7kOhm (come da schema allegato)
resistenza tra VCC e SCL = 4,7kOhm (come da schema allegato)
stavo usando D11 e D12; utilizzerò A4 e A5 anche se dovrò fare a meno di un ingresso analogico eliminando la lettura dell'energia consumata dal sistema.
Ti vorrei anche chiedere anche un'altra cosa.
RTC clock ha una resistenza di pull up di 4k7, il PCF8574 ha una resistenza di pull up di 1k; quindi sul bus I2C ho due resistenze in parallelo con un Req= 824 Ohm che mi porterebbe sul bus I2C ad una corrente di circa 4 mA superiore al massimo dell'I2C che è di 3mA.
Secondo te potrebbe dare problemi?
Scusa, ma dissalda le resistenze di pull-up che non ti servono ... lascia quelle del RTC ed elimina le altre.
Questo problema si pone sempre quando si comprano schedine già fatte che, per ragioni di economicità, non prevedono il modo di scollegare le resistenze sul bus I2C.
A questo punto lascio le resistenze sull'RTC (4k7), mi collego ai PIN D11 e D12 di arduino (4k7), dissaldo le resistenze da 1k del PCF8574 ed inserisco delle resistenze di pull up in parallelo da 3k in modo da avere una resistenza di pull up sul bus di 1k3 che mi porterebbe ad una corrente sul bus I2C di 2,5 mA.
Mi serve una corrente elevata in quanto ho una distanza di trasmissione di circa 3 m e con il cavo 12S1YVI con capacità di 30 pF/m dovrei riuscirci. Grazie
Volevo condividere il risultato raggiunto.
Riesco a lavorare con il protocollo I2C ad oltre 5 m di distanza.
n.3 resistenze di pull up in parallelo (n.1 resistenza da 4k7 dell'arduino MKR, n.1 da 4k7 dell'RTC e n. 1 resistenza esterna aggiunta da 2k) con una resistenza complessiva pari a 1080 Ohm. Ciò porta ad una corrente I=3,3V /1,080 kOhm = 3,05 mA che è il limite massimo per il protocollo I2C.