Forum: Mikrocontroller und Digitale Elektronik I2C srf02 Ultraschall Adressänderung (Arduino Uno)


von Julian B. (toopic)


Lesenswert?

Hey zusammen,

 Ich habe ein kleines Problem. Ich will zwei srf02 Ultraschallsensoren 
über I2C an meinem Arduino Uno anschliessen. Ich habe inzwischen 
herausgefunden, dass ich die Adressen der slave's ändern muss. Ich habe 
auch die Befehle gefunden mit denen ich das anstellen kann:

 Changing the I2C Bus Address
 To change the I2C address of the SRF02 you must have only one sonar on 
the bus. Write the 3 sequence commands in the correct order followed by 
the address. Example; to change the address of a sonar currently at 0xE0 
(the default shipped address) to 0xF2, write the following to address 
0xE0; (0xA0, 0xAA, 0xA5, 0xF2 )
 (gefunden bei http://www.robot-electronics.co.uk/h...2C.htm#Address)

 ich habe jedoch nicht 0xE0 als Standart, sondern 0x70. dafür muss ich 
die Adresse ja einfach um einen Byte nach rechts verschieben.

 was ich allerdings nicht ganz verstehe: wie und wo muss ich die Befehle 
anordnern, damit die Adresse auch geändert wird.


 meine bisherigen Versuche waren nicht gerade von Erfolg gekrönt.


1
#include <Wire.h>
2
 #define srfAddress ( 0xE0 >> 1, 0xA0, 0xAA, 0xA5, 0xF2 >> 1) // Address of the SRF08
3
 #define cmdByte 0x00 // Command byte
4
 #define rangeByte 0x02 // Byte for start of ranging data
5
 byte highByte = 0x00; // Stores high byte from ranging
6
 byte lowByte = 0x00; // Stored low byte from ranging
7
8
 void setup()
9
 {
10
11
 }
12
13
 void loop()
14
 {
15
16
 }



Vielen Dank schon im voraus,

 Freundliche Grüsse,

 toopic

: Verschoben durch User
von Robert F. (robert_f)


Lesenswert?

Hi, das shiften der Adressbytes könnte ein Problem sein. Zumindest beim 
übertragen der neuen Adresse solltest du nicht schieben.

Nachtrag:

Aus dem Datenblatt geht hervor, dass E0 die Standardadresse zum 
Schreiben ist. Lesen würde man mit E1.

: Bearbeitet durch User
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.