Archiv verlassen und diese Seite im Standarddesign anzeigen : AD Port programmieren
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
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
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
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
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.
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.