Zum Inhalt springen

Digitale Elektronik und Mikrocontroller – Taster entprellen und Ereignisse verarbeiten

Aus MOOCsWiki Staging
Version vom 8. Oktober 2026, 23:57 Uhr von Glanz (Diskussion | Beiträge) (aiMOOC über GPT aiMOOC Action erstellt)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
aiMOOC-Siegel aiMOOC

Digitale Elektronik und Mikrocontroller – Taster entprellen und Ereignisse verarbeiten

QR-Code



Einleitung

Digitale Elektronik und Mikrocontroller – Taster entprellen und Ereignisse verarbeiten

Zielgruppe: Ausbildung in Elektronik, Mechatronik und Informationstechnik.

Kurzbeschreibung: Ein mechanischer Taster erzeugt beim Betätigen häufig mehrere schnelle Kontaktwechsel. Du lernst, dieses Kontaktprellen zu erkennen, per Software zu entprellen und eindeutige Ereignisse zu verarbeiten.

Lernzeit: Etwa 60–90 Minuten für sieben kurze Lerneinheiten; anschließend Projekt- und Transferaufgaben.

Deine Lernziele:

  1. Digitaler Eingang: Du erklärst HIGH, LOW und Pull-up-Widerstände.
  2. Kontaktprellen: Du untersuchst reale und simulierte Signalverläufe.
  3. Softwareentprellung: Du programmierst eine zeitbasierte Entprellung.
  4. Flankenerkennung: Du verarbeitest jeden bestätigten Tastendruck einmal.
  5. Systematisches Testen: Du prüfst das Verhalten mit Signaldiagrammen und Testfällen.

Sicherheit: Arbeite im Kurs ausschließlich mit Browser-Simulationen oder dafür geeigneten, berührungssicheren und freigegebenen Schulungsmodellen. Keine eigenständigen Arbeiten an Netzspannung, realen Elektroanlagen, Maschinensteuerungen oder Sicherheitsfunktionen. Reale Elektroarbeiten dürfen nur entsprechend qualifizierte und beauftragte Personen nach den betrieblichen Sicherheitsregeln durchführen. Simulationen und Quizresultate ersetzen weder eine fachliche Prüfung noch eine Arbeits- oder Anlagenfreigabe.


Ausbildungsfall: Ein Taster zählt Prüfstücke

Auftrag aus der Ausbildung:

An einem simulierten Prüfplatz wird jedes fertig geprüfte Werkstück mit einem Taster bestätigt. Ein Arduino Uno zählt diese Bestätigungen. Die eingebaute LED wechselt bei jedem gültigen Tastendruck ihren Zustand.

Das Problem: Bei einem Tastendruck steigt der Zähler manchmal mehrfach.

Die Anforderung: Ein vollständiger Tastendruck mit anschließendem Loslassen soll genau ein Ereignis erzeugen. Ein längeres Gedrückthalten darf keine zusätzlichen Ereignisse auslösen.

Abbildung: Arduino Uno als beispielhafte Mikrocontrollerplattform. Das Projekt bleibt zunächst vollständig in der Simulation.

Dein Arbeitsauftrag: Ursache erkennen, Eingang richtig beschalten, Software verbessern und Funktion durch Testfälle belegen.


Lernpfad: Sieben kurze Einheiten


Lerneinheit 1: Was passiert im Taster?

Dauer: 5–7 Minuten

Ein mechanischer Taster besitzt bewegliche Kontakte. Beim Schließen können diese kurz zurückfedern. Der elektrische Kontakt schließt und öffnet sich mehrfach, obwohl Du nur einmal drückst.

Abbildung: Mechanischer Aufbau eines Tasters.

Stromlaufplansymbol eines Schließertasters: Im Ruhezustand offen.

Merksatz: Eine mechanische Betätigung ist nicht automatisch ein einzelner elektrischer Zustandswechsel.

Basisaufgabe: Zeichne einen Schließertaster in Ruhestellung und beschreibe, was beim Drücken geschieht.

Begründetes Feedback: Richtig ist Deine Erklärung, wenn sich der Kontakt nur während der Betätigung schließt. Kontaktprellen kann dabei zusätzliche kurze Übergänge erzeugen.


Lerneinheit 2: Den digitalen Eingang richtig verstehen

Dauer: 7 Minuten

Ein Pull-up-Widerstand hält einen offenen Digitaleingang auf einem definierten HIGH-Pegel. Beim Drücken verbindet unser Taster den Eingang mit GND: Der Pegel wird LOW.

