PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : SHARP GP2D12 über µC auslesen???



Luke17
13.11.2005, 13:33
Hallo ich möchte meinen SHARP GP2D12 Sensor an meine µC anschließen. Wie kann ich dann zu Testzwecken die Werte die mir der Sensor bei den verschiedenen Abständen auslesen?
Hatte es mit Hyperterminal probiert, kenn mich leider nicht mit dem Programm aus. Gibt es noch andere möglichkeiten?
Oder kennt sich jemand mit Hyperterminal aus.


mfg Lukas

herrma
13.11.2005, 13:51
Der Sensor liefert ein Analogsignal (siehe Datenblatt). Dieses Spannung am Ausgang kannst Du z.B. mit einem Oszi oder einem Multimeter messen. Falls dein Meßgerät eine serielle Schnittstelle besitzt, kannst Du dir die Werte natürlich auch in Hyperterminal ansehen und gfl. verarbeiten bzw. speichern. Ansonsten schickst Du die Spannung vorher durch einen A/D-Wandler und bereitest sie dann RS232-konform auf.
Welchen µC benutzt Du denn?

Luke17
13.11.2005, 14:08
Hallo, also ich habe den SAB 80C535. Ich habe den Sensor
schon an den A/D Port angeschlossen und das Programm soweit geschrieben. Doch wie kann ich dann die Dezimalzahl für die mir der A/D Port ausgibt im Hyperterminal anzeigen. Also der COM-Port ist bestzt wenn ich das Hyperterminal aufruf nachdem ich das Programm in meine µC geschrieben habe. Ich programmiere meine µC mit der Keil Software.
Damit der COM Port nicht belegt ist, müsste ich das Programm mit einem Tastendruck starten. Und dann das Hyperterminal aufrufen. Doch wie funktioniert sowas????

recycle
13.11.2005, 14:23
Hatte es mit Hyperterminal probiert, kenn mich leider nicht mit dem Programm aus. Gibt es noch andere möglichkeiten?
Oder kennt sich jemand mit Hyperterminal aus.

Hyperterminal ist ein reines Terminalprogramm und kein Messgerät.

Du kannst den Sensor an deinen µC anschliessen, damit die Messwerte auslesen und diese dann über eine serielle Verbindung an Hyperterminal senden. Hyperterminal zeigt dir dann genau das an, was dein µC sendet.

Der entsprechende Schaltungsaufwand ist eigentlich auch für Testzwecke einfach genug. Was die notwendige Programmierung des µC betrifft, hängt es von der Programmiersprache ab. In Bascom sind es ein paar Zeilen die du dir aus der Online-Hilfe zusammenkopieren kannst.

Die Ausgabe des analogen SHARP GP2D12 kannst du aber auch einfach mit einem normalen Multimeter auslesen. Einfach die 5V Versorgungsspannung anschliesen und dann deinen Spannungsmesser an den Output des Sensors halten.

Luke17
13.11.2005, 14:38
Also ich programmiere in Assembler. Ich wollte die Messspannung die mir der Sensor an meinen A/D Port liefert in eine Dezimalzahl umwandeln und diese Dezimalzahl dann an das Hyperterminal senden.

Die Dezimalzahl brauche ich ja später dann zum programmieren:

So kann ich dann z.B:

80 cm Abstand --> 0,4 V --> 10 Dezimal

Diese Dezimalzahl sollte dann an meinem Hyperterminal gesendet werden.
Wenn ich dann die einzelne Abstände aufgenommen hab, kann ich dann später festlegen bei der Dezimalzahl 10 darf der Bot fahren

und bei der Dezimalzahl 180 soll er langsamerfahren

und bei der Dezimalzahl 210 soll eranhalten und lenken

und bei der Dezimalzahl 255 ist auf einen Gegenstand gefahren :-)

herrma
13.11.2005, 15:51
Ist schon klar, aber um den Analogwert z.B. zum PC schicken zu können, muß er zunächst einmal digitalisiert werden(AD-Wandler) und kann dann über z.B. eine Datenweg (RS232; IrDA, u.v.a.m) übertragen werden.
Die dort eingehenden Informationen können dann durch geeignete Software (z.B. Hyperterminal) empfangen und verarbeitet werden.
Wie oben bereits erwähnt wurde, reicht ein einfacher Spannungsmesser aus. Für alles weitere wirst Du dich wohl zunächst allgemein mit der "Datenübertragung" beschäftigen müssen. Dazu findest Du hier im Forum jede Menge Informationen.

Weiter schreibst Du:
Die Dezimalzahl brauche ich ja später dann zum programmieren
Tipp: Vergiß die Dezimalzahlen und beschäftige Dich mit der Binärarithmetik. Du wirst es nicht bereuen.


Viel Erfolg

recycle
13.11.2005, 16:03
@Luke17


Also ich programmiere in Assembler.

Naja, das hindert dich ja nicht daran, für testzwecke auch mal ein paar Zeilen in Bascom zusammenzukopieren und auf den Controller zu laden. Das geht natürlich nur bei einem AVR-Controller der auch von Bascom unterstützt wird.



Ich wollte die Messspannung die mir der Sensor an meinen A/D Port liefert in eine Dezimalzahl umwandeln und diese Dezimalzahl dann an das Hyperterminal senden.

Die Umwandlung macht der AD-Eingang des Controller ja eigentlich automatisch. Um den Wert an Hyperterminal zu senden, reicht in Bascom dann der Befehl "Print wert"



So kann ich dann z.B:

80 cm Abstand --> 0,4 V --> 10 Dezimal

Diese Dezimalzahl sollte dann an meinem Hyperterminal gesendet werden.

Na das sag ich doch die ganze Zeit (siehe oben) ;-)
Was ist denn dann noch dein Problem, bzw. deine Frage?