Luc Paquin
Published © CC BY

Project #30 - UNIHIKER - AI-Face Recognition - Mk15

Project #30 - UNIHIKER - AI-Face Recognition - Mk15

BeginnerFull instructions provided1 hour86
Project #30 - UNIHIKER - AI-Face Recognition - Mk15

Things used in this project

Hardware components

DFRobot UNIHIKER K10
×1
DFRobot Lithium Ion Battery - 1000mAh
×1
SparkFun Switch
×1
DFRobot USB 3.1 Cable A to C
×1

Software apps and online services

Arduino IDE
Arduino IDE

Story

Read more

Schematics

Fritzing

Code

DL2506Mk01p.mp

Arduino
/****** Don Luc Electronics © ******
Software Version Information
Project #30 - UNIHIKER - AI-Face Recognition - Mk15
DL2506Mk01p.mp
DL2506Mk01
1 x UNIHIKER K10
1 x Lithium Ion Battery - 1000mAh
1 x Switch
1 x USB 3.1 Cable A to C
*/

// Include the Library Code
// Unihiker K10
#include "unihiker_k10.h"
// AT Recognition
#include "AIRecognition.h"

// Dynamic variables
// ID
String mind_s_ID;
// Function declaration
// Button A Pressed
void onButtonAPressed();
// Button B Pressed
void onButtonBPressed();

// Create an object
UNIHIKER_K10  k10;
// Screen
uint8_t screen_dir=2;
// AI Recognition
AIRecognition ai;

// Main program start
void setup() {
	
  // Begin
  k10.begin();
  // Init Screen
  k10.initScreen(screen_dir);
  // Init AI
  ai.initAi();
  // Init Camera Imager
  k10.initBgCamerImage();
  // Set Camera Imager
  k10.setBgCamerImage(false);
  // Canver
  k10.creatCanvas();
  // Switch AI Mode
  ai.switchAiMode(ai.NoMode);
  // Button A
  k10.buttonA->setPressedCallback(onButtonAPressed);
  // // Button B
  k10.buttonB->setPressedCallback(onButtonBPressed);
  // Set Camera Image
  k10.setBgCamerImage(true);
  // Caver Text
  k10.canvas->canvasText("AI Face Recognition", 1, 0xFF0000);
  // Switch AI Mode
  ai.switchAiMode(ai.Face);

}
// Loop
void loop() {
	
  // Detect Content AI Recognized
  if (ai.isRecognized()) {

     // ID
     mind_s_ID = ai.getRecognitionID();
     ?? Face ID
     k10.canvas->canvasText((String("Face ID: ") + String(mind_s_ID)), 0, 150, 0x0000FF, k10.canvas->eCNAndENFont24, 50, true);
     // Update Canvas
     k10.canvas->updateCanvas();

  }

  // Delay
  delay(3000);

}

// Event callback function
// Button A Pressed
void onButtonAPressed() {
	
  // RGB Write
  k10.rgb->write(-1, 0x00FF00);
  // Send Face
  ai.sendFaceCmd(ENROLL);

}

// Button B Pressed
void onButtonBPressed() {

  // RGB Write
  k10.rgb->write(-1, 0x0000FF);
  // Send Face
  ai.sendFaceCmd(RECOGNIZE);

}

Credits

Luc Paquin
44 projects • 4 followers
Teacher, Instructor, E-Mentor, R&D and Consulting -Programming Language -Microcontrollers -IoT -Robotics -Machine Learning -AI -Sensors

Comments