Vergleich: Pull-up und Pull-down. Unser Projekt verwendet die Pull-up-Variante.

Stromlaufbild des Ausbildungsfalls:

        +5 V (intern im Arduino Uno)
                    |
              R_PULLUP
                intern
                    |
Arduino D2 ---------+--------o/ o------ GND
                              S1
                         Schließertaster

Arduino D13 / LED_BUILTIN:
LED bereits auf der Uno-Platine vorhanden

Optional zur Signalaufzeichnung:
D2 --> Logikanalysator Kanal D0
D8 --> Logikanalysator Kanal D1

Vereinfachtes Stromlaufbild für die Simulation des Arduino Uno, kein Verdrahtungsplan für reale Anlagen. Der interne Pull-up verbindet den Eingang hochohmig mit der Versorgung.

Im Programm aktivierst Du den internen Pull-up so:

pinMode(2, INPUT_PULLUP);
Taster Eingang D2 Bedeutung
Nicht gedrückt HIGH Ruhezustand
Gedrückt LOW Betätigung

Wichtig: Diese HIGH/LOW-Zuordnung gilt für die gezeigte Schaltung mit Pull-up. Eine andere Eingangsbeschaltung kann andere Pegel ergeben. Die Versorgungsspannung hängt vom jeweiligen Mikrocontrollerboard ab.

Mini-Auftrag: Erkläre, warum ein unbeschalteter Eingang ohne Pull-up oder Pull-down kein zuverlässig definierter Eingang ist.

Feedback: Ein offener Eingang kann aufgrund elektrischer Störungen wechselnde Werte liefern. Der Pull-up legt den Ruhepegel fest.


Lerneinheit 3: Kontaktprellen im Signaldiagramm

Dauer: 8 Minuten

Ein mechanischer Kontakt kann innerhalb weniger Millisekunden mehrfach umschalten. Ein schneller Mikrocontroller erkennt daraus unter Umständen mehrere vermeintliche Tastendrücke.

Reales Oszillogramm eines prellenden Schalters. Dieses Bild zeigt eine dokumentierte Messung, nicht den Versuchsaufbau des Kurses.

Vergrößerter Signalverlauf beim Kontaktprellen.

Vereinfachtes Signaldiagramm:

Zeit ------------------------------------>

Soll-Signal:
HIGH ________
            |__________________ LOW

Rohsignal mit Prellen:
HIGH ________    __    _
            |__|  |__| |_______ LOW

Stabil bestätigtes Signal:
HIGH ___________________
                       |_______ LOW
                       ^
                 ein Ereignis

Schematische Darstellung ohne maßstäbliche Zeitachse. Das stabile Signal wechselt erst, nachdem der neue Rohpegel die festgelegte Entprellzeit lang unverändert geblieben ist.

Videobeispiel: Was ist Kontaktprellen?

DigiKey: What is Switch Bounce and Debouncing?

Beobachtungsauftrag: Notiere, weshalb ein einzelner mechanischer Tastendruck mehrere elektrische Flanken erzeugen kann.

Feedback: Die Ursache ist die mechanische Kontaktbewegung. Das Problem liegt zunächst am Eingangssignal und ist nicht automatisch ein Softwarefehler.


Lerneinheit 4: Softwareentprellung mit millis()

Dauer: 10 Minuten

Bei der Softwareentprellung wird ein neuer Eingangszustand erst übernommen, wenn er lange genug unverändert geblieben ist.

Unser Beispiel verwendet eine Entprellzeit von 30 ms. Dieser Wert ist ein didaktischer Startwert, keine allgemeingültige Eigenschaft aller Taster. In realen Entwicklungen muss er anhand von Anforderungen, Datenblättern und Messungen ausgewählt werden.

Prinzip:

  1. Lies den aktuellen Rohpegel.
  2. Registriere den Zeitpunkt jedes Rohpegelwechsels.
  3. Warte auf eine ausreichend lange stabile Phase.
  4. Übernimm den neuen bestätigten Zustand.
  5. Verarbeite nur den gewünschten Zustandsübergang als Ereignis.

Warum millis() statt delay()?

Mit millis() kann die Hauptschleife weiterarbeiten. delay() blockiert dagegen die Programmausführung während der Wartezeit und kann andere Aufgaben beeinträchtigen.

Programm für den simulierten Arduino Uno:

// Lernbeispiel: Taster entprellen und
// bestaetigte Tastendruecke zaehlen.
// S1: D2 gegen GND, INPUT_PULLUP
// LED: LED_BUILTIN
// D8: optionaler stabiler Signalausgang

