Archiv verlassen und diese Seite im Standarddesign anzeigen : Led mit einem taster an und aus schalten ?? brauche hilfe
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
http://www.rn-wissen.de/index.php/Bascom#Einen_I.2FO_Port_umschalten
Lg
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
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
lokirobotics
29.01.2010, 13:27
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
lokirobotics
29.01.2010, 13:58
Ja, das stimmt. Also nochmal. XD
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
So richtig schön ist das zwar nicht, aber das sollte nun funzen.
@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
finn31224
30.01.2010, 04:18
entprell den taster doch einfach mit nem kleinen Kondensator?
Spart software-aufwand ^^
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
lokirobotics
31.01.2010, 02:17
@Neutro: Ich würde noch ne while-Schleife einfügen, um zu warten, bis der Benutzer den Taster wieder losgelassen hat. Sonst fängt die LED an mit 10Hz zu blinken, wenn man zu lange drückt.
Hi
ja des hab ich auch schon gemerkt danke, hab mich nämlich am anfang gewundert weil die immer geblinkt hat
lg micha
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.