
|
INFO - FAQ - CC2-Forum - CCPro-Forum |
|
||
|
> Hallo zusammen, > > ich möchte einen Ultraschall-Entfernungssensor per Open-Midi abfragen. Die Entfernung soll zunächst auf einem LCD ausgegeben werden. Der Sensor liefert die Daten über eine Eindraht-RS232. Verbinde ich den Sensor direkt mit einen PC (unter Zuhilfenahme des bekannten RS232-Interfaces aus der OM-Dokumentation), so können in einem Terminalprogramm die gesendeten Daten korrekt dargestellt werden. > Leider empfängt die OM jedoch überhaupt keine Signale - weder konventionell (GET bzw. INPUT) noch Puffer-gesteuert (Modul von Rene Stadler). > Der Sensor liefert TTL-Kompatible Impulsfolgen. Übertragen werden reine ASCII-Codes. Vom Sensor übertragen wird immer folgende Zeichenfolge: > > LF CR ASC1 ASC2 ASC3 ASC4 ASC5 LF CR > > In meiner Verzweifelung habe ich den Sensorausgang nun direkt an Pin 13 der Midi gehängt (mit Pullup R10k). Die Midi steckt in einem Starter-Board von CCTools. Das Starter-Board ist via RS232 mit dem PC verbunden. Ein Terminalprogramm zeigt zyklisch die vom Sensor gemessene Entfernung an. Auf dem an die Midi angeschlossenen LCD werden jedoch keine Daten angezeigt. > > Software: > > > ..... > > gosub PCFLCD_init > PCFLCD_SetLight false 'Beleuchtung ausschalten > > sys SERSTART ' Start Hintergrundprogramm > > PCFLCD_CMD Line3 > > #loop > if tempsec <> second then ' Zeigt die Sekunden auf dem LCD > tempsec = second ' ... damit man sieht, dass über- > PCFLCD_CMD Line1 ' haupt was passiert > PCFLCD_Zahl2 tempsec > PCFLCD_CMD Line3 > end if > > while bufferlen>0 > sys SERGET ' Byte aus Puffer nach a > > PCFLCD_CMD Line3 > PCFLCD_Put a > > print a; > wend > > goto loop > end > > ..... > > > Der Rest ist der bekannte Standard. Für Eure Hilfe recht herzlichen Dank im Voraus. > > MFG Hallo zusammen, besten Dank für die Hilfe. Nach einigen Versuchen habe ich den Fehler selbst gefunden. Der Sensor benötigt zur Verarbeitung der empfangenen Zeichen nach jedem Zeichen eine kleine Pause. Nachdem ich die Steuercodes nun folgendermaßen sende funktioniert's. Put Zeichen1 Pause 2 ' 40 ms warten auf der OM Put Zeichen2 Pause 2 ' 40 ms warten auf der OM Put Zeichen3 Pause 2 ' 40 ms warten auf der OM Put Zeichen4 Pause 2 ' 40 ms warten auf der OM Put Zeichen5 Get Zeichen1 ..... Ich habe den Hersteller bereits gebeten, dies in die Doku aufzunehmen. Übrigens: es ist bei zwei Eindraht-RS232-Interfaces nicht notwendig, irgend eine Logik dazwischenzuschalten. Der Sensorausgang kann direkt mit dem Port[1] der OM verbunden werden. Selbst ein 10k-Pullup ist nicht zwingend notwendig. Gruß, Claus |
| Antwort schreiben |