PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : AD Port programmieren



vitja09
16.10.2006, 01:08
guten Abend

ich habe da eine Frage, die mich natürlich als den totalen Anfänger entlarvt.

Ich habe einen fotowiderstand an den AD Port meiner M-Unit angeshclossen doch wie programmiere ich das , dass er eifnach etwas einschalten soll bei einem bestimmten erreichten WErt. Der Fotowiderstand hat einen widerstand von 0-6kOhm

vielen Dank

RG
16.10.2006, 14:22
zum Hardware-Teil : besser den Fotowiderstand in Reihe mit einem Festwiderstand von zB. 1kOhm zwischen 5V und Gnd schalten. An den Verbindungspunkt beider Widerstände wird der AD-Port angeschlossen. Der Uref-Eingang kommt dann auch an 5V.


im Programm ist nun der AD-Port, der Digitalport für das Schaltsignal und der Schwellwert (variable) zu definieren.
Die Auswertung erfolgt nun nach dem Schema:
aktuellen Wert des AD-Ports mit der Schwellwert-variablen vergleichen und abhängig vom Vergleichsergebnis den Digital-Port für das Schaltsignal schalten.

Amiwerewolf
16.10.2006, 16:33
Programm zum Testen:
einfach ans Teminal hängen bei 9600 BAUD


define a1in as AD[1]

do
Print "Analog Port1: " & ad1 & " Rohwerte " & ad1 * 0,0196 & " Volt"
loop



gruß Michi

vitja09
16.10.2006, 17:28
hallo

8-[ mhhh also dass ich den Fotowiderstand mit 1 kOhm vom plus zum AD Port hängen muss hab ich jetzt verstanden.

mein Programm würde ich so anfangen

define Licht AD[1]
define Ausang Port[1]

doch wioe sag ich jetzt zB. dass er bei erreichten 4 kOhm den Port1 durchschalten soll??

Vielen Dank

DIE HARD
16.10.2006, 19:16
hallo

8-[ mhhh also dass ich den Fotowiderstand mit 1 kOhm vom plus zum AD Port hängen muss hab ich jetzt verstanden.

mein Programm würde ich so anfangen

define Licht AD[1]
define Ausang Port[1]

doch wioe sag ich jetzt zB. dass er bei erreichten 4 kOhm den Port1 durchschalten soll??

Vielen Dank

Nimm diesen Code um die Schaltschwelle zu bestimmen die du haben möchtest (AD-Wert in Abhängigkeit von der Helligkeit). Die Ausgabe erfolgt
auf ein Terminalprogramm z.B. Hyperterminal (9600 Baud)

define Licht AD[1]
define Ausang Port[1]

#LP
PRINT LICHT
GOTO LP


Nehmen wir an, die Schaltswelle entspricht einem AD-Wert von 100.
Dann nimm diesen Code um den Port zu schalten

define Licht AD[1]
define Ausang Port[1]

#LP
IF LICHT > 100 THEN AUSGANG=off ELSE AUSGANG=on
GOTO LP

vitja09
16.10.2006, 23:37
guten abend

kansnt du mir das bitte genauer beschreiben wie ich die Schaltschwelle bestimme?

DIE HARD
17.10.2006, 12:22
guten abend

kansnt du mir das bitte genauer beschreiben wie ich die Schaltschwelle bestimme?

1) du lässt dieses Programm laufen:

define Licht AD[1]
define Ausang Port[1]

#LP
PRINT LICHT
GOTO LP

2) du startest das Hyperterminal um eine Anzeige zu bekommen.
3) du stellst die Helligkeit auf das gewünschte Mass ein.
4) du liest im Hyperterminal ab welchen Wert das Programm ausgibt.
5) du trägst diesen Wert im 2. Programm dort ein, wo 100 steht
6) du startest das 2. Programm


Das hier ist das 2. Programm

define Licht AD[1]
define Ausang Port[1]

#LP
IF LICHT > 100 THEN AUSGANG=off ELSE AUSGANG=on
GOTO LP

Dierk
17.10.2006, 12:22
Der AD-Wert des AD-Ports kann einen Wert 0 bis 255 annehmen.
Je nach Spannung, welche am AD-Port liegt erhälst Du den Wert 0 für 0Volt und 255 für 5Volt. Also der Wert besagt bei uRef=5Volt in etwa U*100/2.
Dann würde der Wert 100 in etwa 3,9Volt am AD-Port bedeuten.
Die Schaltschwelle legst Du dann entsprechend deiner Schaltung/Gegebenheiten fest.

vitja09
18.10.2006, 08:56
vielen Dank =D>