Angewandte Informatik: Bluetooth Kommunikation
Zur Navigation springen
Zur Suche springen
| 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.
Tutorial
Demos
E38_sendeByteViaBT.ino
Dieses Demo sendet seriell einen Zykluszähler via Bluetooth.
| E38_sendeByteViaBT.ino |
// Notw. Hardware HC-05 Bluetooth Modul
// VORBEREITUNG:
// HC-05 BT-Modul anschließen (AlphaBot UART Buchse)
// VCC - Arduino 5V
// GND - Arduino GND
// TXD - Arduino RX<-D0
// RXD - Arduino TX->D1
void setup() {
Serial.begin(9600); // Verbindung aufbauen, 9600 Baud
}
void loop() {
static byte Datum_u8 = 0; // Datum deklarieren
Serial.println(Datum_u8); // Datum senden
Datum_u8++; // Zähler inkrememntieren
delay(100);
}
|
empfangeByteViaBT.m
Dieses Demo empfängt Daten via Bluetooth und .
| empfangeByteViaBT.m |
% VORBEREITUNG:
% HC-05 BT-Modul anschließen (AlphaBot UART Buchse)
% VCC - Arduino 5V
% GND - Arduino GND
% TXD - Arduino RX<-D0
% RXD - Arduino TX->D1
% E38_sendeByteViaBT.ino auf Arduino laden
% https://svn.hshl.de/svn/Informatikpraktikum_1/trunk/Arduino/ArduinoLibOrdner/ArduinoUnoR3/examples/DemoBluetoothModulHC05/DemoSoftwareSerial/DemoSoftwareSerial.ino
%bluetoothlist % Übersicht der Adapter
clear all; close all
HC05 = bluetooth('Sensor06',1) % Tragen Sie hier Ihre Sensorbezeichnung ein
configureTerminator(HC05,"CR/LF"); % Ein Zeilenumbruch zeigt das Ende des Datenpaketes an
nDaten = 100; % Anzahl der Datensätze
i= 0; % Datenzähler
tic; % Zeitmessung starten
figure % Ergebnisdarstellung vorbereiten
h = animatedline('LineWidth',1);
%% Bluetooth empfangen
while i<nDaten
%% Daten lesen
n = HC05.NumBytesAvailable;
if n>0 % Sind Daten verfügbar?
data = readline(HC05) % Zeile lesen
if ~isempty(data) % Daten empfangen?
i = i+1
floatValue(i) = str2double(data); % Datum sichern
Zeit(i) = toc; % Zeit messen
addpoints(h, Zeit(i), floatValue(i)); % Datum visualisieren
drawnow;
end
end
end
|
Aufgabe
Arbeitsergebnisse in SVN: messeHoehe.m, Hoehe.mat
→ zurück zum Hauptartikel: BSE Angewandte Informatik - SoSe26