Arduino Projekt: 4x4 Nummernfeld einlesen: Unterschied zwischen den Versionen

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen
Die Seite wurde neu angelegt: „Kategorie:Open Roberta Lab {|class="wikitable" |- | '''Autor:''' || Prof. Dr.-Ing. Schneider |- | '''Projekt:''' || Temperaturmessung |- | '''Termin:''' || 20.01.2026 |}“
 
 
(4 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
[[Datei:Tastenfeld.jpg|thumb|rigth|600px|Abb. 1: 4x4 Tastenfeld]]
[[Kategorie:Open Roberta Lab]]
[[Kategorie:Open Roberta Lab]]
{|class="wikitable"
{|class="wikitable"
Zeile 4: Zeile 5:
| '''Autor:'''  || [[Benutzer:Ulrich_Schneider| Prof. Dr.-Ing. Schneider]]
| '''Autor:'''  || [[Benutzer:Ulrich_Schneider| Prof. Dr.-Ing. Schneider]]
|-
|-
| '''Projekt:''' || Temperaturmessung
| '''Projekt:''' || 4x4 Nummernfeld einlesen
|-
|-
| '''Termin:'''  || 20.01.2026
| '''Termin:'''  || 13.04.2026
|}
|}
= Lernziel =
Die Schüler können:
* ein 4×4-Keypad anschließen
* Tasten abfragen
* einen 4-stelligen Code eingeben und prüfen
* einfache Logik (Vergleich, Variablen) anwenden
= Funktionsprinzip=
*4 Reihen + 4 Spalten
*Taste = Verbindung zwischen Reihe & Spalte
= Aufgabe 1: Erste Eingaben lesen =
„Zeige gedrückte Taste auf Display/seriell an“
Umsetzung in Open Roberta Lab:
* 4 Spalten → werden nacheinander „aktiv“ gesetzt
* 4 Reihen → werden abgefragt
* Wenn Taste gedrückt → eine Reihe wird '''HIGH'''
* Ergebnis: Du erkennst, welche Taste gedrückt wurde
* kurze Pause (100 ms) nach Tastendruck - Entprellen des Tasters
👉 Ziel: Schüler sehen → jede Taste funktioniert
==Logik ==
Spalte 1 aktivieren:
*Pin 6 = HIGH
*Pins 7–9 = LOW
Dann prüfen:
* Wenn Pin 2 HIGH → Taste „1“
* Wenn Pin 3 HIGH → Taste „4“
* usw.
[1] [2] [3] [A]
[4] [5] [6] [B]
[7] [8] [9] [C]
[*] [0] [#] [D]
== Ablauf: ==
# Taste drücken
# Zeichen anhängen
# Wenn Länge = 4 → prüfen
# Ergebnis anzeigen
# Reset
= Aufgabe 2: Code speichern =
„Speichere 4 gedrückte Tasten“
== Konzept: ==
*Variable: eingabe
*Bei Tastendruck: eingabe = eingabe + taste
== Beispiel: ==
*Eingabe: 1 → 2 → 3 → 4
* Ergebnis: „1234“
== ⚠️ Wichtig ==
*Maximal 4 Zeichen speichern
*Danach zurücksetzen
= Aufgabe 3: Code prüfen =
Vergleiche mit richtigem Code“
* Richtiger Code z. B.: "1234"
*Logik:
wenn eingabe == code
  → "Richtig!"
sonst
  → "Falsch!"
danach:
Eingabe zurücksetzen
=Aufgabe 4: Erweiterungen =
* LED grün/rot für richtig/falsch
* „*“ = löschen
* „#“ = bestätigen
* 3 Fehlversuche → Sperre
* Zeitverzögerung
----
→ Zurück zur Hauptseite: [[Mechatronik_mit_Arduino_-_02/26]]

Aktuelle Version vom 13. April 2026, 14:42 Uhr

Abb. 1: 4x4 Tastenfeld
Autor: Prof. Dr.-Ing. Schneider
Projekt: 4x4 Nummernfeld einlesen
Termin: 13.04.2026

Lernziel

Die Schüler können:

  • ein 4×4-Keypad anschließen
  • Tasten abfragen
  • einen 4-stelligen Code eingeben und prüfen
  • einfache Logik (Vergleich, Variablen) anwenden

Funktionsprinzip

  • 4 Reihen + 4 Spalten
  • Taste = Verbindung zwischen Reihe & Spalte

Aufgabe 1: Erste Eingaben lesen

„Zeige gedrückte Taste auf Display/seriell an“

Umsetzung in Open Roberta Lab:

  • 4 Spalten → werden nacheinander „aktiv“ gesetzt
  • 4 Reihen → werden abgefragt
  • Wenn Taste gedrückt → eine Reihe wird HIGH
  • Ergebnis: Du erkennst, welche Taste gedrückt wurde
  • kurze Pause (100 ms) nach Tastendruck - Entprellen des Tasters

👉 Ziel: Schüler sehen → jede Taste funktioniert

Logik

Spalte 1 aktivieren:

  • Pin 6 = HIGH
  • Pins 7–9 = LOW

Dann prüfen:

  • Wenn Pin 2 HIGH → Taste „1“
  • Wenn Pin 3 HIGH → Taste „4“
  • usw.
[1] [2] [3] [A]
[4] [5] [6] [B]
[7] [8] [9] [C]
[*] [0] [#] [D]

Ablauf:

  1. Taste drücken
  2. Zeichen anhängen
  3. Wenn Länge = 4 → prüfen
  4. Ergebnis anzeigen
  5. Reset

Aufgabe 2: Code speichern

„Speichere 4 gedrückte Tasten“

Konzept:

  • Variable: eingabe
  • Bei Tastendruck: eingabe = eingabe + taste

Beispiel:

  • Eingabe: 1 → 2 → 3 → 4
  • Ergebnis: „1234“

⚠️ Wichtig

  • Maximal 4 Zeichen speichern
  • Danach zurücksetzen

Aufgabe 3: Code prüfen

Vergleiche mit richtigem Code“

  • Richtiger Code z. B.: "1234"
  • Logik:
wenn eingabe == code
  → "Richtig!"
sonst
  → "Falsch!"

danach:

Eingabe zurücksetzen

Aufgabe 4: Erweiterungen

  • LED grün/rot für richtig/falsch
  • „*“ = löschen
  • „#“ = bestätigen
  • 3 Fehlversuche → Sperre
  • Zeitverzögerung

→ Zurück zur Hauptseite: Mechatronik_mit_Arduino_-_02/26