Digitale Elektronik und Mikrocontroller – Taster entprellen und Ereignisse verarbeiten
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:
- Digitaler Eingang: Du erklärst HIGH, LOW und Pull-up-Widerstände.
- Kontaktprellen: Du untersuchst reale und simulierte Signalverläufe.
- Softwareentprellung: Du programmierst eine zeitbasierte Entprellung.
- Flankenerkennung: Du verarbeitest jeden bestätigten Tastendruck einmal.
- 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:
- Lies den aktuellen Rohpegel.
- Registriere den Zeitpunkt jedes Rohpegelwechsels.
- Warte auf eine ausreichend lange stabile Phase.
- Übernimm den neuen bestätigten Zustand.
- 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:
- Starte die Simulation und öffne den seriellen Monitor.
- Betätige den roten Taster und beobachte die gemeldeten Wechsel.
- Betätige den blauen Taster mit deaktiviertem Prellen.
- 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
Offene Aufgaben
Die Aufgaben sind nach Basis, Anwendung und Transfer geordnet. Arbeite grundsätzlich zuerst in der Simulation.
Leicht – Basisaufgaben
- 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.
- Kontaktprellen: Markiere in einem Oszillogramm die kurzen unerwünschten Signalwechsel. Feedback: Entscheidend ist die Unterscheidung zwischen einem mechanischen Druck und mehreren elektrischen Übergängen.
- 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.
- 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
- 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.
- 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.
- 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.
- 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
- 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.
- 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.
- 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.
- 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.


Lernkontrolle
Die Lernkontrolle verlangt Begründungen und Übertragungen auf neue Situationen. Verwende Stromlaufbilder, Signaldiagramme oder Simulationsergebnisse.
- 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.
- 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.
- Zeitverhalten: Eine Bedienanforderung verlangt sehr schnelle doppelte Tastendrücke. Untersuche, unter welchen Bedingungen eine feste Entprellzeit die Unterscheidung verhindert.
- Algorithmusvergleich: Vergleiche einen blockierenden delay-Ansatz und eine millis-basierte Lösung für ein System, das gleichzeitig eine Anzeige aktualisieren muss.
- Qualitätssicherung: Entwickle mindestens fünf reproduzierbare Testfälle mit Eingabesignal, Sollereignissen und Kriterien zur Fehlerbewertung.
- Systemtransfer: Übertrage die Entprellung auf ein Tastenfeld oder einen mechanischen Endschalter in einer ungefährlichen Simulation und erläutere zusätzliche Anforderungen.
- 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:
- Stromlaufbild: Taster, GND, Pull-up und Mikrocontrollereingang korrekt dargestellt.
- Signaldiagramm: Rohpegel, bestätigter Pegel und Zählereignis gekennzeichnet.
- Programm: Lauffähige nichtblockierende Entprellung mit verständlichen Kommentaren.
- Simulation: Dokumentierte Testdurchführung mit Link oder zulässigen Screenshots.
- Testprotokoll: Mindestens fünf Fälle, jeweilige Soll- und Ist-Ergebnisse und Fehleranalyse.
- Reflexion: Begründung der Entprellzeit und Erklärung ihrer Grenzen.
- 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:
- Arduino Documentation – Debounce: Offizielles Programmierbeispiel zur Tasterentprellung.
- Arduino Documentation – State Change Detection: Auswertung von Zustandsänderungen.
- Arduino Documentation – Blink Without Delay: Zeitsteuerung ohne blockierendes Warten.
- Wokwi – Pushbutton Reference: Anschlussbelegung und simuliertes Kontaktprellen.
- Wokwi – Logic Analyzer Guide: Virtuelle Aufzeichnung digitaler Signale.
- DigiKey – Hardware Debounce: Hardwareverfahren und Einsatzgrenzen.
- DigiKey – Software-Based Debounce: Hintergrund zur Softwareentprellung.
Mediennachweise und Nutzungsrechte
Wikimedia-Commons-Abbildungen – geprüfte Dateiseiten:
- ArduinoUno.svg: PhilippHenkel, CC BY-SA 4.0.
- Push button diagram.svg: REisemann3937, CC BY-SA 3.0.
- Push-to-make switch electronic symbol.svg: Tomdudman, CC0 1.0.
- Pullup and pulldown resistors.svg: Lambtron, CC BY-SA 4.0.
- Switch bounce.JPG: Tomoldbury, Public Domain.
- Bouncy Switch.png: Super Rad!, CC0 1.0.
- RC lowpass filter.svg: TU Maije, CC0 1.0.
- 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-HauptseiteMediathek
Mediathek wird aus dem Wiki geladen ...
Keine passenden Inhalte gefunden. Bitte ändere Suche oder Filter.
NEWSLernweltNOAH fragen