Angewandte Informatik: Bluetooth Kommunikation: Unterschied zwischen den Versionen

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen
Zeile 64: Zeile 64:
'''URL:''' https://svn.hshl.de/svn/Informatikpraktikum_1/trunk/Arduino/ArduinoLibOrdner/AlphaBot/examples/E38_sendeByteViaBT/E38_sendeByteViaBT.ino
'''URL:''' https://svn.hshl.de/svn/Informatikpraktikum_1/trunk/Arduino/ArduinoLibOrdner/AlphaBot/examples/E38_sendeByteViaBT/E38_sendeByteViaBT.ino


== DemoTOFVL6180X.ino ==
Dieses Demo sendet seriell einen Zykluszähler via Bluetooth.
{| role="presentation" class="wikitable mw-collapsible mw-collapsed"
| <strong>DemoTOFVL6180X.ino&thinsp;</strong>
|-
| <source line lang="matlab" style="font-size:medium">//*****************************************************************************
// Notwendige Hardware: VL6180X
// - VIN: 5V oder 3,3V
// - GND: GND
// - SDA: SDA/D16
// - SCL: SCL/D17
//*****************************************************************************
// Dokumentation: LiDAR_Abstandssensor_ToF_VL6180X
#include <Wire.h>    // I2C
#include <VL6180X.h>  // VL6180X von Pololu


VL6180X sensor;      // Instanz
void setup()
{
  Serial.begin(9600); // Serielle Kommunikation, 9600 Baud
  Wire.begin();      // I2C
 
  sensor.init();      // LiDAR einrichten
  sensor.configureDefault();
  sensor.setTimeout(500);
}
void loop()
{ const char SCALING=2;
  sensor.setScaling(SCALING); // Skalierung ändern
                              // 1: Reichweite 4mm - 200mm, Auflösung 1mm
                              // 2: Reichweite 4mm - 380mm, Auflösung 2mm
                              // 3: Reichweite 4mm - 570mm, Auflösung 3mm
  Serial.println(sensor.readRangeSingleMillimeters()); // Entfernung in mm
  if (sensor.timeoutOccurred()) { Serial.print(" TIMEOUT"); }
}
</source>
|}
'''URL:''' https://svn.hshl.de/svn/Informatikpraktikum_1/trunk/Arduino/ArduinoLibOrdner/ArduinoUnoR3/examples/DemoTOFVL6180X


== empfangeByteViaBT.m ==
== empfangeByteViaBT.m ==
Zeile 150: Zeile 110:
|}
|}
'''URL:''' https://svn.hshl.de/svn/Informatikpraktikum_1/trunk/Arduino/ArduinoLibOrdner/AlphaBot/examples/E38_sendeByteViaBT/empfangeByteViaBT.m
'''URL:''' https://svn.hshl.de/svn/Informatikpraktikum_1/trunk/Arduino/ArduinoLibOrdner/AlphaBot/examples/E38_sendeByteViaBT/empfangeByteViaBT.m
== DemoTOFVL6180X.ino ==
Dieses Demo sendet seriell einen Zykluszähler via Bluetooth.
{| role="presentation" class="wikitable mw-collapsible mw-collapsed"
| <strong>DemoTOFVL6180X.ino&thinsp;</strong>
|-
| <source line lang="matlab" style="font-size:medium">//*****************************************************************************
// Notwendige Hardware: VL6180X
// - VIN: 5V oder 3,3V
// - GND: GND
// - SDA: SDA/D16
// - SCL: SCL/D17
//*****************************************************************************
// Dokumentation: LiDAR_Abstandssensor_ToF_VL6180X
#include <Wire.h>    // I2C
#include <VL6180X.h>  // VL6180X von Pololu
VL6180X sensor;      // Instanz
void setup()
{
  Serial.begin(9600); // Serielle Kommunikation, 9600 Baud
  Wire.begin();      // I2C
 
  sensor.init();      // LiDAR einrichten
  sensor.configureDefault();
  sensor.setTimeout(500);
}
void loop()
{ const char SCALING=2;
  sensor.setScaling(SCALING); // Skalierung ändern
                              // 1: Reichweite 4mm - 200mm, Auflösung 1mm
                              // 2: Reichweite 4mm - 380mm, Auflösung 2mm
                              // 3: Reichweite 4mm - 570mm, Auflösung 3mm
  Serial.println(sensor.readRangeSingleMillimeters()); // Entfernung in mm
  if (sensor.timeoutOccurred()) { Serial.print(" TIMEOUT"); }
}
</source>
|}
'''URL:''' https://svn.hshl.de/svn/Informatikpraktikum_1/trunk/Arduino/ArduinoLibOrdner/ArduinoUnoR3/examples/DemoTOFVL6180X


