Indem du permanent der Zustand des Pins abfragst an dem der Taster hängt.
Hi ich bins mal wieder!
Ich habe aus einem alten Computer einen Taster ausgebaut und möchte ihn nun als "Bumper" verwenden. Um das Funktionsprinzip zu verstehen, möchte ich den Taster auf Spannung legen und wenn der Taster gedrückt ist, soll eine LED leuchten.
Wie mache ich das?
Gruß Torrent
MfG Torrentula
Indem du permanent der Zustand des Pins abfragst an dem der Taster hängt.
Und wie mache ich das? Mit Getadc? Oder mit if portx.y = 0 then ..... else .....?
HELP!
Gruß
Torrent
Naja wenn du jetzt nur abfragen willst ob der Taster gedrückt wurde oder nicht (also eine 1 oder 0 Abfrage) und du den Taster als Schließer verwendest (also den Taster an 5V anschließt und den anderen Pin an einen Pin vom Microcontroller), dann schreibst du:
Config PinD.0 = Input (Pin D.0 ist nur ein Beispiel)
Config PortD.1 = Output (An D.1 ist die LED mit dem Pluspol)
If PinD.0 = 1 then PinD.1 = 1 else PortD.1 = 0
Waitms 1000 (Die Zeit kann variieren je nachdem wie lange die LED anbleiben soll)
Ja, ich meinte eine einfache 1/0 Abfrage! vielleicht habe ich mich nicht deutlich genug ausgedrückt.....
Vielen Dank!
Torrentula
Dieser Code:
reagiert, aber auf PD1 ist permanent Spannung. Wenn ich den Taster dann an Pind.0 anschließe und ihn betätige, ändert sich die Farbe der LED, obwohl sie jetzt erst angehen sollte - aber sie ist halt permanent an. Wieso?Code:$regfile "m32def.dat" $crystal = 1600000 $baud = 9600 Config Pind.0 = Input Config Portd.1 = Output Do If Pind.0 = 1 Then Portd.1 = 1 Else Portd.1 = 0 Wait 1 Loop End
More HELP!
Torrentula
[EDIT]
Die LED hängt mit Plus am Controler und mit minus an GND
MfG Torrentula
Config Portd.0 = Input
Portd.0 = 1
Config Pind.1 = Output
Do
If Portd.0 = 1 Then Pind.1 = 1 Else Pind.1 = 0
Wait 1
Loop
Schreib das mal so.....
Hi, laß mal das "baud=9600" weg,
sonst funktionieren die Pins D.0 und D.1 nicht so,
da sie für den UART konfiguriert sind.
(D.0 = RXD, D.1 = TXD)
@Kampi:
Ausgänge immer mit Port setzen, nicht mit Pin, Eingänge lesen immer mit "pin".
Ich würde das auch nicht in eine Zeile schreiben, sondern einrücken.
Übrigens ist das "wait" auch am falschen Platz, da der Controller immer in diese Warteschleife läuft.
Falls der Taster gegen GND geschaltet wird, fehlt noch der interne Pullup.
Du hast hoffentlich einen Vorwiderstand an der LED ?Wenn ich den Taster dann an Pind.0 anschließe und ihn betätige, ändert sich die Farbe der LED
Wenn die LED ihre Farbe ändert heißt das eigentlich, daß sie gerade am sterben ist... wenn du das dann länger so betreibst könnte dir das der Controller übelnehmen.
Gruß
Christopher
Mist ich verwechsel das immer wieder ^.^Zitat von chr-mt
Kann einem auch immer noch passieren, wenn man schon Jahre lang programmiert und nicht aufpasst ...Mist ich verwechsel das immer wieder ^.^
Gruß
Christopher
Lesezeichen