Arduino duemilanove mpu6050

avrei bisogno di sapere come collegare un arduino duemilanove atmega328 con un mpu6050.le porte i2c sono già a 3.3v oppure ha bisogno di un shift level?
grazie in anticipo.

Buongiorno e benvenuto, :slight_smile:
essendo il tuo primo post, nel rispetto del regolamento della sezione Italiana del forum (… punto 13, primo capoverso), ti chiedo cortesemente di presentarti IN QUESTO THREAD (spiegando bene quali conoscenze hai di elettronica e di programmazione … possibilmente evitando di scrivere solo una riga di saluto) e di leggere con molta attenzione tutto il su citato REGOLAMENTO … Grazie. :slight_smile:

Guglielmo

P.S.: Ti ricordo che, purtroppo, fino a quando non sarà fatta la presentazione nell’apposito thread, nessuno ti potrà rispondere, quindi ti consiglio di farla al più presto. :wink:

Le porte I2C sono open drain quindi ... se metti le pull-up verso i 3.3V dovresti poter collegare direttamente dato che, da 3V in poi, il ATmega328P dovrebbe vederlo come livello HIGH :wink:

Guglielmo

P.S.: Arduino 2009 NON dovrebbe avere le pull-up sulla scheda (magari verifica), attenzione invece che altre schede Arduino, come Arduino MEGA, hanno le pull-up a bordo connesse ai 5V.

allora via a scaricare i datasheet.
se le porte A4 e A5(come consigliato per collegare SDA e SCL) sono open drain il problema non sussiste.col datasshet alla mano vedrò se ha le resistenze di pull-up incorporate e come abilitarle.
vi farò sapere.
poi se mi potete indirizzare a tutta la documentazione del arduino ATMega328p(non librerie,sono un pò allergico a queste)vi sarò molto grato.

Il ATmega328 HA le sue pull-up interne, ma NON vengono abilitate dalla libreria I2C ed occorre usare pull-up esterne, per cui … NON è il datasheet del del chip, ma è lo schema della 2009 che ti serve … come ti ho detto la MEGA le monta, ma credo sia l’unica.

Per il resto … l’unica documentazione è il datasheet del ATmega328P, il reference di Arduino e delle sue librerie … altro non trovi (salvo comprare dei libri).

Guglielmo

… ecco lo schema di Arduino 2009, QUI … non c’è traccia delle pull-up esterne sui pin A4 ed A5 quindi, puoi metterne due verso i 3.3V e collegare oggetti I2C a 3.3V

Nota che la 2009 montava il ATmega328 e NON il successivo ATmega328P.

Guglielmo

se non ho letto male sul datasheet le resistenze di pull-up sono interne,non sono sulla board ma nella architettura interna del micro(d’altronde come nei micro della microchip che ce li ha sulla PORTB).
a pagina 59 chiarisce che ogni porta I/O ne ha una resistenza pull-up che si può abilitare o meno alla bisogna.
e la tabella 13-1 della pagina 60 spiega come configurare le porte,anche come abilitare/desabilitare le rsistenze di pull-up.

AIN1/OC2B/PCINT23 – Port D, Bit 7
AIN0/OC0A/PCINT22 – Port D, Bit 6
pagina 70
dove si chiede di disattivare le pull-up(interne) scollegando i comparatore analogico dal segnale TTL(5V) che li fa diventare digitale(0-1 – 0V-5V).

vedremo,il mio inglese è un pò arruginito ma continuo a leggere il datasshet e i registri di configurazione del micro.
ho una certa allergia all’utilizo delle librerie pre-confezionate,occupano un sacco di memoria e sono(normalmente) un pò generiche per “abbracciare” quanti più micro possibile.
non si finisce mai d’imparare,neanche alla mia eta.

Ma hai letto attentamente quello che ti ho scritto nel post #4 ? ? ? :o :o :o

Guglielmo

ecco quando uno scrive in status OA(Occhi Appannati) :confused:
uscita 3V della board Duemilanove per alimentare il mpu6050 e le due resistenze 4K7 per il bus i2c su A4/A5.niente resistenze interne abilitate che vanno sul Vdd a 5V.
Grazie.
passo e chiudo.