const byte TASTER = 2;
const byte STABIL_PIN = 8;
const unsigned long PRELLZEIT = 30;

bool rohVorher = HIGH;
bool stabil = HIGH;
bool ledAn = false;

unsigned long seitWechsel = 0;
unsigned long zaehler = 0;

void setup() {
  pinMode(TASTER, INPUT_PULLUP);
  pinMode(STABIL_PIN, OUTPUT);
  pinMode(LED_BUILTIN, OUTPUT);

  digitalWrite(STABIL_PIN, HIGH);
  digitalWrite(LED_BUILTIN, LOW);

  Serial.begin(115200);
}

void loop() {
  unsigned long jetzt = millis();
  bool roh = digitalRead(TASTER);

  // Jeder neue Rohpegel startet
  // die Beobachtungszeit erneut.
  if (roh != rohVorher) {
    seitWechsel = jetzt;
  }

  // Nur einen lange genug stabilen
  // neuen Zustand uebernehmen.
  if ((jetzt - seitWechsel) >= PRELLZEIT
      && roh != stabil) {

    stabil = roh;
    digitalWrite(STABIL_PIN, stabil);

    // Nur die bestaetigte
    // HIGH-zu-LOW-Flanke zaehlen.
    if (stabil == LOW) {
      zaehler++;
      ledAn = !ledAn;

      digitalWrite(
        LED_BUILTIN,
        ledAn ? HIGH : LOW
      );

      Serial.print("Ereignisse: ");
      Serial.println(zaehler);
    }
  }

  rohVorher = roh;
}

Was leisten die Variablen?

Variable Funktion
roh Aktuell gelesener Eingang
rohVorher Rohwert des vorherigen Schleifendurchlaufs
seitWechsel Zeitpunkt des letzten Rohpegelwechsels
stabil Bestätigter Eingangszustand
PRELLZEIT Erforderliche unveränderte Signalzeit
zaehler Anzahl bestätigter Tastendrücke

Beachte: Das Programm erwartet beim Start einen nicht gedrückten Taster. Die Zeitberechnung nutzt unsigned long und eine Differenzbildung, wie sie für millis() zweckmäßig ist.

Vertiefungsvideo: Taster softwareseitig entprellen

learnelectronics: How to debounce a button for Arduino.

Anwendungsaufgabe: Ändere die Entprellzeit in der Simulation auf 5 ms, 30 ms und 80 ms. Vergleiche das Verhalten.

Feedback: Eine sehr kurze Zeit kann unerwünschte Wechsel durchlassen. Eine lange Zeit macht die Eingabe träger und kann kurze beabsichtigte Betätigungen unterdrücken. Die richtige Einstellung ist eine begründete Abwägung.


Lerneinheit 5: Ereignisse und Flanken

Dauer: 6 Minuten

Ereignisgesteuerte Programmierung reagiert auf Änderungen, statt bei jedem Schleifendurchlauf dieselbe Aktion auszuführen.

Bei unserer Pull-up-Schaltung gilt:

HIGH → LOW: bestätigter Tastendruck.

LOW → HIGH: bestätigtes Loslassen.

Wir zählen nur die erste dieser beiden Flanken.

Beispiel einer Signalfolge:

Zeitpunkt Rohpegel Bestätigter Pegel Neue Ereignisse
0 ms HIGH HIGH 0
100 ms LOW HIGH 0
102 ms HIGH HIGH 0
104 ms LOW HIGH 0
133 ms LOW HIGH 0
134 ms LOW LOW 1
200 ms HIGH LOW 0
205 ms LOW LOW 0
210 ms HIGH LOW 0
240 ms HIGH HIGH 0

Didaktisches Zeitbeispiel bei einer Entprellzeit von 30 ms. Zeitpunkte setzen entsprechend häufige Abfragen voraus.

Warum wird beim Loslassen nicht gezählt?

Weil das Programm ausschließlich den Wechsel des bestätigten Zustands auf LOW als Zählereignis definiert.

Zweites Videobeispiel: Zählfehler durch Prellen

educ8s.tv: Arduino Button Debounce Tutorial. Vergleiche die gezeigte einfache Wartezeitlösung mit der nichtblockierenden Lösung dieses Kurses.

Transferfrage: Was musst Du ändern, wenn statt eines Tastendrucks das bestätigte Loslassen gezählt werden soll?

Feedback: Das Ereignis wird dann beim stabilen Wechsel auf HIGH ausgelöst. Die elektrische Eingangsbeschaltung muss dafür nicht geändert werden.


