-         

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 12

Thema: Led mit einem taster an und aus schalten ?? brauche hilfe

  1. #1
    Benutzer Stammmitglied
    Registriert seit
    23.07.2008
    Beiträge
    96

    Led mit einem taster an und aus schalten ?? brauche hilfe

    Anzeige

    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

  2. #2

  3. #3
    Erfahrener Benutzer Roboter Experte Avatar von Neutro
    Registriert seit
    28.10.2007
    Ort
    Ostfriesland
    Alter
    38
    Beiträge
    642
    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)

  4. #4
    Benutzer Stammmitglied
    Registriert seit
    23.07.2008
    Beiträge
    96
    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

  5. #5
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    19.05.2005
    Ort
    Berlin
    Beiträge
    316
    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

  6. #6
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    08.01.2006
    Beiträge
    4.556
    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

  7. #7
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    19.05.2005
    Ort
    Berlin
    Beiträge
    316
    Ja, das stimmt. Also nochmal. XD

    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
    So richtig schön ist das zwar nicht, aber das sollte nun funzen.
    @Richard: Danke für die Anmerkung.

    MfG Loki

  8. #8
    Benutzer Stammmitglied
    Registriert seit
    23.07.2008
    Beiträge
    96
    hey dacke ich werde es mal testen und schauen ob es so funktoniert wie ich des dachte
    lg micha

  9. #9
    Neuer Benutzer
    Registriert seit
    30.01.2010
    Ort
    Duttenstedt/Peine/NDS
    Alter
    24
    Beiträge
    1
    entprell den taster doch einfach mit nem kleinen Kondensator?
    Spart software-aufwand ^^
    Huhu, bin neu hier ^^

  10. #10
    Erfahrener Benutzer Roboter Experte Avatar von Neutro
    Registriert seit
    28.10.2007
    Ort
    Ostfriesland
    Alter
    38
    Beiträge
    642
    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)

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •