Forum der Firma Krause Robotik

Normale Version: SRF08 am Handyboard
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo,
ich habe ein Problem mit meinem Ultraschallsensor.
Der Lichtsensor funktioniert einwandfrei, aber der Abstand wird nicht gemessen. Der Wert springt immer um 120 und die kleine Diode blinkt die ganze Zeit (und auf dieser Seite entstehen schnelle "Klack"-Geräusche).

Ich habe mit diesem Programm getestet:

Demonstration zur Nutzung des Ultraschallsensors SRF08 von Devantech

Autor: Thomas Krause
Datum: 21.02.2005
Rev: 1.0

Krause Robotik
*/

// Einbinden der I2C-Bibliothek
#use i2c_hb_expbrd.ic
// Hauptprogramm
void main()
{
int entfernung;
int licht;

printf("\n SRF08-Test";
sleep(2.0);

i2c_init(); // initialisiere I2C-Bus

//Starte Schleife. Bricht ab, wenn der Stopknopf gedrueckt wird
while(!stop_button())
{
//Messung auslsoeen
// in Register 0 wird das Komando 81 geschrieben. Damit wird eine
Messung ausgeloest und das
// Ergebnis wird in cm angegeben
i2c_write_2byte(224, 0, 81); // Adresse des SRF08 ist werkseitig
224.
sleep(0.065); // 65 ms warten, um abzusichern, dass die MEssung
fertig ist
// Messung fertig

//Aulesen des Ergebnisses
// Zum SRF08 schreiben, welches Register ausgelesen werden soll.
i2c_write_byte(224, 2); // Register 2 --> High-Byte des
Messergebnisses
entfernung = i2c_receive_byte(224) * 256; // Auslesen des
High-Bytes des Messergebnisses
i2c_write_byte(224, 3); // Register 3 --> Low-Byte des
Messergebnisses
entfernung = entfernung + i2c_receive_byte(224); // Low-Byte
auslesen und zum Ergebnis addieren

i2c_write_byte(224, 1); // Register 1 --> Messwert des
Lichtsensors
licht = i2c_receive_byte(224); // Auslesen des Lichtsensors

printf("\nEntf: %d Licht: %d", entfernung, licht); // Anzeigen des
Ergebnisses
}

}


Der Sensor hat bei mir schon an meinem alten Roboter funktioniert(und ich meine, dass die Diode da nur ein mal beim Anschalten geblinkt hat).

Danke,
Gruß Jonas
Hallo,
hilft das vll weiter:
http://roboternetz.de/phpBB2/viewtopic.php?t=3991

Soll ich irgendwelche Widerstände austaschen,oder ....

Gruß Jonas
Hallo Jonas!

Die LED blinkt immer dann, wenn ein Messbefehl ausgeführt wird.

Das zeigt also, dass der Ultraschaller den Messbefehl erhalten hat und auch misst.

Warum hier jetzt aber komische Werte kommen, ist unklar.
Funktionieren andere Geräte mit I2C-Bus am HAndyboard? Wie zum Beispiel der Kompass.

Grüße
Hallo,
ja der Kompass funktioniert!
Konnte heute im Robotik den SRF08 von 'nem Kumpel anschließen und der hat funktioniert (selbes Programm).
Äußerlich sind keine Schäden erkennbar und der Lichtsensor funktioniert ja auch... ist das wohl das Ultraschallmodul defekt?!
Gruß Jonas
Referenz-URLs