Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Manufacturing Technology >> Herstellungsprozess

RGB-Lichter per TinyML-Schlüsselworterkennung steuern

Komponenten und Materialien

Arduino Nano 33 BLE Sense 1 Stück

Apps und Online-Dienste

Projektbeschreibung

Maschinelles Lernen am Edge (TinyML) ermöglicht „intelligente“ Geräte mit weit weniger Programmieraufwand als klassische Logik. Hier wird ein Schlüsselwort-Erkennungsmodell trainiert, das gesprochene Befehle („on“, „off“, „red“, „green“, „blue“) erkennt und die onboard RGB-LED des Nano 33 BLE Sense entsprechend steuert.

Hardware

Nur der Arduino Nano 33 BLE Sense: Er besitzt Mikrofon, 9-Achsen-IMU, Umweltsensor, APDS-9960 (Gestik/Nähe/Farbe/Licht) und einen nRF52840 (64 MHz, 1 MB Flash, 256 KB RAM). Die onboard RGB-LED (Pins 22/23/24) dient als Ausgabe.

Edge Impulse einrichten

  1. Neues Projekt in Edge Impulse Studio anlegen.
  2. Edge Impulse CLI installieren, Firmware auf den Nano flashen (Doppelklick Reset → Bootloader, dann flash_windows.bat).
  3. edge-impulse-daemon starten, Wizard durchlaufen → Board erscheint in Geräteliste.

Datensammlung (Training)

Je ca. 1 Minute Audio pro Klasse aufnehmen (Wort im 1–2-Sekunden-Abstand wiederholen, dann splitten):

Zusätzlich: Rauschen („noise“) und unbekannte Wörter („unknown“) aus Edge-Impulse-vordefinierten Datensätzen hochladen. Datensatz auf 80 % Training / 20 % Test aufteilen.

Modelltraining

Deployment auf Arduino Nano 33 BLE Sense

Modell als Arduino-Bibliothek herunterladen, in Arduino IDE importieren, kompilieren & flashen. Der Nano fungiert als immer-aktives Mikrofon: kontinuierliche Audio-Abtastung, Inferenz, bei Erkennung eines Keywords → Index → Farbe setzen (on/off = Grau/Schwarz, red/green/blue = entsprechende Farbe).

Arduino-Code (Auszug)

#define EI_CLASSIFIER_SLICES_PER_MODEL_WINDOW 3
#define CONFIDENCE_THRESHOLD 0.7
#include <PDM.h>
#include <keyword_detection_inference.h>
#include <map>

static const uint32_t colors[] = {0x00ff0000, 0x0000ff00, 0x000000ff}; // R, G, B
enum Actions { LED_ON=1, LED_OFF=0, LED_RED=2, LED_GREEN=3, LED_BLUE=4, NONE=5 };
enum Functions { CHANGE_LED_ON_OFF=0, CHANGE_LED_COLOR=1, CHANGE_LED_NONE=2 };
static const uint8_t redPin=22, greenPin=23, bluePin=24;

const std::map actionToFunctionMap = { ... };
const std::map labelToActionMap = {
  {"on", LED_ON}, {"off", LED_OFF}, {"red", LED_RED},
  {"green", LED_GREEN}, {"blue", LED_BLUE}, {"unknown", NONE}, {"noise", NONE}
};

// PDM-Mikrofon-Setup, Inferenz-Loop, performAction() setzt LED-Farbe per analogWrite()
// Vollständiger Code im Originalprojekt.

Ergebnis: Das Gerät reagiert zuverlässig auf die fünf Keywords, ignoriert Hintergrundgeräusche und unbekannte Wörter. Die onboard RGB-LED visualisiert den erkannten Befehl sofort.

Herstellungsprozess

  1. Industrial IoT Security: Schlüsseltrends und Best Practices für 2020
  2. Edge & Cloud Computing im IoT: Ein prägnanter evolutionärer Überblick
  3. Warum Edge Computing für IoT-Erfolg essenziell ist
  4. Kontron KBox A‑150‑WKL: High-Performance, Low-Power IoT Edge PC für Industrial Automation
  5. Edge Computing: KI-Einsatz am Netzwerkrand beschleunigen
  6. Vier bewährte Schritte für erfolgreichen Edge-Computing-Einsatz in Smart Factories
  7. Microsoft stellt Azure Edge Zones für 5G-fähige IoT- und KI-Workloads vor
  8. Warum Open Source Innovation am Edge antreibt – Essential eBook
  9. Ultraempfindliches Chemiewaffen-Detektionssystem für Bedrohungen niedriger Konzentration
  10. Warum Gaswarngeräte in Top-Zustand gehalten werden müssen: 3 wesentliche Gründe