Title: Arduino um Bluetooth-Modul erweitern
Course: iMINT-Akademie Modul Pulsmesser > Section: Experiment 4) Der Puls auf dem Smartphone

Hier erfährst du, wie du das Bluetooth-Modul mit dem Arduino verbindest, um den gemessenen Puls an ein Smartphone zu senden.

Aufbau-Skizze

Baue die folgende Schaltung auf, damit der Arduino die Daten per Blueooth an dein Smartphone senden kann. Die Übertragung übernimmt das Bluetooth-Modul (HC-05).

Abbildung: Schaltskizze Arduino, Pulssensor und Bluetooth-Modul

Das Bild "Schaltskizze Arduino, Pulssensor und Bluetooth-Modul" wurde von Lars Pelz im Auftrag der iMINT-Akademie erstellt. Es ist lizenziert unter Creative Commons BY-SA-3.0-de.

Arduino-Programm für Bluetooth

Vergleiche das Programm für die Bluetooth-Übertragung mit dem Programm für die Pulsmessung. Beschreibe, an welchen Stellen das Bluetooth-Programm erweitert wurde und welche Auswirkungen die Änderungen haben.

Nach dem Vergleich kannst du das rechte Programm auf den Arduino übertragen.

einfaches Mess-Programm | Mess-Programm mit Bluetooth-Übertragung
long zeit=0;
int wert=0;
int schwelle=650;
long abstand=0;

void setup() {
  pinMode(A0,INPUT);
  pinMode(13,OUTPUT);
  Serial.begin(9600);
}





void loop() {
  // auf Spitze warten
  while (wert<schwelle)
    wert=analogRead(A0);

  // LED einschalten
  digitalWrite(13,HIGH);

  // Zeitdifferenz berechnen
  abstand=millis()-zeit;

  // Zeit merken
  zeit=millis();

  // Plausibilität prüfen und ausgeben
  if (abstand>400 && abstand<2000) {
    Serial.print("Puls: ");
    Serial.println(60000/abstand);
  } else
    Serial.println(abstand);










// auf Tal warten
  while (wert>(schwelle-100))
    wert=analogRead(A0);

  // LED ausschalten
  digitalWrite(13,LOW);

}
#include <SoftwareSerial.h>
// weitere serielle Schnittstelle für
// das Senden über Bluetooth erstellen
SoftwareSerial BTserial(2, 3);

long zeit=0;
int wert=0;
int schwelle=650;
long abstand=0;

void setup() {
  pinMode(A0,INPUT);
  pinMode(13,OUTPUT);

  // Serial Monitor vorbereiten
  Serial.begin(9600);
  // Bluetooth-Übertragung vorbereiten
  BTserial.begin(9600);
}

void loop() {
  // auf Spitze warten
  while (wert<schwelle)
    wert=analogRead(A0);

  // LED einschalten
  digitalWrite(13,HIGH);

  // Zeitdifferenz berechnen
  abstand=millis()-zeit;

  // Zeit merken
  zeit=millis();

  // Plausibilität prüfen und ausgeben
  if (abstand>400 && abstand<2000) {
    // Pulsfrequenz berechnen und speichern
    byte puls=60000/abstand;
    // Pulsfrequenz im Serial Monitor anzeigen
    Serial.print("Puls: ");
    Serial.println(puls);

    // Pulsfrequenz über Bluetooth senden
    BTserial.write("P");
    BTserial.write(puls);
    BTserial.write((byte)0);

  } else
    Serial.println(abstand);

  // auf Tal warten
  while (wert>(schwelle-100))
    wert=analogRead(A0);

  // LED ausschalten
  digitalWrite(13,LOW);

}