= Aufgabe =
= Aufgabe =

Version vom 15. Juni 2026, 13:02 Uhr

Autor: Prof. Dr.-Ing. Schneider
Modul Business and Systems Engineering, Angewandte Mathematik und Informatik, Übung, Sommersemester
Modulbezeichnung: BSE-M-2-1.09
Lektion: 10

Inhalt

Manchmal ist es unhandlich den Arduino am seriellen Kabel zu betreiben. Hierbei würde es helfen die Messstelle von der Auswertestelle zu trennen und die Messdaten über Funk zu übertrgagen.

Lernziele

Nach Durchführung dieser Lektion können Sie

  • Messdaten vom Arduino via Bluetooth an den PC senden.
  • Daten via Bluetooth empfangen und mit MATLAB® analysieren und anzeigen.
  • Messwerte in einer MAT-Datei speichern.

Vorbereitung

  1. Studieren Sie den Artikel Bluetooth Module HC-05.
  2. Versetzen Sie den Arduino mittels Demo in den Sendemodus (E38_sendeByteViaBT.ino).
  3. Koppeln Sie das Notebook mit dem Arduino via Bluetooth (Kennworte für die Bluetooth-Module).
  4. Senden Sie den Inhalt eines 8-Bit Zählers.
  5. Empfangen Sie den Zähler mit MATLAB® (empfangeByteViaBT.m.
  6. Visualisieren Sie den Zähler in einem Plot.
  7. Sichern Sie die Daten in der Datei Messdaten.mat.


Tutorial

Demos

E38_sendeByteViaBT.ino

Dieses Demo sendet seriell einen Zykluszähler via Bluetooth.

URL: https://svn.hshl.de/svn/Informatikpraktikum_1/trunk/Arduino/ArduinoLibOrdner/AlphaBot/examples/E38_sendeByteViaBT/E38_sendeByteViaBT.ino


empfangeByteViaBT.m

Dieses Demo empfängt Daten via Bluetooth und .

URL: https://svn.hshl.de/svn/Informatikpraktikum_1/trunk/Arduino/ArduinoLibOrdner/AlphaBot/examples/E38_sendeByteViaBT/empfangeByteViaBT.m

DemoTOFVL6180X.ino

Dieses Demo sendet seriell einen Zykluszähler via Bluetooth.

URL: https://svn.hshl.de/svn/Informatikpraktikum_1/trunk/Arduino/ArduinoLibOrdner/ArduinoUnoR3/examples/DemoTOFVL6180X

Aufgabe

  • Lesen Sie mit dem LiDAR VL6180X die Entfernung zu einem Objekt in mm ein.
  • Übertragen Sie mit der Datei BluetoothDatenlogger.ino die vom linken und rechten Rad gefahrene Strecke an MATLAB® via Bluetooth.
  • Empfangen Sie die Daten mit dem Skript zeigeMesswerte.m.
  • Berechnen Sie aus den Strecken die Geschwindigkeiten und Beschleunigungen.
  • Zeigen Sie das Ergebnis als 3x2 Subplot mit MATLAB® an.
  • Sichern Sie Ihr Ergebnis in der Datei Messung_8_1.mat.

Arbeitsergebnisse: BluetoothDatenlogger.ino, zeigeMesswerte.m, Messung_8_1.mat

Arbeitsergebnisse in SVN: messeHoehe.m, Hoehe.mat


→ zurück zum Hauptartikel: BSE Angewandte Informatik - SoSe26