AM 10: Bluetooth und App

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen

Dieser Wiki-Beitrag ist Teil eines Projektes, welches im Rahmen vom Fachpraktikum Elektrotechnik im 5. Semester Mechatronik absolviert wurde. Ziel des Beitrags ist es, eine nachhaltige Dokumentation zu schaffen, welche die Ergebnisse festhält und das weitere Arbeiten am Projekt ermöglicht.

Autoren:

Betreuer: Prof. Schneider


Aufgabe

Schnittstelle zu einem Android Handy


Erwartungen an die Projektlösung

  • Einarbeitung in die bestehenden Ardumowers-Unterlagen
  • Planung und Beschaffung der Bauteile
  • Aufbau der BT-Verbindung
  • Darstellung der Messdaten und Ansteuerung des Mähers
  • Darstellung und Bewertung der Ergebnisse im Vergleich zur Referenz
  • Erstellen Sie ein faszinierendes Video, welches die Funktion visualisiert.
  • Test und wiss. Dokumentation

Schwierigkeitsgrad

  • Mechanik:
  • Elektrotechnik: *
  • Informatik: **

Einleitung

Die Teilaufgabe "AM10: Bluetooth und App" hat darin bestanden eine Datenschnittstelle zwischen einem Ardumower und einem mobilen Android Endgerät zu erstellen. Zur Datenübertragung dient ein "HC-05" Bluetoothmodul. Die Datenschnittstelle zwischen dem Android-Endgerät und dem Ardumower soll es ermöglichen die einzelnen Parameter des Ardumowers auszulesen.

Projektdurchführung

Das Teilprojekt "AM10: Bluetooth und App" wird in der Gruppe "Software" eingeordnet. Zu Beginn des Projekts als die Teile der BOM noch nicht verfügbar gewesen sind, bestand die hauptsächliche Aufgabe darin, sich mit "Android-Studio" und der Java Programmierung vertraut zu machen. Als das "HC-05" Bluetooth-Modul mit den Teilen der BOM angekommen ist, musste dieses als erstes richtig mit dem Arduino verkabelt und in Betrieb genommen werden. Danach bestand der Großteil in der Programmierung der graphischen Nutzeroberfläche und der Bluetooth-Schnittstelle.

Datenübertragung

Zuerst muss eine Serielle Schnittstelle zu dem "HC-05" Bluetooth-Modul hergestellt werden. Wenn eine serielle Schnittstelle zwischen dem "HC-05" Modul und dem Arduino hergestellt worden ist können einfache Textnachrichten in Form eines Strings an das "HC-05" Modul gesendet werden. Folgende Parameter können mit folgenden Nachrichten auf dem Android-Endgerät dargestellt werden:

  • Der Akku in Prozent: "a" + 3 Ziffern + "\r", Bsp.: Bei einem gesendeten "a056\r" wird auf dem Display des Android-Endgerätes angezeigt, dass der Akkustand bei 56% liegt. Wichtig ist, dass nur Ziffern übertragen werden und diese im Wertebereich von 0 - 100 liegen.
  • Die Spannung des Akkus in Volt: "A" + 4 Ziffern + "\r", Bsp.: Bei einem gesendeten "A1446\r" wird auf dem Display des Android-Endgeräts angezeigt, dass die Spannung des Akkus bei 14,46 Volt liegt.
  • Motorauslastung in Prozent: "v" + 3 Ziffern + "\r", Bsp.: Bei einem gesendeten "v087\r" wird auf dem Display des Android-Engeräts angezeigt, dass der Motor zu 87% ausgelastet ist. Auch hier ist es wichtig, dass die Ziffern zusammen einen Wert ergeben, der im Bereich von 0 - 100 liegt.
  • Mähwerk Status: "m" + "0" oder "1" + "\r", Bsp.: Bei einem gesendeten "m0\r" wird auf dem Display des Android-Smartphones dargestellt, dass das Mähwerk ausgeschaltet ist. Bei einem gesendeten "m1\r" wird auf dem Android-Endgerät angezeigt, dass das Mähwerk aktiv ist.
  • Anhebeschutz Status "h" + "0" oder "1" + "\r", Bsp.: Bei einem gesendeten "h1\r" wird auf dem Display des Android-Endgerätes dargestellt, dass der Anhebeschutz des Ardumowers zur Zeit aktiviert ist.
  • Einzelne Nachrichten loggen "l" + beliebiger String + "\r", Bsp.: Bei einem gesendeten "lAkku Fehler\r" wird der String "Akku Fehler" in dem dafür vorgesehenen Textfeld innerhalb der App dargestellt.