Lerneinheit 6: Berührungssichere Simulation und Signalmessung

Dauer: 10–15 Minuten

Nutze den browserbasierten Mikrocontrollersimulator Wokwi. Er simuliert das Kontaktprellen von Tastern standardmäßig. Das Attribut bounce: 0 deaktiviert diesen Effekt zum Vergleich.

Simulation A: Prellender und nicht prellender Taster

Wokwi-Beispiel: Bounce versus Non-Bounce

Versuch:

  1. Starte die Simulation und öffne den seriellen Monitor.
  2. Betätige den roten Taster und beobachte die gemeldeten Wechsel.
  3. Betätige den blauen Taster mit deaktiviertem Prellen.
  4. Vergleiche die Anzahl der erkannten Zustandsänderungen.

Feedback: Der rote Taster kann mehrere schnelle Zustandswechsel zeigen. Das Beispiel verdeutlicht Rohflanken; es liefert noch keine robuste Ereigniszählung.

Simulation B: Entprellte Betätigung

Wokwi-Startprojekt: Taster mit Softwareentprellung

Auftrag: Erstelle eine eigene Kopie, verwende den Lerncode aus Einheit 4 und prüfe den Taster an D2 gegen GND sowie die eingebaute LED an D13. Der interne Pull-up ist im Programm aktiviert.

Optional: Signalaufzeichnung mit virtuellem Logikanalysator

Wokwi: Anleitung zum virtuellen Logikanalysator

Der virtuelle Logikanalysator kann das Rohsignal von D2 und den bestätigten Pegel von D8 vergleichen. Verbinde im Simulator D2 mit Analysatorkanal D0 und D8 mit D1. Nach dem Beenden der Simulation lässt sich die VCD-Aufzeichnung mit einer geeigneten Signalansicht, beispielsweise PulseView, auswerten.

Erwartung: Auf D2 können kurze Prellimpulse auftreten. D8 wechselt erst bei einem bestätigten Zustandswechsel. Die eingebaute LED ändert sich genau einmal je akzeptierter Betätigung.

Prüfplan:

Testfall Eingabe Erwartung
Einzelbetätigung Einmal ausreichend lange drücken und loslassen Zähler +1
Langdruck Mindestens zwei Sekunden gedrückt halten Weiterhin nur +1
Wiederholung Dreimal drücken, dazwischen jeweils ausreichend lange loslassen Zähler +3
Kurzer Störimpuls Nur 10 ms LOW, dann dauerhaft HIGH Kein neues Ereignis
Loslassen mit Prellen Wechselnde Rohpegel beim Loslassen Kein zusätzlicher Zählimpuls

Wichtig zur Bewertung: Die kurzen Eingangspulse lassen sich durch eine geeignete Simulationssequenz oder ein künstliches Testsignal reproduzierbar prüfen. Einzelne schnelle Handklicks sind keine exakte Zeitmessung.

Feedback: Ein vollständiger Nachweis enthält die Eingabefolge, den beobachteten Zählerstand, den erwarteten Zählerstand und eine Erklärung bei Abweichungen.


Lerneinheit 7: Diagnose und Hardwarealternativen

Dauer: 6–8 Minuten

Nicht jedes System kann allein durch dieselbe Softwarelösung zuverlässig entprellt werden. Manchmal werden Hardwarefilter, definierte Abtastverfahren oder weitere Anforderungen an Reaktionszeiten benötigt.

RC-Tiefpass: Widerstand und Kondensator können schnelle Signalanteile dämpfen.

Schmitt-Trigger: Ein Eingang mit Hysterese hilft dabei, eindeutige digitale Schaltzustände zu bilden.

Mögliche Lösungswege:

Verfahren Nutzen Grenze
Software mit millis() Flexibel und nichtblockierend Benötigt regelmäßige Eingangsauswertung
RC-Tiefpass mit Schmitt-Trigger Filterung und Signalformung in Hardware Zusätzliche Auslegung und Bauteile
Zustandsautomat Klare Trennung von Drücken, Halten und Loslassen Höherer Programmieraufwand

Diagnosefrage: Weshalb ist ein einfacher Kondensator allein nicht automatisch eine vollständige Lösung?

Feedback: Ein RC-Glied verändert den zeitlichen Spannungsverlauf. Für einen eindeutig erkannten digitalen Zustand müssen auch Eingangsschwellen, Störungen und die Eigenschaften der nachfolgenden Logik berücksichtigt werden.

