Arduino UNO R4 WiFi Bluetooth Temperatuurmeter Voorbeeld - Temperatuur Weergave via BLE Tutorial

Overzicht

Het Bluetooth Temperatuur voorbeeld biedt een visuele temperatuurmeter via de DIYables Bluetooth STEM app. Ontworpen voor Arduino UNO R4 WiFi met BLE (Bluetooth Low Energy) om temperatuurmetingen weer te geven met een configureerbaar bereik en eenheid op uw smartphone. Perfect voor temperatuurbewaking, weerstations, HVAC-projecten, en omgevingssensoren.

Opmerking: De Arduino UNO R4 WiFi ondersteunt alleen BLE (Bluetooth Low Energy). Het ondersteunt geen Classic Bluetooth. De DIYables Bluetooth App ondersteunt zowel BLE als Classic Bluetooth op Android, en BLE op iOS. Omdat dit board BLE gebruikt, werkt de app op zowel Android als iOS.

Arduino UNO R4 WiFi Bluetooth Temperatuurmeter Voorbeeld - Temperatuur Weergave via BLE Tutorial

Functies

  • Visuele Meter: Prachtige temperatuurmeter weergave op smartphone
  • Configureerbaar Bereik: Stel minimum en maximum temperatuurwaarden in
  • Aangepaste Eenheid: Toon °C, °F, of elke aangepaste eenheid
  • Real-Time Updates: Stuur temperatuurveranderingen met configureerbare intervallen
  • Op Aanvraag Verzoek: App kan huidige temperatuur opvragen
  • Werkt op Android & iOS: BLE wordt ondersteund op beide platformen
  • Geen Koppeling Vereist: BLE verbindt automatisch zonder handmatige koppeling

Benodigde Hardware

1×Arduino UNO R4 WiFi
1×Alternatief: DIYables STEM V4 IoT
1×USB Kabel Type-C
1×(Optioneel) DS18B20 Temperatuursensor
1×(Optioneel) DHT11 Temperatuur Luchtvochtigheid Sensor Module
1×(Optioneel) DHT22 Temperatuur Luchtvochtigheid Sensor Module
1×(Aanbevolen) Schroefklem Block Shield voor Arduino Uno R4
1×(Aanbevolen) Breadboard-Shield voor Arduino Uno R4
1×(Aanbevolen) Behuizing voor Arduino Uno R4
1×(Aanbevolen) Stromsplitter voor Arduino Uno R4
1×(Aanbevolen) Prototyping Basisplaat & Breadboard Kit voor Arduino Uno

Of u kunt de volgende kits kopen:

1×DIYables STEM V4 IoT Starterskit (Arduino inbegrepen)
1×DIYables Sensorkit (30 sensoren/displays)
1×DIYables Sensorkit (18 sensoren/displays)
Openbaarmaking: Sommige van de links in deze sectie zijn Amazon-affiliate links. We kunnen een commissie ontvangen voor aankopen die via deze links worden gedaan, zonder extra kosten voor u. We waarderen uw steun.

Aankoopadvies: Veel DS18B20-sensoren op de markt zijn van lage kwaliteit. We raden u ten zeerste aan de sensor van het merk DIYables te kopen via de bovenstaande link. We hebben het getest en het werkte goed.

Arduino UNO R4 WiFi Code

Snelle Stappen

Volg deze instructies stap voor stap:

  • Nieuw bij Arduino UNO R4 WiFi? Raadpleeg de Arduino UNO R4 WiFi aan de slag gids om eerst de basis te leren.
  • Verbind het Arduino UNO R4 WiFi board met uw computer via een USB-kabel.
  • Start de Arduino IDE op uw computer.
  • Selecteer Arduino UNO R4 WiFi board en de juiste COM-poort.
  • Navigeer naar het Libraries icoon in de linkerbalk van de Arduino IDE.
  • Zoek "DIYables Bluetooth", en vind de DIYables Bluetooth bibliotheek door DIYables
  • Klik op de Install knop om de bibliotheek te installeren.
Arduino UNO R4 DIYables Bluetooth library
  • U wordt gevraagd om enkele andere bibliotheek afhankelijkheden te installeren
  • Klik op de Install All knop om alle bibliotheek afhankelijkheden te installeren.
Arduino UNO R4 DIYables Bluetooth dependency

BLE Code

  • In Arduino IDE, ga naar File Examples DIYables Bluetooth ArduinoBLE_Temperature voorbeeld, of kopieer de bovenstaande code en plak deze in de editor van Arduino IDE
