PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : SFR08 Programmierung in C Hilfe



Noobler
07.04.2011, 12:58
Hallo erstmal,
ich programmiere grade eine RP6 Roboter und bin eig. schon recht weit gekommen.
Nun habe ich mir ein SRF08 Ultraschallsensor geholt ihn auch schon richtig angebracht(verkabelt und verlötet), aber ich habe nicht so richtig eine ahnung wie ich ihn programmieren soll.
Er soll einfach den abstand zwischen z.B Roboter und wand messen und wenn
die distanz näher wie 2m ist soll er umdrehen.
Vieleicht kann mir einer Helfen wie ich den SFR08 anspreche oder programmier mit evtl Quellcode wäre freundlich.

PS: Die überschrift soll natürlich SRF08 heißen und nicht SFR08 tut mir leid tippfehler :D

Mit freundlichen Grüßen

Noobler

radbruch
07.04.2011, 13:55
Hallo

Schau mal in den Beispielen zur Base im Verzeichniss "RP6Base_I2CMaster_03". Das ist ein Beispiel für den SRF08/SRF10. Ich hab's zwar nicht selbst ausprobiert, aber dieser Hinweis scheint mir wichtig: "READ THE SRF DOCUMENTATION FOR MORE DETAILS!!!" ;)

Gruß

mic

Ferrice
09.04.2011, 01:30
Schau mal hier!

http://www.robot-electronics.co.uk/acatalog/I2C_Tutorial.html

Sinnvoll wäre natürlich wenn die I2C Funktionalität schon fertig ist, dann brauchst du nur mehr die Kommandos zusammen zu Stückeln:

Messung Starten:
i2c_start(); // send start sequence
i2c_tx(0xE0); // SRF08 I2C address with R/W bit clear
i2c_tx(0x00); // SRF08 command register address
i2c_tx(0x51); // command to start ranging in cm
i2c_stop(); // send stop sequence

Messung auslesen:
i2c_start(); // send start sequence
i2c_tx(0xE0); // SRF08 I2C address with R/W bit clear
i2c_tx(0x01); // SRF08 light sensor register address
i2c_start(); // send a restart sequence
i2c_tx(0xE1); // SRF08 I2C address with R/W bit set
lightsensor = i2c_rx(1); // get light sensor and send acknowledge. Internal register address will increment automatically.
rangehigh = i2c_rx(1); // get the high byte of the range and send acknowledge.
rangelow = i2c_rx(0); // get low byte of the range - note we don't acknowledge the last byte.
i2c_stop(); // send stop sequence

mucky99
17.02.2012, 09:47
Hallo Leute,
wenn einer von Euch schonmal mit dem SRF08 gearbeitet hat, meine Frage an Euch, hat schonmal jemand
die Ultraschallsensoren gegen wasserdichte ausgetausch, funktioniert das?
Vieleicht hat ja einer von euch schon Erfahrung damit.

Vielen Dank schonmal im voraus.
Gruß Mucky