Arduino UNO R4 WiFi Bluetooth Temperatur-Anzeige Beispiel - Temperatur Display via BLE Tutorial

Übersicht

Das Bluetooth Temperatur-Beispiel bietet eine visuelle Temperatur-Anzeige über die DIYables Bluetooth STEM App. Entwickelt für Arduino UNO R4 WiFi unter Verwendung von BLE (Bluetooth Low Energy) zur Anzeige von Temperaturmesswerten mit konfigurierbarem Bereich und Einheit auf Ihrem Smartphone. Perfekt für Temperaturüberwachung, Wetterstationen, HVAC-Projekte und Umweltsensorik.

Hinweis: Der Arduino UNO R4 WiFi unterstützt nur BLE (Bluetooth Low Energy). Er unterstützt kein klassisches Bluetooth. Die DIYables Bluetooth App unterstützt sowohl BLE als auch klassisches Bluetooth auf Android und BLE auf iOS. Da dieses Board BLE verwendet, funktioniert die App auf sowohl Android als auch iOS.

Arduino UNO R4 WiFi Bluetooth Temperatur-Anzeige Beispiel - Temperatur Display via BLE Tutorial

Funktionen

  • Visuelle Anzeige: Schöne Temperatur-Anzeige auf dem Smartphone
  • Konfigurierbarer Bereich: Minimum- und Maximum-Temperaturwerte festlegen
  • Benutzerdefinierte Einheit: °C, °F oder jede beliebige Einheit anzeigen
  • Echtzeit-Updates: Temperaturänderungen in konfigurierbaren Intervallen übertragen
  • On-Demand-Anfrage: App kann aktuelle Temperatur anfordern
  • Funktioniert auf Android & iOS: BLE wird auf beiden Plattformen unterstützt
  • Keine Kopplung erforderlich: BLE verbindet sich automatisch ohne manuelle Kopplung

Benötigte Hardware

1×Arduino UNO R4 WiFi
1×Alternativ: DIYables STEM V4 IoT
1×USB-Kabel Typ-C
1×(Optional) DS18B20 Temperatursensor
1×(Optional) DHT11 Temperatur-Feuchtigkeitssensor Modul
1×(Optional) DHT22 Temperatur-Feuchtigkeitssensor Modul
1×(Empfohlen) Schraubklemmenblock-Shield für Arduino Uno R4
1×(Empfohlen) Breadboard-Shield für Arduino Uno R4
1×(Empfohlen) Gehäuse für Arduino Uno R4
1×(Empfohlen) Stromverteiler für Arduino Uno R4
1×(Empfohlen) Prototyping-Grundplatte & Breadboard-Kit für Arduino Uno

Oder Sie können die folgenden Kits kaufen:

1×DIYables STEM V4 IoT Starter-Kit (Arduino enthalten)
1×DIYables Sensor-Kit (30 Sensoren/Displays)
1×DIYables Sensor-Kit (18 Sensoren/Displays)
Offenlegung: Einige der in diesem Abschnitt bereitgestellten Links sind Amazon-Affiliate-Links. Wir können eine Provision für Käufe erhalten, die über diese Links getätigt werden, ohne zusätzliche Kosten für Sie. Wir schätzen Ihre Unterstützung.

Kaufhinweis: Viele DS18B20-Sensoren auf dem Markt sind von geringer Qualität. Wir empfehlen dringend den Kauf des Sensors von der Marke DIYables über den obigen Link. Wir haben ihn getestet und er funktionierte gut.

Arduino UNO R4 WiFi Code

Schnelle Schritte

Befolgen Sie diese Anweisungen Schritt für Schritt:

  • Wenn Sie den Arduino UNO R4 WiFi zum ersten Mal verwenden, lesen Sie den Arduino UNO R4 WiFi Einstiegsleitfaden.
  • Verbinden Sie das Arduino UNO R4 WiFi Board über ein USB-Kabel mit Ihrem Computer.
  • Starten Sie die Arduino IDE auf Ihrem Computer.
  • Wählen Sie das Arduino UNO R4 WiFi Board und den entsprechenden COM-Port.
  • Navigieren Sie zum Libraries Symbol in der linken Leiste der Arduino IDE.
  • Suchen Sie nach "DIYables Bluetooth", dann finden Sie die DIYables Bluetooth Bibliothek von DIYables
  • Klicken Sie auf die Install Schaltfläche, um die Bibliothek zu installieren.