Grenze des Lernfalls: Das hier entwickelte Verfahren ist für einfache Bedienereignisse gedacht. Es darf nicht ungeprüft zur Realisierung sicherheitsbezogener Maschinenfunktionen oder Not-Halt-Einrichtungen verwendet werden.


Gestufte Lernhilfen

Situation: Dein Zähler springt bei einer Betätigung mehrfach.

Hilfestufe Arbeitsimpuls
Hilfe 1 – Denke nach Beobachte die Rohflanken. Wird ein physischer Druck als mehrere Zustandswechsel gelesen?
Hilfe 2 – Untersuche Prüfe den Pull-up, den Zeitpunkt des letzten Rohpegelwechsels und die Länge des stabilen Zeitfensters.
Hilfe 3 – Konkrete Unterstützung Vergleiche die Bedingungen roh != rohVorher, jetzt - seitWechsel >= PRELLZEIT und stabil == LOW mit dem Programm aus Einheit 4.

Situation: Der Taster wird beim schnellen Drücken nicht erkannt.

Hilfestufe Arbeitsimpuls
Hilfe 1 Vergleiche Dauer der Betätigung und eingestellte Entprellzeit.
Hilfe 2 Prüfe, ob das Signal lange genug stabil bleibt und das Loslassen ebenfalls bestätigt wird.
Hilfe 3 Erstelle ein Testdiagramm für 10 ms, 30 ms und 80 ms und begründe, ob die geforderte Bediengeschwindigkeit erreichbar ist.


Interaktive Aufgaben


Quiz: Teste Dein Wissen

Was ist Kontaktprellen? (Mehrfaches kurzes Öffnen und Schließen eines mechanischen Kontakts) (!Ein dauerhafter Kurzschluss des Mikrocontrollers) (!Eine automatische Spannungsregelung) (!Eine besondere Art der Programmschleife)




Welchen Eingangswert liest ein Arduino Uno mit INPUT_PULLUP bei nicht gedrücktem Taster? (HIGH) (!LOW) (!Immer einen zufälligen Wert) (!Immer einen analogen Mittelwert)




Was liest der Eingang beim Drücken des Tasters gegen GND? (LOW) (!HIGH) (!Eine steigende Frequenz) (!Eine negative Versorgungsspannung)




Welche Verbindung zeigt der Stromlaufplan des Lernfalls? (Taster zwischen D2 und GND) (!Taster zwischen Netzphase und D2) (!Taster direkt zwischen 5 V und GND) (!Taster ausschließlich zwischen zwei Ausgängen)




Wann übernimmt die zeitbasierte Entprellung einen neuen Zustand? (Wenn der neue Rohpegel mindestens die Entprellzeit unverändert bleibt) (!Bei jedem schnellen Pegelwechsel) (!Bei jedem Schleifendurchlauf) (!Immer sofort beim ersten kurzen Impuls)




Welchen Vorteil hat millis gegenüber einer blockierenden Wartezeit? (Andere Aufgaben können während der Zeitüberwachung weiterlaufen) (!Der Mikrocontroller benötigt keinen Takt mehr) (!Der Eingang wird automatisch elektrisch isoliert) (!Kontaktprellen verschwindet mechanisch)




Wie viele Zählereignisse soll ein einziger ausreichend langer Tastendruck auslösen? (Ein Ereignis) (!Zwei Ereignisse) (!Ein Ereignis je Millisekunde) (!Unbegrenzt viele Ereignisse)




Welche bestätigte Flanke zählt das Lernprogramm? (Den Wechsel von HIGH nach LOW) (!Den Wechsel von LOW nach HIGH) (!Jeden Wechsel zwischen zwei Rohpegeln) (!Nur einen Wechsel am analogen Versorgungseingang)




Wozu dient ein Pull-up-Widerstand? (Er sorgt für einen definierten HIGH-Ruhepegel) (!Er erzeugt automatisch einen Takt) (!Er ersetzt jede Entprellsoftware) (!Er schaltet die Versorgung dauerhaft aus)




Welche Bedeutung hat ein erfolgreiches Quiz für reale Elektroarbeiten? (Es stellt keine Arbeitsfreigabe dar) (!Es erlaubt selbstständige Arbeiten an Netzspannung) (!Es ersetzt die betriebliche Beauftragung) (!Es ersetzt die fachliche Prüfung jeder Schaltung)




Begründetes Quizfeedback: Entscheidend sind drei Zusammenhänge: Ein mechanischer Kontakt kann mehrere Rohflanken erzeugen; die Entprellung bestätigt erst einen stabilen Pegel; die Flankenerkennung löst daraufhin genau ein gewünschtes Ereignis aus. Quizpunkte zeigen Lernfortschritt, jedoch keine praktische Arbeitsberechtigung.


