Such mal nach Toggle in der Hilfe
Hallo Leute !
habe ein Problem...
ich möchte wenn ich einen Taster drücke ein Relais einschalten und wenn ich den Taster noch einmal drücke das Relais wieder ausschalten.
Mein Beispielprogramm schaltet das Relais wenn ich den Taster drücke und wenn ich den Taster wieder loslasse fällt das Relais wieder ab...
Config Portc.0 = Output
Relaisvor Alias Portc.0
Config Pind.1 = Input
Tasterd1 Alias Pind.1
Portd.1 = 1
Do
If Tasterd1 = 0 Then
Relaisvor = 1
Else
Relaisvor = 0
End If
Waitms 100
Loop
Bitte helft mir Dennis
Such mal nach Toggle in der Hilfe
Ja,verbinde es mit Debounce und nach möglichkeit mit nem Interrupt dann geht es supereinfach.
Gruß
Ratber
Das ist vieleicht nicht die eleganteste Lösung aber sie sollte funktionieren.
Config Portc.0 = Output
Config Int0 = Rising
Dim A As Bit
On Int0 Irq0
Enable Int0
Enable Interrupts
Do
If A = 1 And Portc.0 = 0 Then
Portc.0 = 1
A = 0
End If
If A = 1 And Portc.0 = 1 Then
Portc.0 = 0
A = 0
End If
Loop
Irq0:
A = 1
Return
MFg Orko
Du mußt noch entprellen (Manuel oder per Debounce) sonst hast du "Lotto"
Gruß
Ratber
Wow,Zitat von hoppi1978
das sind ja gigantische Vorschläge.
Also ich würde vorschlagen :
Config Portc.0=Output
Config portd.1=Input
main:
do
if pind.1=1 then
goto schalten
waitms 100 "Tastenentprellung auf einfache Art"
end if
loop
schalten:
toogle Portc.0
goto main
Gruß
Das ist ja echt super hier :=)
besten Dank euch allen !
Lesezeichen