PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : probleme abstandsmessung pin))) sensor auswerten



karl_soost
22.05.2007, 08:27
Hallo zusammen,
ich versuche grad ne abstanfsmessung mit dem ping sensor))) von parallax. ich bin soweit das ich ausgewertet habe wie lange der pin auf high ist. nun muss ich das in sekunden umrechnen...aber da liegt mein problem...
wie kann ich die variable count in sekunden umrechnen???



$regfile = "m128def.dat"
$crystal = 4000000
$baud = 9600

dim count as long

do
config portd.1 = output
set portd.1
waitus 10
reset portd.1
config pind.1 = input
bitwait pind.1,set
do
incr count
loop until pind.1 = 0
cls
locate 1,1 : lcd count
wait 5
loop

Bluesmash
22.05.2007, 08:53
dazu müstest du wissen wie lange deine do..loop schleife für einen durchlauf benötigt...
warum brauchst du überhaupt die zeit? mach doch einfach ein paar abstandsmessungen und rechne dann gleich in den abstand um... und wenn das ganze linear ist umso besser, ansonsten musst du dir wohl ne tabelle machen oder ne formel entwerfen...

gruss bluesmash

karl_soost
22.05.2007, 09:03
mach doch einfach ein paar abstandsmessungen und rechne dann gleich in den abstand um...


dafür hab ich leider keine genaue einrichtung. wollte über die laufzeit und die schallgeschwindigkeit den abstand messen.

uwegw
22.05.2007, 09:22
dafür hab ich leider keine genaue einrichtung. wollte über die laufzeit und die schallgeschwindigkeit den abstand messen.

Kein Zollstock+Wand greifbar??? Viel genauer als nen cm muss es nicht sein, das packen die US-Sensoren eh nicht.


Im Wiki findet sich Code für nen SRF05, der funktioniert sehr ähnlich.

karl_soost
22.05.2007, 10:05
doch das schon..hatte eigentlich gehofft das der genauer als ein cm ist...
das beispiel sicht schon ganz gut aus...werd das gleich mal proboeren wenn ich zuhause bin...

uwegw
22.05.2007, 10:28
Prinzipbedingt kann man mit Ultraschall nur Auflösungen bis in die Größenordnung einer Wellenlänge erzeihlen, und die liegt bei etwa 8mm (40kHz US).

karl_soost
22.05.2007, 11:00
ja das ist klar. daran habe ich garnicht gedacht....

hab den code für den sfr05 mal ausprobiert und es läuft zum teil...

wenn ich das ganze einmal ausführe funktioniert es. dann warte ich 5 sekunden und versuche es nochmal...dann bekomme ich nur 0 zurück...der pulsein zählt garnichts....

muss ich nach em pulsein den pin wieder als ausgang deklarieren damit er mir ein taktsignal erzeugt, oder macht das pulseout von alleine???