/* * 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); }
  • Klik op de Upload knop in Arduino IDE om code naar Arduino UNO R4 WiFi te uploaden
  • Open de Serial Monitor
  • Bekijk het resultaat in Serial Monitor. Het ziet er ongeveer zo uit:
COM6
Send
DIYables Bluetooth - Temperature Example Waiting for Bluetooth connection...
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

Mobiele App

  • Installeer de DIYables Bluetooth App op uw smartphone: Android | iOS

Opmerking: De DIYables Bluetooth App ondersteunt zowel BLE als Classic Bluetooth op Android, en BLE op iOS. Omdat de Arduino UNO R4 WiFi BLE gebruikt, werkt de app op zowel Android als iOS. Er is geen handmatige koppeling nodig voor BLE — gewoon scannen en verbinden.

  • Open de DIYables Bluetooth App
  • Bij het voor het eerst openen van de app, vraagt deze om toestemmingen. Verleen de volgende toestemmingen:
    • Nearby Devices toestemming (Android 12+) / Bluetooth toestemming (iOS) - vereist om Bluetooth apparaten te scannen en verbinden
    • Location toestemming (alleen Android 11 en lager) - vereist door oudere Android versies om BLE apparaten te scannen
  • Zorg ervoor dat Bluetooth is ingeschakeld op uw telefoon
  • Op het startscherm, tik op de Connect knop. De app zal scannen naar BLE apparaten.
DIYables Bluetooth App - Startscherm met Scan Knop
  • Zoek en tik op "Arduino_Temp" in de scanresultaten om te verbinden.
  • Eenmaal verbonden, gaat de app automatisch terug naar het startscherm. Selecteer de Temperature app uit het app menu.
DIYables Bluetooth App - Startscherm met Temperature App

Opmerking: U kunt op het instellingen icoon op het startscherm tikken om apps te verbergen/tonen op het startscherm. Voor meer details, zie de DIYables Bluetooth App Gebruikershandleiding.

  • U zult een temperatuurmeter zien die de huidige meting toont met het geconfigureerde bereik en eenheid
DIYables Bluetooth App - Temperatuurmeter Scherm

Kijk nu terug naar de Serial Monitor in Arduino IDE. U zult zien:

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

Creatieve Aanpassing - Pas de Code Aan voor Uw Project

Configureer Temperatuurbereik en Eenheid

// Celsius: -10 tot 50 DIYables_BluetoothTemperature bluetoothTemp(bluetoothServer, -10.0, 50.0, "°C"); // Fahrenheit: 0 tot 120 DIYables_BluetoothTemperature bluetoothTemp(bluetoothServer, 0.0, 120.0, "°F"); // Aangepast bereik voor industrieel gebruik DIYables_BluetoothTemperature bluetoothTemp(bluetoothServer, -40.0, 200.0, "°C");

Stuur Temperatuur Updates

// Stuur temperatuurwaarde naar de app bluetoothTemp.send(25.5); // Lees van een echte sensor en verstuur float temp = readTemperatureSensor(); bluetoothTemp.send(temp);

Behandel Temperatuur Verzoeken

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

Programmeervoorbeelden

DS18B20 Temperatuursensor

#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 met 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); } } }

Probleemoplossing

Veelvoorkomende Problemen

1. Kan het apparaat niet vinden in de app

  • Zorg ervoor dat de Arduino UNO R4 WiFi is ingeschakeld en de sketch is geüpload
  • Controleer of Bluetooth van uw telefoon is ingeschakeld
  • Op Android 11 en lager, schakel ook Location services in

2. Temperatuur wordt niet bijgewerkt

  • Controleer dat send() wordt aangeroepen in de loop
  • Verifieer de timing van het update-interval
  • Zorg ervoor dat bluetoothServer.loop() wordt aangeroepen

3. Temperatuur toont verkeerd bereik

  • Controleer de min/max waarden in de constructor
  • Zorg ervoor dat de eenheid string correct is
  • Temperatuurwaarde moet binnen het geconfigureerde bereik liggen

4. Sensor meting is NaN

  • Verifieer sensor bedrading verbindingen
  • Controleer sensor voeding
  • Voeg isnan() controle toe voor het verzenden

5. Upload mislukt of board wordt niet herkend

  • Installeer het nieuwste Arduino UNO R4 board package via Board Manager
  • Probeer een andere USB-kabel of poort

Projectideeën

  • Kamertemperatuur monitor
  • Kas klimaatregelaar
  • Koelkast/vriezer thermometer
  • Weerstation display
  • Aquarium temperatuur monitor

Volgende Stappen

Na het beheersen van het Bluetooth Temperatuur voorbeeld, probeer:

  1. Bluetooth Analog Gauge - Voor algemene meter weergave
  2. Bluetooth Plotter - Voor temperatuur logging over tijd
  3. Bluetooth Table - Voor multi-sensor weergave
  4. Meerdere Bluetooth Apps - Temperatuur combineren met andere apps

Ondersteuning

Voor extra hulp:

※ ONZE BERICHTEN

  • U bent welkom om de link naar deze tutorial te delen. Gebruik onze inhoud echter niet op andere websites. We hebben veel moeite en tijd gestoken in het maken van de inhoud, respecteer alstublieft ons werk!