Diese Funktion ist zum Auslesen von Fehlern und zum Debuggen der Arduino Software vorgesehen.

  • Status des Ardumowers "s"+ "0" oder "1" oder "2". Die "1" bedeutet, dass der Ardumower voll funktionsfähig und bereit ist. In diesem Fall wird ein "OK" in der Statustextzeile des Ardumowers geschrieben.

Die "0" bedeutet, dass der Ardumower zur Zeit wartet, Beispielsweise wenn er an der Laddestation wartet. Es wird ein "WAIT" in der Statustextzeile geschrieben. Die "2" steht für einen Fehler, der den Ardumower am seiner Arbeit behindert. Hier wird ein "ERROR" in die Statustextzeile des Ardumowers geschrieben.

Projektplan

Zu Beginn des Projektes konnten wir uns lediglich in das Android-Framework einarbeiten und unsere Fähigkeiten auf dem Gebiet der Programmierung mit Java erweitern, da das "HC-05" Modul erst später mit den anderen Materialien der BOM angekommen ist. Zudem haben wir noch bevor das Bluetoothmodul für uns verfügbar gewesen ist damit begonnen, ein erstes Layout für die App festzulegen.

Nachdem das "HC-05" Bluetooth-Modul für uns verfügbar gewesen ist konnten wir mit der eigentlichen Arbeit beginnen. Diese beinhaltete folgende Tätigkeiten:

  • 1: Inbetriebnahme des "HC-05" Bluetooth-Moduls
  • 2: Programmierung der graphischen Benutzeroberfläche der App
  • 3: Programmierung der Bluetoothschnittstelle der App
  • 4: Programmierung eines Programms für den Arduino um die Bluetooth-Kommunikation zu testen
  • 5: Fehlersuche und Verbesserung des Programmcodes

Verwendete Bauteile

  • Arduino Uno: Zum Übertragen der Daten an das "HC-05" Modul, damit dieses die zu sendenden Daten über Bluetooth senden kann.
  • HC-05 Bluetooth-Modul: Das "HC-05" Bluetooth-Modul stellt die eigentliche Bluetoothfunktionalität des Ardumowers bereit

Ergebnis

Es ist problemlos möglich eine Verbindung zwischen dem Android-Endgerät und dem "HC-05" Modul des Ardumowers herzustellen. Zu dem momentanen Zeitpunkt können beliebige Daten zwischen Ardumower und Android-Endgerät ausgetauscht werden, jedoch ist die App darauf ausgelegt die im Hauptteil aufgeführten Daten zu visualisieren. Die App kann aber auch leicht auf neue Daten angepasst und erweitert werden.

Zusammenfasung

Das Teilprojekt "AM 10:Bluetooth und App" verlief im Großen und Ganzen relativ erfolgreich, die App ist im Großen und Ganzen fertig gestellt. Es hat jedoch relativ wenig Kommunikation mit den für die Software zuständigen Gruppen gegeben, aus diesem Grund sind die darzustellenden Parameter willkürlich von uns festgelegt worden und die Parameteraktualisierungen noch nicht in die Software des Arduinos integriert. Jedoch sollte sich die Integration der App in die Software des Arduinos relativ problemlos gestalten lassen.

Ausblick

Die Bluetooth-App muss in Zukunft in den eigentlichen Ardumower integriert werden. Dies bedeutet, dass vor allem die Software des Ardumowers auf die Kommunikation zum Android-Endgerät angepasst werden muss.

Zudem sollte die App auch optisch modifiziert werden, da bis zu dem momentanem Zeitpunkt relativ wenig Wert auf Äußerlichkeiten gelegt worden ist.

Selbstverständlich kann auch die App um zusätzliche Funktionen erweitert werden. Beispielsweise könnte der Ardumower um eine interne Rasterkarte erweitert werden. Diese wäre auf dem Android-Endgerät visualisierbar.

Weiterführende Links

Unterlagen

YouTube-Video


→ zurück zum Hauptartikel: Fachpraktikum Elektrotechnik (WS 16/17)