Arduino Projekt: Türsicherheitssystem: Unterschied zwischen den Versionen

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen
Zeile 56: Zeile 56:


== '''Aufbau Schaltung''' ==
== '''Aufbau Schaltung''' ==
[[Datei:Tür_Schaltplan.png|550px|thumb|right|Abb.3 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 Abb. 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 15. August 2023, 10:42 Uhr

Abb. 1: Tür Sicherheitssystem

Autor: Justin Frommberger

Aufgabenstellung

  • Ziel des Projektes ist eine Tür Sicherheitssystem zu simulieren.
  • Die Aufgabe ist, mit einem vierstelligen Zahlen Code die Tür zu öffnen (LED grün).
  • Wenn der Code 3-mal Falsche eingegeben wurde, ertönt ein Warnsignal und die LED leuchtet rot auf.
  • Alle Eingaben sollen auf dem seriellen Monitor angezeigt werden.

Abb. 2: UML

Benötigte Materiallien

Tabelle 1: Materialliste

Nr. Anz. Beschreibung Bild
1 Funduino Arduino UNO R3
1 USB A zu USB B
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
Orange, Gelb oder Weiß PWM-Signal

Tastenfeld

Anleitung zum Tastenfeld siehe: [klicken]

Aufbau Schaltung

Abb.4 Schaltung Tür Sicherheitssystem

In Abb. 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.

1) Bibliotheken einfügen

Lade, 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]

2) Initialisierung Arduino

Im nächsten Schritt sollen die verbundenen Hardwarebauteile im Programm initialisiert werden.

1. Tastenfeld initialisieren
Ziel ist, alle benötigten Variablen für die Funktion: Keypad Tastenfeld = Keypad(makeKeymap(Hexa_Keys), Row_Pins, Col_Pins, ROWS, COLS); festzulegen.

  • ROWS sind die Anzahl der Spalten und COLS sind die Anzahl der Zeilen, diese werden als Variable festgelegt.
  • Daraufhin müssen Row_Pins und Col_Pins ihren Ziffern zugeordnet werden über eine Array-Zuweisung.
  • Zum Schluss muss die Hexa_Keys 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
Zum Schluss werden LED, Motor und Buzzer initialisiert und mit dem jeweiligen Pin verbunden.
Pin Belegung: LED (12,13), Motor (11) und Buzzer (10).
pinMode();
Servo.h

[Quelltext 4: TSS.ino]

3) Richtige Reihenfolge der Eingabe

Wichtig ist, dass die Ziffern richtig eingegeben werden.

  • So muss sich eine Funktion überlegt werden, welches dies ermöglicht.
  • Zur Verwendung kommen nun die Variablen für die falsche Position.
  • 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]

4) Tür öffnen und schließen

  • Nachdem nun die richtige Eingabe programmiert wurde, fehlt noch das öffnen und schließen der Tür.
  • Für das Öffnen der Tür wird die Taste (#) verwendet und zum Tür verriegeln die Taste (*).
  • Wenn die Tür offen ist, leuchtet die LED Grün und Rot, wenn sie geschlossen ist.
  • Der Motor soll ich zu 90 Grad drehen beim Schließen und zu 0 Grad beim Öffnen.
  • Überprüfe vor dem Öffnen, ob das Passwort korrekt ist.

Tipp:

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

[Quelltext 6: TSS.ino]

5) Einbrecher Warnung!

Als Zusatzaufgabe wurde sich überlegt, einen Buzzer ertönen zu lassen, wenn das Passwort 3-mal Falsche 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

Sollte Ihr Code nicht ordnungsgemäß funktionieren, überprüfen Sie ihn anhand der Musterlösung.

Quelle: Link



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