Memory

Kontaktprellen Mehrfache kurze Kontaktwechsel
Pull-up Definierter hoher Ruhepegel
INPUT_PULLUP Aktivierung des internen Eingangswiderstands
Rohzustand Ungefiltert gelesener Pinwert
Entprellzeit Mindestdauer eines unveränderten Signals
Flanke Übergang zwischen logischen Pegeln
millis Zeitbasis in Millisekunden
Ereigniszähler Anzahl bestätigter Betätigungen





Drag and Drop

Ordne die richtigen Begriffe zu. Bedeutung
HIGH Logischer hoher Signalpegel
LOW Logischer niedriger Signalpegel
Pull-up Festlegung eines definierten Ruhepegels
Entprellung Unterdrückung unerwünschter Kontaktwechsel
Flankenerkennung Auswertung eines Zustandsübergangs
Zeitstempel Zeitpunkt eines beobachteten Signalwechsels
Zustandsautomat Verarbeitung über definierte Zustände und Übergänge





Kreuzworträtsel

Prellen Wie heißt das mehrfache Kontaktöffnen und Kontaktschließen bei einer mechanischen Betätigung?
Pullup Welcher Widerstand hält einen offenen Digitaleingang auf einem hohen Signalpegel?
Flanke Wie heißt der Wechsel zwischen zwei logischen Zuständen?
Timer Welches Zeitmesskonzept kann zur Überprüfung eines Zeitfensters dienen?
Entprellen Wie heißt das Unterdrücken unerwünschter Kontaktwechsel bei der Signalauswertung?
Schmitttrigger Welches Schaltungselement verwendet Hysterese zur eindeutigen Pegelentscheidung?





LearningApps

Die Suchansicht dient als ergänzender Übungszugang. Gefundene Anwendungen müssen vor dem Unterricht auf fachliche Richtigkeit, Eignung und Rechte geprüft werden.


Lückentext

Vervollständige den Text.
Ein mechanisch verursachtes mehrfaches Öffnen und Schließen eines Kontakts nennt man

.
Der verwendete Taster verbindet beim Drücken den digitalen Eingang mit

.
Der Befehl

aktiviert beim Arduino den internen Pull-up-Widerstand.
Im unbetätigten Zustand liest unser digitaler Eingang den Wert

.
Im betätigten Zustand liest unser digitaler Eingang den Wert

.
Eine Softwareentprellung übernimmt nur einen ausreichend lange

Eingangszustand.
Die Arduino-Funktion

liefert eine Zeitbasis in Millisekunden.
Ein bestätigter Pegelwechsel heißt auch

.
Das Lernprogramm registriert bei jeder akzeptierten Betätigung genau ein

.
Ein dauerhaft gedrückter Taster darf den Ereigniszähler nicht mehrfach

.
Eine übermäßig große Entprellzeit kann die Reaktion des Systems

.
Zur Überprüfung einer Entwicklung dienen reproduzierbare

.
Ein erfolgreiches Quiz ersetzt niemals eine fachliche

.




Offene Aufgaben

Die Aufgaben sind nach Basis, Anwendung und Transfer geordnet. Arbeite grundsätzlich zuerst in der Simulation.


Leicht – Basisaufgaben

  1. Taster: Zeichne einen Schließer und beschrifte die beiden Kontaktstellungen. Feedback: Die Skizze ist fachlich stimmig, wenn der Kontakt erst bei Betätigung leitend wird.
  2. Kontaktprellen: Markiere in einem Oszillogramm die kurzen unerwünschten Signalwechsel. Feedback: Entscheidend ist die Unterscheidung zwischen einem mechanischen Druck und mehreren elektrischen Übergängen.
  3. Pull-up-Widerstand: Erkläre mit einer eigenen Zeichnung HIGH und LOW im Lernfall. Feedback: Der Ruhepegel muss HIGH und der gedrückte Zustand LOW sein, weil der Taster den Eingang nach GND verbindet.
  4. Signaldiagramm: Erstelle ein Diagramm mit Rohsignal und bestätigtem Eingangszustand. Feedback: Die bestätigte Flanke muss nach einer ausreichend langen stabilen Signalphase liegen.


