hallo zusammen
ich habe ein problem ich will mit einem taster eine led an und aus schalten und das alles mit einem atmel mega32 und in Bascom .... hab schon en paar sachen versucht aber komm nicht darauf wei man das in Bascom programmieren kann würde mir freuen wenn mir jemand helfen könnte.
danke schon mal im voraus..
lg micha
Wenn du das so meinst das beim ersten Tastendruck die LED eingeschaltet wird und beim erneuten Tastendruck des Tasters wieder erlischt dann macht man das so:
Pin x.Y as input
portx.y as output
do
If pinx.y = 0 then
wait ms 100
toggle port x.y
end if
loop
für den Eingangspin sollte dann noch der interne pull up aktiviert werden damit der Controller ein low signal erkennt
Gruß
Neutro
Jemand mit einer neuen Idee ist ein Spinner, bis er Erfolg hat.
(Mark Twain)
hey danke für die schnelle antwort
@Neutro ich hab deine Beispiel mal kurz getestet funktoniert nicht so wie ich das gerne hätte wenn ich kurz auf den taster drücke schaltet er ein das is ja schon mal richtig drücke ich aber den taster nur kurze zeit später noch ein mal so schlatet die Led nicht aus .....weiß nicht woran das liegt .. fals jemand eine idee hat??
lg micha
Pin x.Y as input
portx.y as output
do
if pinx.y=0 then
while pinx.y = 0
wend
toggle port x.y
end if
loop
MfG Loki
Da wird der Taster prellen, kann klappen muß aber nicht.
Es gibt bei Bascom einen Befehl zum entprellen, habe den aber
nicht im Kopf irgendetwas mit Debonce oder ähnlich.
Gruß Richard
Ja, das stimmt. Also nochmal. XD
So richtig schön ist das zwar nicht, aber das sollte nun funzen.Code:Pin x.Y as input portx.y as output do if pinx.y=0 then waitms 10 if pinx.y=0 then while pinx.y = 0 wend toggle port x.y end if end if loop
@Richard: Danke für die Anmerkung.
MfG Loki
hey dacke ich werde es mal testen und schauen ob es so funktoniert wie ich des dachte
lg micha
entprell den taster doch einfach mit nem kleinen Kondensator?
Spart software-aufwand ^^
Huhu, bin neu hier ^^
Das entprellen des Tasters wird in dem Programmbeispiel von mir weiter oben bereits duch den waitms 100 Befehl realisiert. Ein softwareseitiges entprellen ist aber immer einfacher als ein hardwaremäßiges da weniger Bauteile benötigt werden und sich an der Software leichter Veränderungen vornehmen lassen. Aber es geht auch mit einem Kondensator.
Vielleicht wurde auch das "Config" das in allen Beispielen fehlt vergessen einzufügen.
config Pin x.Y as input
config portx.y as output
portx.Y = 1 'internen pull up setzen für den Eingang
portx.y = 1 'Ausgangspin mit LED einschalten
do
If pinx.y = 0 then
wait ms 100
toggle port x.y
end if
loop
Ich habe das jetzt mal eingefügt.
@Asuro91: schick uns doch mal dein Programm her dann können wir gezielter nach dem Fehler suchen und helfen. Ein Schaltplan wäre auch nicht schlecht, vielleicht liegt der Fehler ja auch hier.
Gruß
Neutro
Jemand mit einer neuen Idee ist ein Spinner, bis er Erfolg hat.
(Mark Twain)
Lesezeichen