Arduino UNO R4 DIYables Bluetooth library
  • Sie werden nach der Installation einiger anderer Bibliotheksabhängigkeiten gefragt
  • Klicken Sie auf die Install All Schaltfläche, um alle Bibliotheksabhängigkeiten zu installieren.
Arduino UNO R4 DIYables Bluetooth dependency

BLE Code

  • In der Arduino IDE, gehen Sie zu File Examples DIYables Bluetooth ArduinoBLE_Temperature Beispiel, oder kopieren Sie den obigen Code und fügen Sie ihn in den Editor der Arduino IDE ein
/* * DIYables Bluetooth Library - Bluetooth Temperature Example * Works with DIYables Bluetooth STEM app on Android and iOS * * This example demonstrates the Bluetooth Temperature feature: * - Display temperature sensor readings * - Configurable temperature range and unit * - Real-time temperature updates * * Compatible Boards: * - Arduino UNO R4 WiFi * - Arduino Nano 33 BLE / BLE Sense * - Arduino Nano 33 IoT * - Arduino MKR WiFi 1010 * - Arduino Nano RP2040 Connect * - Any board supporting the ArduinoBLE library * * Optional: Temperature sensor (DHT22, DS18B20, or analog thermistor) * * Setup: * 1. Upload the sketch to your Arduino * 2. Open Serial Monitor to see connection status * 3. Use DIYables Bluetooth App to connect and view temperature * * Tutorial: https://diyables.io/bluetooth-app * Author: DIYables */ #include <DIYables_BluetoothServer.h> #include <DIYables_BluetoothTemperature.h> #include <platforms/DIYables_ArduinoBLE.h> // BLE Configuration const char* DEVICE_NAME = "Arduino_Temp"; const char* SERVICE_UUID = "19B10000-E8F2-537E-4F6C-D104768A1214"; const char* TX_UUID = "19B10001-E8F2-537E-4F6C-D104768A1214"; const char* RX_UUID = "19B10002-E8F2-537E-4F6C-D104768A1214"; // Create Bluetooth instances DIYables_ArduinoBLE bluetooth(DEVICE_NAME, SERVICE_UUID, TX_UUID, RX_UUID); DIYables_BluetoothServer bluetoothServer(bluetooth); // Create Temperature app instance (min=-10°C, max=50°C, unit="°C") DIYables_BluetoothTemperature bluetoothTemperature(-10.0, 50.0, "°C"); // Variables for temperature simulation float currentTemperature = 25.0; unsigned long lastTempUpdate = 0; const unsigned long TEMP_UPDATE_INTERVAL = 2000; // Update every 2 seconds // Simulated temperature sensor reading float readTemperature() { // TODO: Replace with actual sensor reading // Examples: // - DHT22: dht.readTemperature() // - DS18B20: sensors.getTempCByIndex(0) // - Analog thermistor: analogToTemperature(analogRead(A0)) // Simulate temperature changes static float offset = 0; offset += random(-10, 11) / 10.0; // Random walk if (offset > 5.0) offset = 5.0; if (offset < -5.0) offset = -5.0; return 25.0 + offset; // Base temperature 25°C with variation } void setup() { Serial.begin(9600); while (!Serial); Serial.println("DIYables Bluetooth - Temperature Example"); // TODO: Initialize your temperature sensor here // Examples: // dht.begin(); // sensors.begin(); // Initialize Bluetooth server with platform-specific implementation bluetoothServer.begin(); // Add temperature app to server bluetoothServer.addApp(&bluetoothTemperature); // Set up connection event callbacks bluetoothServer.setOnConnected([]() { Serial.println("Bluetooth connected!"); // Send initial temperature reading float temp = readTemperature(); bluetoothTemperature.send(temp); Serial.print("Initial temperature sent: "); Serial.print(temp); Serial.println("°C"); }); bluetoothServer.setOnDisconnected([]() { Serial.println("Bluetooth disconnected!"); }); // Optional: Handle requests for temperature value bluetoothTemperature.onTemperatureRequest([]() { float temp = readTemperature(); bluetoothTemperature.send(temp); Serial.print("Temperature requested - Sent: "); Serial.print(temp); Serial.println("°C"); }); // You can change temperature configuration at runtime: // bluetoothTemperature.setRange(-40.0, 125.0); // Wide range for industrial sensors // bluetoothTemperature.setUnit("°F"); // Change to Fahrenheit Serial.println("Waiting for Bluetooth connection..."); } void loop() { // Handle Bluetooth server communications bluetoothServer.loop(); // Send temperature updates periodically (only when connected) if (bluetooth.isConnected() && millis() - lastTempUpdate >= TEMP_UPDATE_INTERVAL) { lastTempUpdate = millis(); // Read temperature from sensor currentTemperature = readTemperature(); // Send to Bluetooth app bluetoothTemperature.send(currentTemperature); // Print to Serial Monitor Serial.print("Temperature: "); Serial.print(currentTemperature); Serial.println("°C"); } delay(10); }
  • Klicken Sie auf die Upload Schaltfläche in der Arduino IDE, um den Code auf den Arduino UNO R4 WiFi hochzuladen
  • Öffnen Sie den Serial Monitor
  • Überprüfen Sie das Ergebnis im Serial Monitor. Es sieht folgendermaßen aus:
COM6
Send
DIYables Bluetooth - Temperature Example Waiting for Bluetooth connection...
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

Mobile App

  • Installieren Sie die DIYables Bluetooth App auf Ihrem Smartphone: Android | iOS

Hinweis: Die DIYables Bluetooth App unterstützt sowohl BLE als auch klassisches Bluetooth auf Android und BLE auf iOS. Da der Arduino UNO R4 WiFi BLE verwendet, funktioniert die App auf sowohl Android als auch iOS. Für BLE ist keine manuelle Kopplung erforderlich — einfach scannen und verbinden.

  • Öffnen Sie die DIYables Bluetooth App
  • Beim ersten Öffnen der App werden Berechtigungen abgefragt. Bitte gewähren Sie die folgenden:
    • Nearby Devices Berechtigung (Android 12+) / Bluetooth Berechtigung (iOS) - erforderlich zum Scannen und Verbinden mit Bluetooth-Geräten
    • Location Berechtigung (nur Android 11 und älter) - von älteren Android-Versionen zum Scannen nach BLE-Geräten benötigt
  • Stellen Sie sicher, dass Bluetooth auf Ihrem Telefon eingeschaltet ist
  • Tippen Sie auf dem Startbildschirm auf die Connect Schaltfläche. Die App scannt nach BLE-Geräten.
DIYables Bluetooth App - Home Screen with Scan Button
  • Finden und tippen Sie auf "Arduino_Temp" in den Scanergebnissen, um eine Verbindung herzustellen.
  • Nach der Verbindung kehrt die App automatisch zum Startbildschirm zurück. Wählen Sie die Temperature App aus dem App-Menü.
DIYables Bluetooth App - Home Screen with Temperature App

Hinweis: Sie können das Einstellungen-Symbol auf dem Startbildschirm antippen, um Apps auf dem Startbildschirm auszublenden/anzuzeigen. Für weitere Details siehe das DIYables Bluetooth App Benutzerhandbuch.

  • Sie werden eine Temperatur-Anzeige sehen, die den aktuellen Messwert mit dem konfigurierten Bereich und der Einheit anzeigt
DIYables Bluetooth App - Temperature Gauge Screen

Schauen Sie nun zurück zum Serial Monitor in der Arduino IDE. Sie werden sehen:

COM6
Send
Bluetooth connected! Temperature: 24.50 °C Temperature: 24.80 °C Temperature: 25.10 °C
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

Kreative Anpassung - Code an Ihr Projekt anpassen

Temperaturbereich und Einheit konfigurieren

// Celsius: -10 bis 50 DIYables_BluetoothTemperature bluetoothTemp(bluetoothServer, -10.0, 50.0, "°C"); // Fahrenheit: 0 bis 120 DIYables_BluetoothTemperature bluetoothTemp(bluetoothServer, 0.0, 120.0, "°F"); // Benutzerdefinierter Bereich für industrielle Nutzung DIYables_BluetoothTemperature bluetoothTemp(bluetoothServer, -40.0, 200.0, "°C");

Temperatur-Updates senden

// Temperaturwert an die App senden bluetoothTemp.send(25.5); // Von einem echten Sensor lesen und senden float temp = readTemperatureSensor(); bluetoothTemp.send(temp);

