Block 03 · Zwei Taster, ein Piezo: Wir bauen und programmieren
Informatik 7 · UV I · Block 03 · Name: ________________ · Datum: __________
Stunde 4–5 · 90 Minuten
Heute bauen wir einen Signalgeber
Euer ESP32 sitzt schon im Rahmen. Heute bekommt er einen Piezo – einen kleinen Lautsprecher – und zwei Taster. Danach programmiert ihr, was beim Drücken passieren soll.
ZielIch baue Piezo und Taster an, schreibe eigene Programme mit Wiederholung und Bedingung und prüfe sie mit Testfällen.
Euer Weg heute
- Board mit dem PC verbinden
- Piezo anschließen und Ton testen
- Taster anschließen und prüfen
- Auftrag 1: Eure Klangsignatur
- Auftrag 2: Zwei Taster – wer hat Vorrang?
- Code sichern, Rückblick, PDF
Schneller fertig? Zusatzaufträge und Forschungsaufgaben findet ihr nach Auftrag 2.
Unsere Anschlusskarte
| Taster 1 | GPIO 18 |
|---|---|
| Taster 2 | GPIO 19 |
| Piezo | über 100 Ω an GPIO 25 |
| Lage | USB-Buchse oben: 18 und 19 links, 25 rechts |
Wichtigste Regel: Umstecken nur, wenn das USB-Kabel abgezogen ist.
Schritt 1Gemeinsam bauen
Board mit dem PC verbinden
ZielMicroBlocks zeigt: Das Board ist verbunden.
Das musst du wissen
Damit PC und Board miteinander sprechen, braucht es drei Dinge:
- Treiber
- Ein kleines Programm auf dem PC. Damit versteht Windows den USB-Chip des Boards.
- COM-Port
- Der Name der Verbindung in Windows, zum Beispiel COM5. Das ist kein Anschluss am Board.
- Firmware
- Das Grundprogramm auf dem ESP32. Es führt eure MicroBlocks-Blöcke aus.
So geht ihr vor
- Nehmt ein USB-Datenkabel. Ein reines Ladekabel funktioniert nicht.
- Steckt das Board am PC ein.
- Öffnet MicroBlocks in Chrome oder Edge.
- Klickt auf das USB-Zeichen oben → Verbinden (USB) → wählt euer Board aus.
- Das Zeichen wird grün? Dann seid ihr verbunden. Die Firmware dann nicht neu installieren.
Fertig, wenn …
- Das Verbindungszeichen in MicroBlocks ist grün.
Es klappt nicht?
Öffne nur die Stufe, die du brauchst. Danach allein weiter.
Board taucht nicht auf
Anderes Datenkabel oder anderen USB-Anschluss testen. Andere Programme, die das Board benutzen, schließen.
Im Geräte-Manager nachsehen
Geräte-Manager → Anschlüsse (COM & LPT). Board abziehen und wieder einstecken: Ein Eintrag verschwindet und kommt wieder – das ist euer Board. Gelbes Warnzeichen beim CP210x? Dann fehlt der Treiber: Hr. Klegrewe installiert ihn.
Verbunden, aber MicroBlocks meldet keine Firmware
Mit Hr. Klegrewe: Zahnrad → Firmware auf Board installieren → ESP32 wählen. Danach neu verbinden.
Nach fünf Minuten immer noch nicht
Arbeitet am Board eines Nachbarteams mit und notiert den Fehler. Hr. Klegrewe kümmert sich um euer Board.
Schritt 2Gemeinsam bauen
Piezo anschließen und Ton testen
ZielDer Piezo spielt zwei Töne nacheinander.
Das musst du wissen
Piezo: eine dünne Scheibe. Bekommt sie schnell wechselnde Spannung, schwingt sie – ihr hört einen Ton.
Zwei Anschlüsse: die Mitte und der goldene Messingrand. Beide Kabel sind rot – an der Lötstelle seht ihr, welches wohin gehört.
100-Ω-Widerstand: Er kommt zwischen Pin 25 und Piezo. Der Strom fließt erst durch den Widerstand, dann zum Piezo („in Reihe“). So schützt er den Pin.
GND ist der gemeinsame Rückweg für den Strom (Minus).
Breadboard: Die fünf Löcher einer kurzen Reihe sind miteinander verbunden.
So geht ihr vor
- USB abziehen.
- Ein Bein des 100-Ω-Widerstands in die Reihe von GPIO 25 stecken.
- Das andere Widerstandsbein in eine freie Reihe stecken. In dieselbe Reihe kommt das Kabel von der Mitte des Piezos.
- Das Kabel vom Messingrand an GND anschließen.
- Hr. Klegrewe oder ein anderes Team prüft: kein Kabel an 3V3, 5 V oder VIN. Dann USB einstecken.
- Baut in MicroBlocks die Tonprobe und startet sie. Die Tonblöcke holt ihr über Bibliotheken → Modul hinzufügen → Töne.
wenn gestartet verbinde Summer mit Pin 25 spiele Ton 440 Hz für 200 ms warte 300 Millisekunden spiele Ton 660 Hz für 200 ms
Fertig, wenn …
- Ihr hört zwei Töne: erst tiefer, dann höher.
Kein Ton? Welcher Widerstand ist 100 Ω?
Öffne nur die Stufe, die du brauchst. Danach allein weiter.
100 Ω erkennen
Vier Ringe: Braun – Schwarz – Braun – Gold. Fünf Ringe: Braun – Schwarz – Schwarz – Schwarz – Braun. Unsicher? Stromlos nachmessen.
Immer noch kein Ton
Prüft der Reihe nach: Steckt der Widerstand in der Reihe von GPIO 25? Steckt das Mitte-Kabel in derselben Reihe wie das andere Widerstandsbein? Ist der Messingrand an GND? Steht im Block „verbinde Summer mit Pin 25“?
Schritt 3Gemeinsam bauen
Zwei Taster anschließen und prüfen
ZielDas Board erkennt beide Taster richtig.
Das musst du wissen
Vier Beine, zwei Paare: Die Beine eines Paares sind innen immer verbunden. Erst wenn ihr drückt, wird Paar A mit Paar B verbunden.
Ein Taster braucht zwei Kabel: eins von Paar A zum Pin, eins von Paar B zu GND.
pull up: Das Board hält den Pin auf wahr, solange niemand drückt. Drücken verbindet den Pin mit GND – dann zeigt er falsch.
Merke: gedrückt = falsch. Mit dem Block nicht davor wird daraus: gedrückt = wahr.
So geht ihr vor
- USB abziehen.
- Am losen Taster prüfen, welche Beine ein Paar sind (Durchgangsprüfer oder Hr. Klegrewe fragen).
- Beide Taster links neben das Board stecken. Paar A und Paar B müssen in verschiedenen Reihen stecken.
- Taster 1: ein Bein von Paar A an GPIO 18, ein Bein von Paar B an GND.
- Taster 2 genauso, aber an GPIO 19.
- Prüfen lassen, dann USB einstecken.
- In MicroBlocks unter Pins den Block „lies digitalen Pin 18“ nehmen, den kleinen Pfeil aufklappen und pull up wählen. Block anklicken: Der Wert erscheint. Dasselbe mit Pin 19. Testet alle vier Zeilen der Tabelle.
| Taster 1 | Taster 2 | Pin 18 zeigt | Pin 19 zeigt |
|---|---|---|---|
| los | los | wahr | wahr |
| gedrückt | los | falsch | wahr |
| los | gedrückt | wahr | falsch |
| gedrückt | gedrückt | falsch | falsch |
Fertig, wenn …
- Alle vier Zeilen der Tabelle stimmen.
Ein Wert stimmt nicht?
Öffne nur die Stufe, die du brauchst. Danach allein weiter.
Pin zeigt immer falsch
Dann ist der Pin schon ohne Drücken mit GND verbunden. Stecken Paar A und B vielleicht in derselben Reihe?
Wert springt ohne Drücken
Ist pull up gewählt? Steckt das GND-Kabel fest?
Wie ist das Breadboard verbunden?
Fünf Löcher einer kurzen Reihe gehören zusammen. Die andere Brett-Hälfte ist getrennt – gleiche Nummer heißt dort nicht „verbunden“.
Alte Karten mit Pin 32 und 33
Die gelten nicht mehr. Heute gilt: Taster 1 = 18, Taster 2 = 19.
Auftrag 1Zu zweit am Board
Eure Klangsignatur
ZielNach dem Start spielt euer Board drei gleiche kurze Töne mit Pausen. Das Ganze dauert höchstens 1000 ms (= 1 Sekunde).
Das musst du wissen
wenn gestartet führt die Blöcke darunter einmal aus.
wiederhole 3 mal führt die Blöcke in der Klammer dreimal aus. So braucht ihr den Ton nur einmal.
Eine Runde ist das, was in der Klammer steht: hier Ton + Pause. Gesamtdauer = Anzahl Runden × (Tondauer + Pause).
Beispiel mit anderen Zahlen: 2 Runden mit 80 ms Ton und 120 ms Pause → 2 × (80 + 120) = 400 ms. Die Pause nach dem letzten Ton zählt mit, weil sie in der Klammer steht.
So geht ihr vor
- Wählt Tonhöhe, Tondauer und Pause.
- Rechnet die Gesamtdauer aus. Schreibt die Rechnung auf.
- Baut das Programm mit wiederhole 3 mal. „verbinde Summer mit Pin 25“ kommt vor die Klammer.
- Startet und hört genau hin: drei gleiche Töne?
- Macht die Pause 40 ms länger. Sagt vorher: Um wie viel wird alles länger? Testet dann.
Fertig, wenn …
- drei gleiche Töne und eine Wiederholung statt drei Kopien
- eure Rechnung ergibt höchstens 1000 ms
- Vorhersage und Ergebnis zur längeren Pause sind notiert
Hilfe zu Auftrag 1
Öffne nur die Stufe, die du brauchst. Danach allein weiter.
Stufe 1: Mit Zahlen anfangen
Nehmt 100 ms Ton und eine Pause zwischen 100 und 200 ms. Rechnung: 3 × (100 + Pause) = … ms.
Stufe 2: Das Gerüst
wenn gestartet
verbinde Summer mit Pin 25
wiederhole 3 mal
spiele Ton … Hz für … ms
warte … MillisekundenSetzt eure Zahlen ein.
Stufe 3: Die längere Pause
Die Pause läuft in jeder Runde einmal. Bei 3 Runden läuft sie dreimal. Wie oft kommen also 40 ms dazu?
Fertig? Weiter mit Auftrag 2.
Auftrag 2Zu zweit am Board
Zwei Taster – wer hat Vorrang?
ZielTaster 1 piept hoch, Taster 2 piept tief. Drückt man beide, gewinnt Taster 2.
| Taster 1 | Taster 2 | Das Board soll … |
|---|---|---|
| los | los | still sein |
| gedrückt | los | hoch piepen: 880 Hz, 120 ms |
| los | gedrückt | tief piepen: 440 Hz, 120 ms |
| gedrückt | gedrückt | nur tief piepen – Taster 2 hat Vorrang |
Das musst du wissen
fortlaufend wiederholt seine Blöcke immer wieder, ohne Ende. So prüft das Programm die Taster ständig.
falls … sonst: Ist die Bedingung wahr, läuft der obere Teil. Sonst läuft der untere Teil. Es läuft nie beides.
„Taster 1 gedrückt“ heißt in Blöcken: nicht (lies digitalen Pin 18 pull up). Für Taster 2 nehmt ihr 19.
Vorrang: Was zuerst geprüft wird, gewinnt – wenn der andere Fall im sonst-Teil steht.
a) Programm bauen und testen
So geht ihr vor
- Entscheidet: Welchen Taster prüft ihr zuerst? Begründet mit der Tabelle.
- Baut das Programm: fortlaufend, darin falls … sonst, am Ende warte 20 Millisekunden.
- Schreibt für alle vier Zeilen auf, was ihr erwartet.
- Testet alle vier Zeilen. Stimmt etwas nicht? Ändert genau eine Stelle und testet erneut.
Hilfe zu Teil a
Öffne nur die Stufe, die du brauchst. Danach allein weiter.
Stufe 1: Welche Zeile ist schwierig?
Nur die letzte Zeile (beide gedrückt) braucht den Vorrang. Welcher Ton darf dort nicht kommen?
Stufe 2: Das Gerüst
fortlaufend
falls [ … gedrückt ]
spiele Ton … Hz für 120 ms
sonst
falls [ … gedrückt ]
spiele Ton … Hz für 120 ms
warte 20 MillisekundenFüllt die Lücken.
Stufe 3: Mit dem Finger verfolgen
Stellt euch vor: beide gedrückt. Zeigt mit dem Finger auf die erste Prüfung. Ist sie wahr? Welcher Teil läuft? Wird der sonst-Teil überhaupt erreicht?
b) Fehler im fremden Programm finden wenn ihr fertig seid
Ein anderes Team hat zwei getrennte falls-Blöcke benutzt, ohne sonst:
fortlaufend
falls [Taster 1 gedrückt]
spiele Ton 880 Hz für 120 ms
falls [Taster 2 gedrückt]
spiele Ton 440 Hz für 120 ms
warte 20 MillisekundenEure Schritte
- Welche Zeile der Tabelle geht hier schief? Sagt voraus, was man hört.
- Testet es oder spielt es mit dem Finger durch.
- Erklärt, warum euer Programm aus Teil a diesen Fehler nicht hat.
c) Vorrang tauschen wenn ihr fertig seid
Eine andere Klasse möchte: Bei beiden Tastern soll Taster 1 gewinnen. Sagt zuerst: Welche Zeile der Tabelle ändert sich? Welche drei bleiben gleich? Ändert dann nur die nötige Stelle und testet alle vier Zeilen.
Fertig mit a)? Dann weiter zu „Code sichern“. Noch Zeit? Zusatzaufträge oder Forschungsaufgaben.
Zusatz 3Zu zweit am Board · freiwillig
Ein Druck – genau ein Piep
ZielEin Druck auf Taster 1 gibt genau einen kurzen Piep – auch wenn man drei Sekunden hält. Loslassen und neu drücken gibt wieder einen Piep.
Das musst du wissen
Halten ist nicht neu drücken. Mit fortlaufend und falls piept es in jeder Runde, solange der Taster gehalten wird.
warte bis … hält das Programm an, bis die Bedingung wahr ist. Idee: Nach dem Piep wartet das Programm, bis der Taster losgelassen ist.
| Test | Erwartete Piepser |
|---|---|
| kurz drücken | 1 |
| drei Sekunden halten | 1 |
| zweimal drücken, dazwischen loslassen | 2 |
So geht ihr vor
- Plant die Reihenfolge: warten auf Druck → Piep → warten auf Loslassen → von vorn.
- Baut das Programm.
- Testet die drei Fälle der Tabelle.
- Erklärt: Warum reicht ein einzelnes falls ohne fortlaufend nicht?
Fertig, wenn …
- alle drei Tests stimmen
- eure Erklärung nennt, wann das falls geprüft wird
Zusatz 4Zu zweit am Board · freiwillig
Warnung mit Stopptaster
ZielEin Druck auf Taster 1 startet eine Warnung (Piep, Pause, Piep, …). Taster 2 stoppt sie. Danach bleibt das Board still, bis Taster 1 neu gedrückt wird.
Das musst du wissen
wiederhole bis … wiederholt die Blöcke in der Klammer, bis die Bedingung wahr ist.
Die Bedingung wird nur am Anfang jeder Runde geprüft. Ein sehr kurzes Antippen mitten in einer Runde kann deshalb verpasst werden.
So geht ihr vor
- Legt eine Runde fest: ein kurzer Ton und eine Pause, zusammen höchstens 400 ms.
- Baut das Programm mit wiederhole bis [Taster 2 gedrückt].
- Testet Taster 2: vor dem Start gedrückt, während eines Tons, nur kurz angetippt.
- Schreibt ehrlich auf: Wann prüft euer Programm den Stopptaster?
Fertig, wenn …
- die Warnung startet und stoppt
- ihr erklärt, warum kurzes Antippen manchmal nicht reicht
Zusatz 5Zwei Teams · freiwillig
Programme gegenseitig testen
ZielEin anderes Team testet euer Programm aus Auftrag 2 – ihr testet ihres.
Das musst du wissen
Ein guter Test sagt vorher, was passieren soll. Dann wird beobachtet. Eine Abweichung meldet man mit der genauen Eingabe, zum Beispiel: „Beide gedrückt → wir hörten hoch und tief.“
| Taster 1 | Taster 2 | Das Board soll … |
|---|---|---|
| los | los | still sein |
| gedrückt | los | hoch piepen: 880 Hz, 120 ms |
| los | gedrückt | tief piepen: 440 Hz, 120 ms |
| gedrückt | gedrückt | nur tief piepen – Taster 2 hat Vorrang |
So geht ihr vor
- Tauscht die Boards. Erklärt euren Code noch nicht.
- Testet alle vier Zeilen der Tabelle.
- Denkt euch einen fünften Test aus, zum Beispiel schnell zwischen den Tastern wechseln. Begründet ihn.
- Meldet die erste Abweichung zurück. Das andere Team ändert genau diese Stelle und testet noch einmal.
Fertig, wenn …
- fünf Tests mit Erwartung und Beobachtung
- eine Abweichung samt Korrektur – oder die Begründung, warum alles stimmt
ForschungFreiwillig · auch über mehrere Stunden
Forschungsaufgaben für Profis
ZielIhr löst ein schweres Steuerungsproblem und begründet, warum eure Lösung funktioniert – oder wo ihre Grenze liegt.
Das musst du wissen
Hier gibt es keine fertigen Schritte. Ein begründetes Gegenbeispiel oder ein sauberer Teil-Entwurf zählt als Ergebnis. Mehr Code allein reicht nicht.
Ohne Rechner geht es auch: Haltet Regeln, Variablen und einen vollständigen Ablauf auf Papier fest. Markiert, was ihr nur angenommen und nicht getestet habt.
Wählt eine Aufgabe:
E1 · Ein Zähler, der Störungen aushält
Entwirf einen Bestellzähler mit zwei Tasten: Jeder neue Druck auf T1 erhöht den Wert um 1; Halten zählt nicht weiter. T2 setzt auf 0 zurück und hat Vorrang. Nach jeder dritten Bestellung ertönt eine Dreierbestätigung; das Zählen muss während dieser Bestätigung weitergehen. Untersuche außerdem Kontaktprellen: Ein echter Druck kann mehrere schnelle Wechsel erzeugen. Entwickle eine Regel, die erst einen 30 ms unveränderten Zustand übernimmt. Dokumentiere gespeicherte Zustände, Entscheidungsregeln und Gegenproben. Die Werkstattkarte darunter legt die Prüffälle fest.
Prüffälle: T1 roh: los bis 0 ms, gedrückt 0–5, los 5–10, gedrückt 10–60, los ab 60 ms – und ein durchgehender Druck 0–60 ms. Wie viele echte Drücke zählt eure Regel jeweils? T2 hat Vorrang; das Zählen läuft auch während der Dreierbestätigung weiter.
E2 · Eine Melodie läuft, die Bedienung bleibt bereit
Baue einen Ablaufplaner für zehn Töne. T1 startet; weitere T1-Drücke während der Folge werden verworfen. Jeder neue T2-Druck pausiert oder setzt fort. Halten schaltet nur einmal um. Beim Pausieren wird ein laufender Ton sofort bei der nächsten Eingabeprüfung gestoppt; beim Fortsetzen läuft genau seine Restzeit weiter. Entwirf die Zustände, Variablen und Übergänge selbst. Verwende Millisekunden, starte Ton und stoppe Ton; während der Folge sind spiele Ton … für … ms und längere Warteblöcke ausgeschlossen. Begründe eine Reaktionsgrenze und prüfe sie zuerst auf Papier.
Prüffall: Zehn Töne, je 200 ms Ton und 100 ms Lücke. Ton 1 beginnt bei 0 ms. Ein T2-Druck bei 70 ms pausiert: 130 ms fehlen noch. Ein neuer T2-Druck bei 1070 ms setzt fort. Plant die nächsten Wechsel. Hilfreiche Blöcke: Millisekunden, starte Ton, stoppe Ton.
E3 · Ein endlicher Speicher und zu viele Aufträge
Erweitere deinen Signalgeber zu einer Auftragsmaschine: Ein neuer T1-Druck bestellt eine Dreiermeldung. Während eine Meldung läuft, dürfen höchstens drei weitere Aufträge warten. T2 bricht bei der nächsten Prüfung den aktuellen Auftrag ab und leert den Speicher. Lege eine sicht- oder hörbare Überlastregel fest und halte die Reihenfolge angenommener Aufträge ein. Beschreibe zuerst einen Vertrag: Was wird garantiert, was bewusst verworfen? Beweise dann an deinem Entwurf, dass kein angenommener Auftrag doppelt ausgeführt wird und der Speicher begrenzt bleibt. Untersuche zuletzt die Zusage „Kein beliebig kurzer Tastendruck geht verloren“. Ist sie bei regelmäßiger Abfrage überhaupt erfüllbar?
Belastungsprobe: Auftrag A läuft, dann kommen B, C, D, E, dann ein Stopp, danach F. Erstellt eine Bilanz: angenommen, beendet, abgebrochen, abgewiesen, wartend. Nennt eine Regel, die nach jeder Runde gilt.
SichernFür die nächste Stunde
Code für die nächste Stunde sichern
ZielEuer Programm aus Auftrag 2 liegt auf Papier lesbar vor. Nächste Stunde arbeiten wir damit ohne Rechner.
Das musst du wissen
Eine UBP-Datei oder ein Link hilft ohne Rechner nicht. Wichtig sind die Blöcke mit ihrer Einrückung: Sie zeigt, was in welcher Klammer steht.
So geht ihr vor
- Schreibt euer Programm aus Auftrag 2 ab – mit Einrückung, allen Zahlen und „pull up“.
- Notiert oben: Datum und Anschlüsse 18 / 19 / 25.
- Schreibt zwei Eingaben dazu, zum Beispiel „nur Taster 1“, und was ihr dann hört.
- Kreuzt ehrlich an: „am Board getestet“ oder „nur vorhergesagt“.
Fertig, wenn …
- Programm mit Einrückung, zwei Eingaben mit Ergebnis, Testvermerk
Kein eigenes Programm fertig? Kein Problem: Nächste Stunde gibt es fertige Codekarten für alle.
RückblickAllein
Rückblick: Ein Piep pro Druck?
ZielDu erklärst allein, warum Halten und neu Drücken für ein Programm verschieden sind.
Ein Board soll bei einem Druck auf Taster 1 genau einmal piepen. Jemand schreibt:
fortlaufend
falls [Taster 1 gedrückt]
spiele Ton- Was passiert, wenn man Taster 1 drei Sekunden hält? Begründe.
- Schlage eine Verbesserung vor.
- Nenne einen Test, der zeigt, dass deine Verbesserung besser ist.
Vorlesen, Zoom und vereinbarte Hilfen sind erlaubt.
EndeSichern
Ergebnisse sichern
Das nehmt ihr mit
Ein Taster liefert nur einen Zustand. Erst die Bedingung entscheidet, was passiert. fortlaufend hält das Board bereit. Mit falls … sonst legt ihr fest, wer Vorrang hat.
Speichert euer MicroBlocks-Projekt als Datei und notiert: Taster 1 = 18, Taster 2 = 19, Piezo = 25.
- PDF speichernIm Druckfenster „Als PDF speichern“ wählen.
- PDF öffnen und prüfenStehen alle Antworten drin?
- AbgebenSo, wie Hr. Klegrewe es zeigt.
Dateiname: UV1_03_Ergebnisse_ und dein Kürzel, zum Beispiel UV1_03_Ergebnisse_AB.pdf
Als Nächstes: Block 04 · Code prüfen ohne Rechner
Mein Stundenordner
Informatik_7 / Reihe_1_Algorithmik / Stunde_4-5_Bauen_und_Programmieren
HTML, PDF, Arbeitsstand und Programmdateien gehören zusammen in diesen Ordner.
Später weiterarbeiten / Arbeitsstand öffnen
Die PDF ist zum Lesen. Die Arbeitsdatei enthält eure bearbeitbaren Antworten. Sichert sie vor dem Schließen im Stundenordner.
Nur dieser Tab speichert zwischen. Prüft einen Download im Downloadordner.
Abgeben und abmelden
Gib die PDF über den von Hr. Klegrewe gezeigten IServ-Weg ab. Sichere zuerst alle bearbeiteten Blätter. Danach kannst du den Tab freigeben.
Leeres Arbeitsblatt für Papierarbeit
Druckt die Pflichtteile mit Antwortlinien. Zusatz und Forschung nur auf Wunsch.