Hallo Zusammen,
also ich möchte das ganze mal für den Anfang etwas eingrenzen denn scheinbar kann mir hier niemand auf meine Anfrage mangels Informationsfluss meinerseits im ersten Post nicht anworten oder mir bei meinem Vorhaben nicht weiterhelfen.
In erster Linie möchte ich mal den SRF10 Ultraschall Sensor über die I2C Schnittstelle mit hilfe eines Python Scriptes Messungen in cm Angabe abfragen können.
Ich hab jetzt schon tagelang nicht in dieser Richtung im Netz gesucht, ohne Erfolg. Es wäre zumindest schon mal ein Anfang damit ich mal ein Schritt voran käme bei meinem Projekt.
Ich hab auch etwas kleines für den Anfang gefunden jedoch wenn ich das script ausführen will dann gibt es eine error Meldung in Zeile 9 und 23
Ich weis zumindest schon mal das der Wert in Zeile 23 0x51 die Bildschrimausgabe einer Messung in cm Maß dasstellen soll.
Und in Zeile 9 wird scheinbar eine Definierung von write gesetzt. Nur weis ich nichts mit dem Fehler anzufangen der mir dort angezeigt wird.
Ok vielleicht bin ich mit dem Script auch total daneben am liegen weil es eigentlich ein Script für ein SFR08 Sensor ist. Jedoch sind die Adresswerte scheinbar die selben wie beim SFR10. Soviel konnte ich dem Datenblatt was mir leider nur in englisch vorliegt entnehmen. Vielleicht ist das auch nur ein totaler Schrottcodeschnipsel den ich im Netz gefunden habe. Wie ich oben schon erwähnt habe. Programmieren ist nicht so ganz meine Stärke jedoch versuche ich bei dem Projekt etwas zu lernen und hoffe das Ihr mir jetzt ein wenig mehr, mit meiner Anfrage weiterhelfen könnt.
Code:
import smbus
import time
bus = smbus.SMBus(0)
address = 0x70
#SRF08 REQUIRES 5V
def write(value):
bus.write_byte_data(address, 0, value)
return -1
def lightlevel():
light = bus.read_byte_data(address, 1)
return light
def range():
range1 = bus.read_byte_data(address, 2)
range2 = bus.read_byte_data(address, 3)
range3 = (range1 << 8) + range2
return range3
while True:
write(0x51)
time.sleep(0.7)
lightlvl = lightlevel()
rng = range()
print lightlvl
print rng
Fehlerausgabe:
Traceback (most recent call last):
File "<stdin>", line 2, in <module>
File "<stdin>", line 2, in write
IOError: [Errno 5] Input/output error
Wenn jemand eventuell ein Script in C hat was dafür funzt. Und dies zur Verfügung stellen mag dann bitte mit einer kleinen Anleitung welche Libs ich installieren muss und wie die compilierung der *.c datei dann mit den Befehlen her abgearbeitet werden sollte. Ich hab mich bisher auf Python konzentriert da ich dort weniger mit compilierungsproblemen konfrontiert werde als mit C
Also leute ich zähl auf Euch
Schmeist mal etwas mit Code um Euch damit ich was zum testen bekomme
MFG
Zappelmann
Lesezeichen