Avrei bisogno di capire se é possibile leggere valori provenienti da due sensori che necessitano i2c( esattamente gli Adafruit flora rgb sensor tcs34725.
Vorrei capire se é possibile usarli tutti e due sullo stesso arduino simultaneamente o comunque con un delay tra l'uno e l'altro molto basso.
Un altro problema é che leggendo il codice d'esempio noto che il sensore viene dichiarato come oggetto e nel suo costruttore non vengono richiesti i pin cui lo attacco.
Mi dareste una mano?
Github libreria(dentro la quale c'é il codice d'esempio chiamato color wiew):
I2C è un bus, a cui puoi collegare quindi più periferiche. L'unico requisito è che abbiano indirizzi diversi, per cui devi vedere se i sensori in questione hanno l'indirizzo configurabile. Di solito si fa tramite jumper a saldare.
No, quel sensore ha un indirizzo fisso, quindi non ne puoi collegare piu' di uno su una linea I2C
Soluzioni:
O usare un multiplexer Hardware, ad esempio il tca9548a , oppure usare una libreria software I2C, che ti permette di crearti un'altra linea I2c su altri pin
>Gioviok: essendo il tuo primo post, nel rispetto del regolamento, ti chiedo cortesemente di presentartiQUI (spiegando bene quali conoscenze hai di elettronica e di programmazione ... possibilmente evitando di scrivere solo una riga di saluto) e di leggere con attenzione il su citato REGOLAMENTO ... Grazie.
Guglielmo
>Tutti gli altri: Vi pregherei, prima di rispondere, di verificare sempre che l'utente abbia effettuato la presentazione, cosa che, ovviamente, NON può essere possibile se il suo numero di post è 1. Grazie anticipatamente per la preziosa collaborazione.
Brunello:
No, quel sensore ha un indirizzo fisso, quindi non ne puoi collegare piu' di uno su una linea I2C
Soluzioni:
O usare un multiplexer Hardware, ad esempio il tca9548a , oppure usare una libreria software I2C, che ti permette di crearti un'altra linea I2c su altri pin
Grazie per la tua risposta! Esistono questo tipo di librerie per I2C che hai menzionato tra quelle disponibili nell IDE o devo scaricarla da qualche parte?
Grazie in anticipo.
Brunello:
No, quel sensore ha un indirizzo fisso, quindi non ne puoi collegare piu' di uno su una linea I2C
Soluzioni:
O usare un multiplexer Hardware, ad esempio il tca9548a , oppure usare una libreria software I2C, che ti permette di crearti un'altra linea I2c su altri pin
Purtroppo non ho il tempo di studiarmi la libreria, anche perché non ho capito ancora come faccia il costruttore del sensore a scegliere i pin.
La mia mente malvagia,contorta e perversa però ha avuto un idea(probabilmente sbagliata e da stupido):
collego le due alimentazioni a due pin digitali, collego entrambi i sensori a sda e scl e da codice do e tolgo l'alimentazione scrivendo alto o basso.
Possibile?
O rischio di rovinare i sensori
P.S. ovviamente da codice so quale sensore sto accendendo con una variabile booleana che chiamo rgbOn.
Mah, ho dei forti dubbi che possa funzionare.
Anche perchè la tensione circolerebbe comunque attraverso le resistenze di PullUp che vi sono sulle board
E poi, la cifra non mi pare che sia esagerata link
Brunello:
Mah, ho dei forti dubbi che possa funzionare.
Anche perchè la tensione circolerebbe comunque attraverso le resistenze di PullUp che vi sono sulle board
E poi, la cifra non mi pare che sia esagerata link
Uso un semplicissimo UNO e uso il modello flora del sensore, quello piccolino. Non capisco perche le resistenze pull up dovrebbero intralciare questo mio malefico piano.