Steuerung des Computers durch Handgesten mit Arduino: Unterschied zwischen den Versionen

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen
Markierung: Manuelle Zurücksetzung
Zeile 147: Zeile 147:


== Komponentenspezifikation ==
== Komponentenspezifikation ==
{| class="wikitable"
! style="font-weight: bold;" | ID
! style="font-weight: bold;" | Komponente
! style="font-weight: bold;" | Eingänge
! style="font-weight: bold;" | Ausgänge
! style="font-weight: bold;" | Aufgabe
! style="font-weight: bold;" | Art der Komponente
|-
| 01
| Mikroprozessor
| Signale des Sensors
| Durchführung der entsprechenden Aktionen
| Steuerung der Komponenten und Signale
| Hardware
|-
| 02
| Ultraschall Sensor
| Spannungsversorgung
| Distanz von Händen
| Messen der Distanz von den Händen
| Hardware
|}


== Umsetzung (HW/SW) ==
== Umsetzung (HW/SW) ==

Version vom 4. Januar 2023, 18:49 Uhr

Autoren: Lihui Liu, Junjie Lyu
Betreuer: Marc Ebmeyer

→ zurück zur Übersicht: WS 22/23: Angewandte Elektrotechnik (BSE)

Einleitung

Bei dem vorliegenden Artikel handelt es sich um ein Projekt aus dem Praktikum angewandte Elektrotechnik des Studiengangs Business and Systems Engineering (BSE). Ziel des Projektes ist es, die bestimmten Funktionen auf dem Computer durch Handgesten zu realisieren. Hierfür werden die Ultraschallsensoren (US) eingesetzt, um die Entfernung zwischen Monitor und Hande zu erfassen. Die Messdaten werden über die serielle Schnittstelle (USB) an den Computer gesendet, die von Python eingelesen werden. Während des Laufs der Pythonprogrammierung auf dem Computer werden die bestimmten Aktionen ausgeführt. Die Umsetzung des Projektes erfolgt nach dem V-Modell.

Abbildung 1: V-Modell 15:59, 02. Okt. 2022 Quelle:[1]

Anforderungen

Tabelle 1: Persölichkeit; Hardware; Software; System
ID Inhalt Ersteller Datum Geprüft von Datum
Persönlichkeit
1.1 Python Erkenntnisse Lihui Liu - Junjie Lyu -
1.2 Arduino Erkenntnisse Lihui Liu - Junjie Lyu -
Hardware
2.1 Arduino Uno Lihui Liu 02.10.2022 Junjie Lyu 02.10.2022
2.2 Ultraschallsensor (3 stück) Lihui Liu 02.10.2022 Junjie Lyu 02.10.2022
2.3 USB Kabel Lihui Liu 02.10.2022 Junjie Lyu 02.10.2022
2.4 Laptop mit Python Lihui Liu 02.10.2022 Junjie Lyu 02.10.2022
Software
3.1 Arduino IDE Lihui Liu 02.10.2022 Junjie Lyu 02.10.2022
3.2 Python3 Lihui Liu 02.10.2022 Junjie Lyu 02.10.2022
3.3 VLC media player Lihui Liu 02.10.2022 Junjie Lyu 02.10.2022
Funktionen des Systems
4.1 Wenn beide Hände in einer bestimmten Entfernung vor den Sensor gehalten werden, sollte das Video im VLC-Player abgespielt/angehalten werden. Lihui Liu 02.10.2022 Junjie Lyu 02.10.2022
4.2 Wenn die rechte Hand in einem bestimmten Abstand vor dem Sensor platziert wird, sollte das Video einen Schritt vorwärts laufen. Lihui Liu 02.10.2022 Junjie Lyu 02.10.2022
4.3 Wenn die linke Hand in einer bestimmten Entfernung vor dem Sensor platziert wird, sollte das Video um einen Schritt zurückgespult werden. Lihui Liu 02.10.2022 Junjie Lyu 02.10.2022
4.4 Wenn die rechte Hand in einem bestimmten Nahbereich vor dem Sensor platziert wird und dann in Richtung des Sensors bewegt wird, sollte das Video vorgespult werden, und wenn es wegbewegt wird, sollte das Video zurückgespult werden. Lihui Liu 02.10.2022 Junjie Lyu 02.10.2022
4.5 Wenn die linke Hand in einem bestimmten Nahbereich vor dem Sensor platziert wird und dann in Richtung des Sensors bewegt wird, sollte die Lautstärke des Videos zunehmen und wenn sie wegbewegt wird, sollte die Lautstärke abnehmen. Lihui Liu 02.10.2022 Junjie Lyu 02.10.2022

Funktionaler Systementwurf/Technischer Systementwurf

Die Abb. 2 und 3 stellen einen funktionalen Systementwurf dar, mit dem die Zuschauer beim Video durch Handgesten die Lautstärke ändern oder vor-/rückwärtsspulen können. Auf dem Monitor werden drei Ultraschallsensoren angelegt, mit denen die Entfernung zwischen Monitor und Hand erfasst wird. Die Messsdaten werden über die serielle Schnittstelle (USB) an den Computer gesendet und mittels der Python Module pyautogui and pyserial mit dem VLC media player verknüpft.

Sensorik

Die Sensorik erfasst die Messwerte und bildet somit die Berechnungsgrundlage der Ausgangsvariablen des Mikrocontrollers. Die verwendete 2 Sensoren sind Ultraschall Sensor HC SR04. Sie dienen zur Ermittlung der Abstandswerte zwischen der Hände. Arduino liest diese Werte ab und basierend auf diesem Abstandswerte werden die bestimmte Aktionen ausgeführt.

Komponentenspezifikation

ID Komponente Eingänge Ausgänge Aufgabe Art der Komponente
01 Mikroprozessor Signale des Sensors Durchführung der entsprechenden Aktionen Steuerung der Komponenten und Signale Hardware
02 Ultraschall Sensor Spannungsversorgung Distanz von Händen Messen der Distanz von den Händen Hardware

Umsetzung (HW/SW)

Hardware

Alle verwendeten Hardwarekomponenten können in der Stückliste in Tabelle 4 eingesehen werden.

Stückliste

Tabelle 4: Stückliste
ID Anzahl Kosten pro Stück € Summe Bezeichnung / Komponente technische Bezeichnung Abbildung
1 2x 3,20 € 6,40 € Ultraschallsensoren HY-SRF04 [1]
Ultraschallsensor HC-SR04
2 1x 37,39€ 37,39€ Mikrocontroller Arduino UNO R3 [2]
Arduino Uno Board
3 1x 0,00€ 0,00€ Breadboard Breadboard [3]
Breadboard

Verdrahtungsplan

Programmierung

Programmablaufpläne

Die nachfolgenden Programmablaufpläne veranschaulichen die Struktur des Programmcodes. Auf der linken Seite stellt Programmablauf im Arduino und rechte Seite im dar.

Arduino PAP Python PAP
Arduino PAP
Python PAP.png

Programmcode

Komponententest

Ergebnis

Zusammenfassung

Lessons Learned

Projektunterlagen

Projektplan

Abb. 1: Projektplan


Projektdurchführung

YouTube Video

Weblinks

Literatur


→ zurück zur Übersicht: WS 21/22: Angewandte Elektrotechnik (BSE)