Home
Accesso / Registrazione
 di 

ARDUINO + ADC1115 Resistenze di PullUP

4 risposte [Ultimo post]
ritratto di gcam67
Offline
Titolo: User+
Utente+
Ultima visita:
1 anno 34 settimane fa
Utente dal: 10/03/2012
Messaggi: 20

Devo collegare l'adc1115 tramite i2c all'arduino. Certe volte riconosce il nuovo dispositivo e a volte no. E' dovuto alle resistenze di pull-up da inserire sulle linee sda ed scl.
se si devono essere dimensionate in che modo ?

oppure qual'è può essere la causa ?

ritratto di Emanuele
Offline
Titolo: Moderator
Moderatore
Ultima visita:
3 ore 21 min fa
Utente dal: 28/07/2007
Messaggi: 1022
Utente PREMIUM
Pullup su i2c

Probabilmente è un problema di resistenze di pullup, mettici 47K e facci sapere :)

ritratto di gcam67
Offline
Titolo: User+
Utente+
Ultima visita:
1 anno 34 settimane fa
Utente dal: 10/03/2012
Messaggi: 20
Niente da fare ho provato con

Niente da fare ho provato con due da 100K in parallelo. Solo con 100K, e con 2 e 3 resistenze in parallelo da 10K.

ritratto di Emanuele
Offline
Titolo: Moderator
Moderatore
Ultima visita:
3 ore 21 min fa
Utente dal: 28/07/2007
Messaggi: 1022
Utente PREMIUM
ADC115 , I2C e Arduino

Il valore dei pullup non è fondamentale, da 10K a 47K non ho mai avuto problemi.

Direi che a questo punto è il caso di indagare sulla comunicazione I2C. Immagino tu non possa debuggare....

Potresti fornire maggiori dettagli sull'interfacciamento software, se ad esempio hai usato la libreria I2C di Arduino e come l'hai configurata.

ritratto di gcam67
Offline
Titolo: User+
Utente+
Ultima visita:
1 anno 34 settimane fa
Utente dal: 10/03/2012
Messaggi: 20
grazie. Come si fa a

grazie.
Come si fa a debuggare ?
Al momento utilizzo I2CScanner.pde per vedere i dispositivi collegati. Alcune volte a funzionato.

Utilizzo la libreria standard di Arduino I2C, è funziona anche se all'inizio ho avuto qualche problema con il BMA180.
Utilizzo una classe di test che utilizza una libreria creata per l'ADC1115.

http://www.i2cdevlib.com/

#include
#include "ADS1115.h"
#include "I2Cdev.h"
ADS1115 adc1115;

#define LED_PIN 13
bool blinkState = false;

void setup() {
// join I2C bus
Wire.begin();

// initialize serial communication
Serial.begin(115200);

// initialize all devices
Serial.println("Initializing I2C devices...");
adc1115.initialize();

Serial.println("Testing device connections...");
Serial.println(adc1115.testConnection() ? "ADS1115 connection successful" : "ADS1115 connection failed");

}

void loop() {
delay(100);
blinkState = !blinkState;
digitalWrite(LED_PIN, blinkState);
}

 

 

Login   
 Twitter Facebook LinkedIn Youtube Google RSS

Chi è online

Ultimi Commenti