Gratis verzending vanaf €74,95 NL (€99,95 BE/DE)

Voor 16:00 besteld = morgen in huis

Express voor 13:00 besteld = vanavond in huis*

14 dagen gratis terugsturen*


Land

In dit project maken we gebruik van de kleur en nabijheid sensor op de Arduino Nano 33 BLE Sense. Ook hebben we de nieuwe Arduino_KNN bibliotheek nodig. Deze bibliotheek maakt gebruik van Tiny Machine Learning. In dit project gaan we objecten onderscheiden op basis van kleur. 
Dit project is gebaseerd op het project van Arduino.

Simple machine learning with Arduino KNN

 

Aan het begin van het programma geef je aan hoeveel objecten je wilt herkennen en hoe deze heten. Van elk object worden 30 ”sample readings” genomen. Als dit proces klaar is en jouw Arduino objecten gaat herkennen worden deze waardes toegevoegd aan de database van dat object. We hebben het project zo geschreven dat alle instellingen worden geconfigureerd in de seriële monitor.

 

  • Niveau – Gemiddeld 45% 45%
  • Tijdsduur – 30/40 min 35% 35%
  • Kosten – €36,95 compleet 25% 25%

Stap 1: benodigdheden machine learning project

Product: Aantal: Prijs:
1 Arduino Nano 33 BLE Sense 1 €36,95
Totaal €36,95

Stap 2: programmeren Arduino BLE Sense

Hoe werkt de code:

In dit project gaan we wat dieper in op hoe het allemaal precies werkt. In principe kun je de code gewoon gebruiken, maar omdat we een geavanceerdere code en een nieuwe (beta) library gebruiken leggen we wat dit uitgebreid uit.

Als eerste importeren we natuurlijk de nodige bibliotheken. De bibliotheek voor de nabijheid/licht sensor van de Arduino Nano 33 BLE Sense (Arduino_APDS9960.h) en de nieuwe machine learning library (Arduino_KNN.h). 

Vervolgens creëren we een aantal variabelen. Eentje om aan te geven uit hoeveel variabelen een kleur bestaat. In dit geval gebruiken we RGB kleuren dus hebben we er drie. Eentje gaat over de hoeveelheid objecten. Deze wordt in de void setup aangepast naar een waarde naar keuze. Vervolgens is er een variabele die aangeeft hoeveel kleur lezingen er in de database moeten staan voordat we beginnen. Dit is bij ons project 30. Ook is er een String() array die de objectnamen bijhoudt en variabelen voor hoe de kleur wordt opgeslagen en hoe helder de kleur minimaal moet zijn.

Na het definiëren van de variabelen zetten we deze in een database. Nu is het tijd voor de setup.

In de void setup starten we de seriële poort en sturen we een beginbericht. Vervolgens vragen we hoeveel objecten je van elkaar wilt onderscheiden. Nu kun je een getal typen en deze naar de Arduino versturen. Deze leest het uit, past de variabele die gaat over de hoeveelheid objecten aan. Vervolgens gaan we naar het definiëren van de objecten. Dit doen we door voorbeeld kleuren boven de sensor te houden. Het maximum is 3000 objecten. Houd er rekening mee dat er op basis van kleur wordt onderscheiden.

Voor elk object wordt er gevraagd naar een naam voor dit object. De naam type je in de seriële monitor en verstuur je naar de Arduino. Het label van jouw object wordt nu aangepast naar de naam die je hebt ingevoerd. Plaats nu jouw object boven de sensor van de Arduino 33 BLE Sense en beweeg het object voor het beste effect. Er worden snel 30 metingen uitgevoerd en opgeslagen. Herhaal dit proces voor elk object.

Nu je al jouw objecten hebt gedefinieerd kun je aan de gang met het herkennen. Er wordt gevraagd of je een object boven de sensor wilt houden en vervolgens wordt er één meting uitgevoerd. Er wordt geen nieuwe meting uitgevoerd totdat het object weer boven de sensor is weggehaald. Dit voorkomt een spam van metingen. Elke meting die je maakt in de ”loop” wordt toegevoegd aan de database die je in de ”void setup” hebt gemaakt waardoor de Arduino steeds beter weet welk object welke kleur is.

Op dit moment merken we wel dat er wat problemen zijn met het onderscheiden van rood, oranje en geel. Dit kan natuurlijk afhankelijk zijn van jouw verlichting.

Het programma

Hier zie je de code van dit project. Als je het over typt leer je beter hoe deze schets werkt.

De waardering van www.elektronicavoorjou.nl bij WebwinkelKeur Reviews is 9.3/10 gebaseerd op 4988 reviews.