Temperaturanfragen verarbeiten

bluetoothTemp.onTemperatureRequest([]() { float temp = readTemperatureSensor(); bluetoothTemp.send(temp); Serial.print("Requested: "); Serial.println(temp); });

Programmierbeispiele

DS18B20 Temperatursensor

#include <OneWire.h> #include <DallasTemperature.h> OneWire oneWire(2); DallasTemperature sensors(&oneWire); DIYables_BluetoothTemperature bluetoothTemp(bluetoothServer, -10.0, 50.0, "°C"); void setup() { sensors.begin(); bluetoothTemp.onTemperatureRequest([]() { sensors.requestTemperatures(); float temp = sensors.getTempCByIndex(0); bluetoothTemp.send(temp); }); } void loop() { bluetoothServer.loop(); static unsigned long lastTime = 0; if (millis() - lastTime >= 2000) { lastTime = millis(); sensors.requestTemperatures(); float temp = sensors.getTempCByIndex(0); bluetoothTemp.send(temp); } }

DHT22 Sensor mit Fahrenheit

#include <DHT.h> DHT dht(2, DHT22); DIYables_BluetoothTemperature bluetoothTemp(bluetoothServer, 0.0, 120.0, "°F"); void setup() { dht.begin(); bluetoothTemp.onTemperatureRequest([]() { float temp = dht.readTemperature(true); // Fahrenheit if (!isnan(temp)) { bluetoothTemp.send(temp); } }); } void loop() { bluetoothServer.loop(); static unsigned long lastTime = 0; if (millis() - lastTime >= 2000) { lastTime = millis(); float temp = dht.readTemperature(true); if (!isnan(temp)) { bluetoothTemp.send(temp); } } }

Fehlerbehebung

Häufige Probleme

1. Gerät kann in der App nicht gefunden werden

  • Stellen Sie sicher, dass der Arduino UNO R4 WiFi eingeschaltet ist und der Sketch hochgeladen wurde
  • Vergewissern Sie sich, dass das Bluetooth Ihres Telefons aktiviert ist
  • Auf Android 11 und älter aktivieren Sie auch die Standortdienste

2. Temperatur wird nicht aktualisiert

  • Prüfen Sie, ob send() in der Schleife aufgerufen wird
  • Überprüfen Sie das Timing des Update-Intervalls
  • Stellen Sie sicher, dass bluetoothServer.loop() aufgerufen wird

3. Temperatur zeigt falschen Bereich

  • Überprüfen Sie die min/max-Werte im Konstruktor
  • Stellen Sie sicher, dass der Einheiten-String korrekt ist
  • Der Temperaturwert muss im konfigurierten Bereich liegen

4. Sensor-Messwert ist NaN

  • Überprüfen Sie die Sensor-Verkabelung
  • Prüfen Sie die Sensorspannungsversorgung
  • Fügen Sie eine isnan()-Prüfung vor dem Senden hinzu

5. Upload schlägt fehl oder Board wird nicht erkannt

  • Installieren Sie das neueste Arduino UNO R4 Board-Paket über den Board Manager
  • Versuchen Sie ein anderes USB-Kabel oder einen anderen Port

Projektideen

  • Raumtemperatur-Monitor
  • Gewächshaus-Klimaregler
  • Kühl-/Gefrierschrank-Thermometer
  • Wetterstation-Anzeige
  • Aquarium-Temperatur-Monitor

Nächste Schritte

Nach der Beherrschung des Bluetooth Temperatur-Beispiels versuchen Sie:

  1. Bluetooth Analog Gauge - Für universelle Anzeigen
  2. Bluetooth Plotter - Für Temperaturprotokollierung über die Zeit
  3. Bluetooth Table - Für Multi-Sensor-Anzeige
  4. Multiple Bluetooth Apps - Kombination von Temperatur mit anderen Apps

Support

Für zusätzliche Hilfe:

  • Überprüfen Sie die API-Referenzdokumentation
  • Besuchen Sie DIYables Tutorials
  • Arduino Community-Foren

※ UNSERE NACHRICHTEN

  • Sie können gerne den Link zu diesem Tutorial teilen. Bitte verwenden Sie jedoch unsere Inhalte nicht auf anderen Websites. Wir haben viel Mühe und Zeit in die Erstellung der Inhalte investiert, bitte respektieren Sie unsere Arbeit!