Was für einen SRF 05 hast du denn genau ?
Es gibt nämlich auch welche die verkappte SRF04 sind und die eine andere Pin belegung haben.
Was für einen SRF 05 hast du denn genau ?
Es gibt nämlich auch welche die verkappte SRF04 sind und die eine andere Pin belegung haben.
Hallo Shedepe
Ich dachte die währen immer bau gleich.
Meiner ist ein ein SRF 05 Devantech PWM-interface
Ok,
also noch mal zu deiner Situation (nur dass man sie richtig versteht)
Du gibst also richtig auf den Input Pin vom Sensor einen etwa 10 bis 20 ms Sekunden langen Puls ?
An Ausgang vom Sensor liest du allerdings nur eine konstante Spannung anstelle, eines Signals das in Abhängigkeit von der gemessenen Entfernung länger oder kürzer High ist ?
Hallo Shedepe
Ich hab eben noch mal das Inputsignal verlängert aber es ändert sich nichts nur ein Signal, außer ich decke die Sensoren direkt mit Stoff ab dann ist das Signal komplett weg.
Das Dauerausgangssignal startet nach dem anschalten erst nach dem ersten Triggerimpuls.
Dann habe ich immer eine 1 am Eingand des Controlers auch wenn kein Signal mehr gesendet wird.
die beschreibund mit bild sieht eigenlich idioten sicher aus ich hab es jetzt x mal geprüft und ich bin sicher das der Sensor richtig angeschlossen ist.
kann mein Controller das signal vom sensor überhabt richtig erfassen, er unterscheidet nur zwischen an und aus, sollte das signal eine ansteigende und abfallende Spannung sein könnte er es nicht unterscheiden (denke Ich)
Frage kann das teil fehlerhaft sein?
Sollte ich den zweiten Sensor ( der liegt noch in der original Verpackung ) genauso anschließen um ihn zu testen ?
Zeig doch einfach mal deinen Auswerte Quellcode.
Hier mein kleines Programm
Sub main()
'Initialisierung der Mini-Station
MINI_INIT()
'Endlosschleife
Do While True
OUTPUT1_ON() 'Ausgang aktiv
AbsDelay (50) 'kurze Pause
OUTPUT1_OFF() 'Ausgang inaktiv
'lesen
For X = 1 To 1000 Step 1
If INPUT_1(0) = 1 Then A=A+1 Hier Ist mein Denkfehler, wenn ich den sensor aktiviere den geht das signal auf 1 und nur für maximal 30 ms auf 0 ich hab diese zeile auf "If INPUT_1(0) = 0 Then A=A+1" geändert und jetzt geht es
End If
Next
If A > 9 Then OUTPUT7_ON() : End If
If A > 7 Then OUTPUT6_ON() : End If
If A > 5 Then OUTPUT5_ON() : End If
If A > 3 Then OUTPUT4_ON() : End If
If A > 2 Then OUTPUT3_ON() : End If
If A > 1 Then OUTPUT2_ON() : End If
AbsDelay (500) 'kurze Pause
OUTPUT2_OFF()
OUTPUT3_OFF()
OUTPUT4_OFF()
OUTPUT5_OFF()
OUTPUT6_OFF()
OUTPUT7_OFF()
A=1
End While
Vielen dank führ die Mühe und für den Hinweis auf das Program, ich war fest überzeugt das kein Signal 0 ist und ein signal 1, es ist aber andersrum und da das Signal sehr kurz ist hab ich es nicht gemerkt.
Ich nehmer gern noch Tips an wie ich das Signal besser auslesen kann.
Wenn das Board bzw. der Controller den du verwendest, Interrupts unterstützt wäre das damit wesentlich effizienter auszuwerten.
Lesezeichen