well this is the current code that im using:
/*
Bluetooth Low Energy (BLE) Aktivierung
Dieser Sketch initialisiert den Bluetooth-Chip des Arduino UNO R4 WiFi,
macht ihn sichtbar und erlaubt eine Verbindung von einem Smartphone.
Erstellt für die Verwendung mit BLE-Scanner-Apps wie LightBlue oder nRF Connect.
*/
#include <ArduinoBLE.h>
// --- Bluetooth-Konfiguration ---
const char* deviceName = "MeinArduinoR4"; // Der Name, der in der Bluetooth-Suche erscheinen wird
// Definieren eines Bluetooth-Service und einer Characteristic.
// UUIDs sind eindeutige IDs. Du kannst Online-Generatoren nutzen, um eigene zu erstellen.
BLEService ledService("19B10000-E8F2-537E-4F6C-D104768A1214"); // Ein Beispiel-Service
BLECharCharacteristic switchCharacteristic("19B10001-E8F2-537E-4F6C-D104768A1214", BLERead | BLEWrite); // Eine Characteristic zum Lesen und Schreiben
void setup() {
// Starte die serielle Kommunikation für Debugging-Nachrichten
Serial.begin(9600);
while (!Serial); // Warte, bis der serielle Monitor verbunden ist
// Initialisiere den Bluetooth-Chip
if (!BLE.begin()) {
Serial.println("Fehler beim Starten von Bluetooth!");
while (1); // Stoppe das Programm, wenn BLE nicht startet
}
Serial.println("Bluetooth-Modul gestartet.");
// Setze den Namen, unter dem das Gerät gefunden wird
BLE.setLocalName(deviceName);
// Mache den Service und die Characteristic bekannt
BLE.setAdvertisedService(ledService);
ledService.addCharacteristic(switchCharacteristic);
BLE.addService(ledService);
// Setze einen Anfangswert für die Characteristic (optional)
switchCharacteristic.writeValue(0);
// Starte das "Advertising" (Senden), damit andere Geräte den Arduino finden können
BLE.advertise();
Serial.print("Arduino ist sichtbar als: ");
Serial.println(deviceName);
Serial.println("Warte auf eine Verbindung...");
}
void loop() {
// Warte auf eine Verbindung von einem zentralen Gerät (z.B. Smartphone)
BLEDevice central = BLE.central();
// Wenn ein Gerät sich verbunden hat:
if (central) {
Serial.print("Verbunden mit Gerät: ");
Serial.println(central.address()); // Zeige die Adresse des verbundenen Geräts an
// Solange die Verbindung besteht:
while (central.connected()) {
// Hier könnte später Code stehen, der ausgeführt wird,
// während eine Verbindung besteht.
// Zum Beispiel: Auf Daten warten, die von der App gesendet werden.
delay(200);
}
// Wenn die Verbindung getrennt wird:
Serial.print("Verbindung getrennt von: ");
Serial.println(central.address());
}
}
im unaware of what ASCII means but i dont think thats where the issue lies, let me use the tutorial you have provided, thank you!
dont mind the comments btw they are in german of course