Forum: Mikrocontroller und Digitale Elektronik Taster als Schalter


von usel (Gast)


Lesenswert?

Hallo,

ich brächte mal einen kleinen denkanstoß.
Ich möchte gerne mit einem Taser eine LED zum leuchten bringen.
Die LED soll solange leuchten bis ich den selben taster nochmal
drücke.

Danke

von Tobi (Gast)


Lesenswert?

bau dir ein bistalbiles flipflop auf oder kauf dir ein fertiges, vergiss
nicht, den taster noch zu entprellen

von usel (Gast)


Lesenswert?

ops, hab vergessen zu sagen das ich mit Bascom arbeite und den AT90S2313
habe.

von Tobi (Gast)


Lesenswert?

dann such dir irgendwo ein paar bascom tutorials raus. einen port
abfragen und setzten sollte man sich doch noch selber erarbeiten können

von usel (Gast)


Lesenswert?

Hab ich ja, finde da blos nicht das richtige.


$regfile = "2313def.dat"
'AT90S2313
$crystal = "3686400"                                        'Quarz
3.6864 MHz

Ddrd = &B0000011                                            'Pin PD0
und PD1 als Ausgang
Portd = &B0000100                                           'PullUp
von PD3 Aktivieren

Do
   If Pind.3 = 0 Then                                       'wenn PD3
gedrückt dann...
      Portd.0 = 1                                           '...PD0
an
      Portd.1 = 1                                           '...PD1
an
   Else                                                     'Wenn PD3
nicht gedrückt dann...
      Portd.0 = 0                                           '...PD0
aus
      Portd.1 = 0                                           '...PD1
aus
   End If

Loop
End

Wenn ichs so mache gehen doch sobald ich den Taster loslasse die LEDs
aus oder nicht?

von Garfild (Gast)


Lesenswert?

Au mann.... Ich hab in meinem leben noch nie was mit bascom gamacht!
Aber trotzdem isses leicht:

$regfile = "2313def.dat"
'AT90S2313
$crystal = "3686400"                                        'Quarz
3.6864 MHz

Ddrd = &B0000011                                            'Pin PD0
und PD1 als Ausgang
Portd = &B0000100                                           'PullUp
von PD3 Aktivieren
Portd.0 = 0                                           '...PD0
aus
Portd.1 = 0                                           '...PD1
aus
Do
   If Pind.3 = 0 Then                                       'wenn PD3
gedrückt dann...
      Portd.0 = 1                                           '...PD0
an
      Portd.1 = 1                                           '...PD1
an
   End If
Loop
End

von usel (Gast)


Lesenswert?

mag ja sein das es für dich leicht ist, ich finde das alles ziemlich
schwer.

Und verstehen tu ich das was du da gepostet hast auch nicht wirklich.
Kanns leider erst morgen testen, weil mein experimentier board noch
nicht da ist.

von ...HanneS... (Gast)


Lesenswert?

Ich mach auch nix mit BASCOM, meine aber, dass es so nicht funktioniert,
denn ich vermisse das "Zauberwort" zum Entprellen der Taste(n). Da du
(@Usel) ja mit BASCOM "arbeitest", wirst du das auch leicht in der
BASCOM-Hilfe finden.

...

von usel (Gast)


Lesenswert?

Hallo,

ich habe prellfreie taster!

Was mich an dem von Garfield geschriebenem code nur etwas verwundert,
ist das wieder ausschalten der LEDs.
Das sie bei Tastendruck angehen ist ja ganz logisch, blos wo steht denn
da das sie bei erneutem tastendruck wieder ausgehen?

von ...HanneS... (Gast)


Lesenswert?

Du hast also prellfreie Taster. Ich nicht, denn alle mechanischen Taster
prellen.

Du fragst den (prellfreien) Taster in einer Schleife ab. Du bist auch
in der Lage, den Taster exakt so lange zu drücken, dass er nur in einem
Schleifendurchlauf gedrückt ist, im nächsten dann nicht mehr.

Dann ist das ganz einfach: zähle bei jedem Tastendruck eine Variable
hoch und werte deren unterstes Bit als Schaltzustand aus. Oder toggle
bei jedem Tastendruck den Ausgang.

Du bist nicht in der Lage, den Taster exakt genug zu betätigen??

Dann brauchst du eine gute Tastenentprellung, die jeden Tastendruck
(egal wie lange er dauert) und jedes Loslassen registriert und dir
eindeutige Flags für Tastenzustand und neuen Tastendruck liefert. Auch
für den Fall, dass du wirklich entprellte Tasten hast (kontaktlose
Tasten mit Triggerverhalten, z.B. Hall-Tasten mit eigener Elektronik).

...

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.