system
December 24, 2011, 7:54am
1
Ciao a tutti, ho dei serie problemi a settare un'indirizzo al mio sensore srf02 collegato in i2C.
Cercado su internet ho scritto questa funzione:
Wire.beginTransmission(oldAddress);
Wire.send(0x00);
Wire.send(0xA0);
Wire.endTransmission();
Wire.beginTransmission(oldAddress);
Wire.send(0x00);
Wire.send(0xAA);
Wire.endTransmission();
Wire.beginTransmission(oldAddress);
Wire.send(0x00);
Wire.send(0xA5);
Wire.endTransmission();
Wire.beginTransmission(oldAddress);
Wire.send(0x00);
Wire.send(newAddress);
Wire.endTransmission();
Dove oldAddress è 0xE0 e newAddress è ad esempio 0xE2.
Una volta eseguito il codice il sensore dovrebbe eseguire un flash lungo e uno corto. Invece si accende e non si spegne più....
Dove sbaglio? Grazie a tutti
leo72
December 24, 2011, 9:20am
2
Qui c'è scritto che puoi impostare solo questi indirizzi:
E0, E2, E4, E6, E8, EA, EC, EE, F0, F2, F4, F6, F8, FA, FC, FE
Forse ne hai messo uno differente?
system
December 25, 2011, 7:56am
3
Bho no, come ti ho detto ho sempre provato con 0xE0 e 0xE2.
Ho notato che alcuni scrivono:
Wire.send(newAddress << 1);
Ma non so se risolverebbe
Auguri a tutti
leo72
December 25, 2011, 8:36am
4
Ma a parte il cambio di indirizzo, il sensore funziona (per capire se i collegamenti sono a posto)?
PS:
conoscevi questa lib?
http://www.grappendorf.net/arduino/libraries/srf02-ultrasonic-distance-sensor
mi pare abbia un metodo per cambiare l'ID del sensore.
system
December 25, 2011, 4:30pm
5
Il sensore funziona (prima che gli cambio indirizzo, poi smette di funzionare) la libreria la conoscevo ma non ero riuscito a farla funzionare (mi dava un sacco di errori di compilazione).
Il codice sembra giusto, il collegamento anche bho!
leo72
December 25, 2011, 10:55pm
6
Errori di compilazione dovuti forse alla versione dell'IDE che usi? Hai la 1.0? E con la 0022/0023 come va?