Standard – Anwendungsaufgaben

  1. Softwareentprellung: Setze den Beispielcode in der Simulation um und dokumentiere zehn einzelne Betätigungen. Feedback: Das Soll sind zehn bestätigte Ereignisse; begründe jede Abweichung anhand des Signalverlaufs.
  2. Millis: Vergleiche Entprellzeiten von 5 ms, 30 ms und 80 ms. Feedback: Bewerte Störunterdrückung und Reaktionszeit gemeinsam, statt nur den höchsten oder niedrigsten Wert zu wählen.
  3. Flankenerkennung: Ändere das Programm so, dass nur das bestätigte Loslassen gezählt wird. Feedback: Bei Pull-up-Beschaltung ist dies die stabile LOW-zu-HIGH-Flanke; ein langes Loslassen erzeugt keine Wiederholungen.
  4. Testprotokoll: Lege für Einzelbetätigung, Langdruck, kurze Störimpulse und wiederholte Betätigungen Soll- und Ist-Werte an. Feedback: Ein brauchbares Protokoll macht Bedingungen, Erwartungen und Abweichungen nachvollziehbar.


Schwer – Transferaufgaben

  1. Zustandsautomat: Entwickle ein Zustandsdiagramm mit Ruhe, Entprellprüfung, Gedrückt und Freigabeprüfung. Feedback: Der Automat ist schlüssig, wenn ohne bestätigtes Loslassen keine zweite Zählung möglich ist.
  2. Mikrocontroller: Entwirf eine Bedienoberfläche mit zwei Tastern für Aufwärts- und Abwärtszählen, ausschließlich in der Simulation. Feedback: Beide Eingänge benötigen getrennte Zustände und Zeitstempel, damit gleichzeitige Aktionen sauber verarbeitet werden.
  3. Echtzeitsystem: Untersuche, warum sehr kurze Tastendrücke bei einer langen Entprellzeit verloren gehen können. Feedback: Eine überzeugende Lösung betrachtet minimale Betätigungsdauer, Abtastung, Prellzeit und zulässige Reaktionsverzögerung.
  4. Technische Dokumentation: Produziere ein kurzes Erklärvideo oder eine animierte Bildschirmpräsentation mit Stromlaufbild, Rohsignal, stabilem Signal und Testergebnis. Feedback: Deine Darstellung ist nachvollziehbar, wenn sie Ursache, Algorithmus, Beleg und Grenzen eindeutig verbindet.




Text bearbeiten Bild einfügen Video einbetten Interaktive Aufgaben erstellen



Lernkontrolle

Die Lernkontrolle verlangt Begründungen und Übertragungen auf neue Situationen. Verwende Stromlaufbilder, Signaldiagramme oder Simulationsergebnisse.

  1. Fehleranalyse: Ein Taster zählt bei einem Druck dreimal. Entwickle eine Diagnose vom Eingangssignal über die Entprellung bis zur Ereignisverarbeitung und begründe Deine Reihenfolge.
  2. Schaltungsanalyse: Ein anderer Mikrocontroller liest ungedrückt LOW und gedrückt HIGH. Erkläre, welche Eingangsbeschaltung dies ermöglichen kann und wie die Ereignisbedingung anzupassen ist.
  3. Zeitverhalten: Eine Bedienanforderung verlangt sehr schnelle doppelte Tastendrücke. Untersuche, unter welchen Bedingungen eine feste Entprellzeit die Unterscheidung verhindert.
  4. Algorithmusvergleich: Vergleiche einen blockierenden delay-Ansatz und eine millis-basierte Lösung für ein System, das gleichzeitig eine Anzeige aktualisieren muss.
  5. Qualitätssicherung: Entwickle mindestens fünf reproduzierbare Testfälle mit Eingabesignal, Sollereignissen und Kriterien zur Fehlerbewertung.
  6. Systemtransfer: Übertrage die Entprellung auf ein Tastenfeld oder einen mechanischen Endschalter in einer ungefährlichen Simulation und erläutere zusätzliche Anforderungen.
  7. Sicherheitsbewertung: Erkläre, warum ein erfolgreich getesteter Tasterzähler keine Freigabe für den Einsatz in einer realen sicherheitsbezogenen Steuerung bedeutet.

Bewertungsraster:

Kompetenz Nachweis
Fachliche Erklärung Kontaktprellen und Pegelzuordnung korrekt
Algorithmisches Denken Zeitüberwachung, Stabilisierung und Ereignis getrennt
Nachvollziehbarkeit Soll-Ist-Vergleich und reproduzierbare Testfälle
Transfer Anpassungen an andere Bedingungen begründet
Sicherheit Simulationsgrenzen und erforderliche fachliche Freigaben erkannt




Lernnachweis

