gus484 Posted March 29, 2016 at 07:37 AM Share Posted March 29, 2016 at 07:37 AM Hallo, ich möchte meine Geräteschuppen-Temperaturüberwachung erweitern und den Füllstand der eingegrabenen Zisterne messen. Dazu habe ich entsprechende Ultraschallsensoren gefunden und zwar konkret den MaxBotix MB7369. Der Sensor hat eine RS232-Schnittstelle, welche sich prima mit dem entsprechenden Bricklet verbinden ließe. Allerdings bin ich mir nicht ganz sicher, ob das wirklich kompatibel ist, weil in der Beschreibung des Sensors etwas von "inverted serial output" und einem IC Max232 steht und ich damit nicht viel anfangen kann. Hat jemand schon mal so einen Sensor angeschlossen oder kann einen kurzen Blick darüber werfen, ob es zusammen funktioniert? Datenblatt Schnittstellen-Beschreibung Viele Grüße gus484 Quote Link to comment Share on other sites More sharing options...
photron Posted March 29, 2016 at 09:20 AM Share Posted March 29, 2016 at 09:20 AM Richtiges RS232 arbeitet mit bis zu +15V und -15V für 0 und 1. Es gibt dann noch RS232 für TTL mit 0V für 0 und +3,3V oder +5V für 1. Der MAX232 IC kann dazwischen umwandeln. Das RS232 Bricklet kann mit beidem umgehen, es hat so einen Umwandler-IC integriert. Wenn ich das richtig verstehe, dann spricht der MB7369 vereinfachtes RS232 mit +15V für 0 und 0V für 1. Die Beschreibung spricht da von Invertieren, weil RS232 +15V für 0 und -15V für 1 verwendet, RS232 für TTL 0V für 0 und +3,3V oder +5V für 1. Du solltest den MB7369 einfach an den D-Sub 9 Stecker oder die Schraubklemmen anschließen können. Du brauchst in keinem Fall einen MAX232 IC für die Verwendung mit dem RS232 Bricklet. Quote Link to comment Share on other sites More sharing options...
gus484 Posted March 29, 2016 at 10:52 AM Author Share Posted March 29, 2016 at 10:52 AM Das klingt doch gut Danke für die ausführliche Erklärung. Wieder etwas dazugelernt. Quote Link to comment Share on other sites More sharing options...
gus484 Posted May 29, 2016 at 02:39 PM Author Share Posted May 29, 2016 at 02:39 PM Hallo, inzwischen habe ich den Sensor bekommen und an das RS232-Brickelt angeschlossen. Soweit funktioniert alles wie gewünscht und ich bekomme die Distanz-Werte Beim Proggen ist mir allerdings etwas aufgefallen. Mein Programm wird jede Stunde automatisch gestartet (Sensor und Bricklet laufen permanent) und wenn ich dann mit read() die Nachricht vom Bricklet lese, befinden sich dort noch alte Messwerte drin. Es scheint, als werden sie solange im Speicher gehalten, bis ich sie alle gelesen habe. Ich habe es erst einmal so gelöst, dass ich vor jeder Messung solange read() rufe, bis keine Nachrichten mehr vorhanden sind, also read() die Länge 0 liefert. Danach warte ich einen Augenblick und hole mir mit read() die aktuellen Daten. Gibt es eine Möglichkeit, durch einen Funktionsaufruf auf dem Bricklet alle gespeicherten Nachrichten zu löschen? In der Api(Python) habe ich dazu nichts entdeckt. Viele Grüße gus484 Quote Link to comment Share on other sites More sharing options...
photron Posted May 31, 2016 at 01:59 PM Share Posted May 31, 2016 at 01:59 PM Dafür gibt es so direkt keine Funktion. Dein Vorgehen ist aber schon genau das richtige. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.