Arduino Projekt: Türsicherheitssystem: Unterschied zwischen den Versionen

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen
Zeile 60: Zeile 60:
== Aufbau Schaltung ==
== Aufbau Schaltung ==
[[Datei:Tür_Schaltplan.png|550px|thumb|right|Abb.4 Schaltung Tür Sicherheitssystem]]
[[Datei:Tür_Schaltplan.png|550px|thumb|right|Abb.4 Schaltung Tür Sicherheitssystem]]
In Abb. 4 wird die Schaltung für das Projekt '''"Tür Sicherheitssystem"''' dargestellt.<br>
In Abbildung 4 wird die Schaltung für das Projekt '''"Tür Sicherheitssystem"''' dargestellt.<br>
Bevor mit der Programmierung begonnen werden kann, muss die Schaltung des Projekts aufgebaut werden.
Bevor mit der Programmierung begonnen werden kann, muss die Schaltung des Projekts aufgebaut werden.



Version vom 8. September 2023, 10:20 Uhr

Abb. 1: Tür Sicherheitssystem

Autor: Justin Frommberger

Aufgabenstellung

  • Ziel des Projektes ist, ein Türsicherheitssystem zu simulieren.
  • Die Aufgabe besteht darin, die Tür mit einem vierstelligen Zahlencode zu öffnen (LED leuchtet grün).
  • Wird der Code 3-mal falsch eingegeben, ertönt ein Warnsignal und die LED leuchtet rot.
  • Alle Eingaben müssen auf dem seriellen Monitor angezeigt werden.

⇒ Für den Fall, dass kein Arduino zur Verfügung steht, kann ein webbasierter Arduino Emulator verwendet werden. [klicken]


[Abb. 2: UML]

Benötigte Materialien

Tabelle 1: Materialliste
Nr. Anz. Beschreibung Bild
1 Funduino Arduino UNO R3
1 Typ 2
20+ Jumperkabel, männlich/männlich
1 Steckbrett
2 LED Rot/Grün
3 Widerstand
120 Ω
1 TowerPro SG90 Servomotor
1 Piezo Lautsprecher
1 4x4 Tastenfeld

Vorab wichtig zu wissen

Abb. 3: LED

Servomotor Kabel

Tabelle 2: Servomotor Farberkennung
Schwarz oder Braun Masse (GND)
Rot VCC/+ 5 V
Organe, Gelb oder Weiß PWM-Signal

Tastenfeld

Definition Tastenfeld [klicken]

Aufbau Schaltung

Abb.4 Schaltung Tür Sicherheitssystem

In Abbildung 4 wird die Schaltung für das Projekt "Tür Sicherheitssystem" dargestellt.
Bevor mit der Programmierung begonnen werden kann, muss die Schaltung des Projekts aufgebaut werden.

Programmierung

Es ist wichtig, die [Programmierrichtlinien] beim Programmieren einzuhalten.

Wenn Sie Fragen zur Programmierung haben, finden Sie die Antworten in den [Grundkenntnissen].


Bibliotheken einfügen

Laden Sie für das Projekt die Bibliothek für das Tastenfeld 4x4 herunter.
Benötigt werden die Bibliotheken Servo.h und Keypad.h.

[Quelltext 1: TSS.ino]


Initialisierung Arduino

1. Tastenfeld initialisieren
Ziel ist es, alle benötigten Variablen für die Funktion zu definieren:
Keypad tastenfeld = Keypad(makeKeymap(Hexa_Keys), rowPins, colPins, ROWS, COLS);

  • ROWS sind die Anzahl der Spalten und COLS sind die Anzahl der Zeilen. Diese werden als Variable festgelegt.
  • Daraufhin müssen rowPins und colPins über eine Array-Zuweisung ihren Ziffern zugeordnet werden.
  • Zum Schluss muss die hexaKeys Matrix aufgebaut werden. Hier wird jede Ziffer für das Tastenfeld festgelegt.

[Quelltext 2: TSS.ino]

2. Tastenfeld Variablen
Benötigte Variablen zum:

  • Festlegen des Passwortes, jeder Buchstabe einzeln
  • Speichern der aktuell gedrückten Taste
  • Speichern der vier gedrückten Tasten
  • Verhindern einer falschen Position bei der Eingabe

[Quelltext 3: TSS.ino]

3. Motor, Buzzer und RGB initialisieren

Pins
LED 12 und 13
Motor 11
Buzzer 10

pinMode();
Servo.h
[Quelltext 4: TSS.ino]


Richtige Reihenfolge der Eingabe

Wichtig ist, dass die Ziffern richtig eingegeben werden.

  • So muss sich eine Funktion überlegt werden, welche dies ermöglicht.
  • Zur Verwendung kommen nun die Variablen für die falsche Eingabe.
  • Auch muss die Variable Taste ihre Werte erhalten.
  • Die gedrückte Taste wird in der c1-4 Variable abgespeichert, um später das Passwort zu überprüfen.

Tipp:

  1. Nachdem die erste Ziffer gedrückt wurde, öffnet sich die Eingabe für die zweite Ziffer usw.
  2. Benötigt wird hierfür eine if-Bedingung und eine goto Funktion.
  3. Die Taste bekommt mit der Funktion tastenfeld.getKey(); ihre Ziffer.

[Quelltext 5: TSS.ino]


Tür öffnen und schließen

  • Für das Öffnen der Tür wird die Taste (#) verwendet. Um die Tür zu verriegeln, wird die Taste (*) genutzt.
  • Wenn die Tür offen ist, leuchtet die LED Grün, und Rot, wenn die Tür geschlossen ist.
  • Der Motor soll sich beim Schließen zu 90 Grad, beim Öffnen wiederum zu 0 Grad drehen.
  • Überprüfe vor dem Öffnen, ob das Passwort korrekt eingegeben wurde.

Tipp:

  1. Benötigt werden if-Else Funktionen, die nach der bestimmten Taste abfragen und die Anweisung dann ausführen.
  2. Nutzen Sie Vergleichsoperatoren zum Abfragen des Passwortes.

[Quelltext 6: TSS.ino]


Einbrecher Warnung!

Die Zusatzaufgabe ist, einen Buzzer ertönen zu lassen, wenn das Passwort 3-mal falsch eingegeben wurde.

Tipp:

  1. Bei einer falschen Eingabe wird die Variable hochgezählt.
  2. Wenn die Variable 3 erreicht, ertönt der Buzzer.

tone();

[Quelltext 7: TSS.ino]

Musterlösung

Quelle: Link



→ zurück zum Hauptartikel: BA: Arduino-Projekte für die Lehre