Erstelle ein kleines digitales Projektdossier mit folgenden Bestandteilen:

  1. Stromlaufbild: Taster, GND, Pull-up und Mikrocontrollereingang korrekt dargestellt.
  2. Signaldiagramm: Rohpegel, bestätigter Pegel und Zählereignis gekennzeichnet.
  3. Programm: Lauffähige nichtblockierende Entprellung mit verständlichen Kommentaren.
  4. Simulation: Dokumentierte Testdurchführung mit Link oder zulässigen Screenshots.
  5. Testprotokoll: Mindestens fünf Fälle, jeweilige Soll- und Ist-Ergebnisse und Fehleranalyse.
  6. Reflexion: Begründung der Entprellzeit und Erklärung ihrer Grenzen.
  7. Sicherheitsbewusstsein: Klare Unterscheidung zwischen einer didaktischen Simulation und einer realen Elektroarbeit.

Beurteilung: Der Lernnachweis wird fachlich durch die ausbildende oder lehrende Person bewertet. Weder Testergebnisse noch Quizpunkte erteilen eine Berechtigung oder Freigabe für Arbeiten an Elektroanlagen.




OERs zum Thema

Wikipedia: Prellen

Weitere Grundlagen:

Fachlich geprüfte Vertiefungsquellen:

  1. Arduino Documentation – Debounce: Offizielles Programmierbeispiel zur Tasterentprellung.
  2. Arduino Documentation – State Change Detection: Auswertung von Zustandsänderungen.
  3. Arduino Documentation – Blink Without Delay: Zeitsteuerung ohne blockierendes Warten.
  4. Wokwi – Pushbutton Reference: Anschlussbelegung und simuliertes Kontaktprellen.
  5. Wokwi – Logic Analyzer Guide: Virtuelle Aufzeichnung digitaler Signale.
  6. DigiKey – Hardware Debounce: Hardwareverfahren und Einsatzgrenzen.
  7. DigiKey – Software-Based Debounce: Hintergrund zur Softwareentprellung.


Mediennachweise und Nutzungsrechte

Wikimedia-Commons-Abbildungen – geprüfte Dateiseiten:

  1. ArduinoUno.svg: PhilippHenkel, CC BY-SA 4.0.
  2. Push button diagram.svg: REisemann3937, CC BY-SA 3.0.
  3. Push-to-make switch electronic symbol.svg: Tomdudman, CC0 1.0.
  4. Pullup and pulldown resistors.svg: Lambtron, CC BY-SA 4.0.
  5. Switch bounce.JPG: Tomoldbury, Public Domain.
  6. Bouncy Switch.png: Super Rad!, CC0 1.0.
  7. RC lowpass filter.svg: TU Maije, CC0 1.0.
  8. Schmitt trigger DIN.svg: MichaelFrey, Public Domain.

Die Abbildungen werden unverändert eingebunden. Bei einer Bearbeitung gelten die Bedingungen der jeweiligen Dateilizenz, insbesondere die Namensnennung und Weitergabe unter gleichen Bedingungen, soweit vorgeschrieben.

Videos: Die drei verlinkten YouTube-Videos stammen von DigiKey beziehungsweise den Bildungsanbietern learnelectronics und educ8s.tv. Sie werden nur über den YouTube-Player eingebunden, nicht kopiert oder als frei lizenzierte OER ausgegeben. Die Nutzung ist an die jeweiligen Plattformbedingungen und Rechte der Rechteinhaber gebunden. Gezeigte reale Aufbauten sind keine Aufforderung zum Nachbau.

Simulationen: Die verlinkten Wokwi-Projekte sind bestehende externe Lernsimulationen. Die Lernenden verwenden sie im Browser oder erstellen eigene Varianten. Quellcode und Projektinhalte Dritter sind nicht allein durch Verlinkung frei nachnutzbar. Der im Kurs formulierte Lerncode ist eine eigenständige didaktische Umsetzung.

Hinweis: Die externen Inhalte und ihre Erreichbarkeit können sich ändern. Vor Unterrichtseinsatz sind Funktion und Rechte erneut zu kontrollieren.


Verknüpfte Lernbereiche


aiMOOC-Projekte



Schulfach+




aiMOOCs



aiMOOC Projekte









MOOCwiki · Deutsch

Nach dem Lernen ist vor dem Lernen

Entdecke direkt den nächsten Lernkurs. Weitere Inhalte erscheinen, wenn Du weiter nach unten scrollst.

Zur MOOCwiki-Hauptseite

Mediathek

Inhalte werden geladen ...

Mediathek wird aus dem Wiki geladen ...