Arduino Projekt: Türsicherheitssystem

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen
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.

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. 2: 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.3 Schaltung Tür Sicherheitssystem

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

2. Start der Programmierung

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

Programmierung Anleitung

Nachdem alle Schritte abgeschlossen sind, kann mit der Programmierung des Projektes gestartet werden.

1) Bibliotheken einfügen

  • Bibliotheken für das 4x4 Tastenfeld downloaden: (Link)

Zuerst muss, für das Projekt Tür Sicherheitssystem, die heruntergeladenen Bibliotheken eingefügt werden.
Benötigt wird die Bibliothek für den Servomotor und für das Tastenfeld.

Quelltext 1: TSS.ino

2) Initialisierung Arduino

Im nächsten Schritt wird das Projekt mit den verbundenen Hardwarebauteilen im Programm initialisiert.

2.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.2) Tastenfeld Variablen

Benötigt werden Variablen zum:

  • Festlegen des Passwortes
  • Speichern der aktuell gedrückten Taste
  • Speichern der vier gedrückten Tasten
  • verhindern einer falschen Position bei der Eingabe

Quelltext 2: TSS.ino

2.3) Motor, Buzzer und RGB initialisieren

Zum Schluss wird die externe Hardware initialisiert und mit dem jeweiligen Pin verbunden.
Pin belegung: RGB (12,13), Motor (11) und Buzzer (10).

Tipp:

  1. Bei Fragen zum Code, kann in den anderen Projekten nachgeschaut werden. (Link)

Quelltext 3: 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-Anweisung und eine goto Funktion.
  3. Die Taste bekommt mit der Funktion Tastenfeld.getKey(); ihre Ziffer.

Quelltext 4: 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.

Tipp:

  1. Benötigt werden If-Else Funktionen, die nach der bestimmten Taste abfragen und die Anweisung dann ausführen.

Quelltext 5: 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.

Quelltext 6: TSS.ino

Musterlösung

Quelle: Link



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