รหัสสินค้า | SG30281 |
หมวดหมู่ | โมดูลวัดสี กล้องและการมองเห็น Camera / Color / Vision |
ราคา | 2,385.00 บาท |
สถานะสินค้า | พร้อมส่ง |
จำนวน | ชิ้น |
Figure: AI binocular vision recognition sensor hardware composition diagram
Features
Applications
Specification
Documents
Shipping List
The PC USB interface has low power, so it is recommended to use a 5V USB adapter for power supply, which will make the recognition more sensitive.
When registering face or palm print, you need to fix the AI visual sensor and pay attention to the recognition distance, 30-120cm for face, 15cm for vein palm print, and 15cm for QR code. Only one face or palm print is registered each time. If you need to register multiple, you can press the reset button of the UNO R3 development board to register other faces or palm prints again.
/*!
* @file SingleRegisteredUser.ino
* @brief This is an example of using the DFRobot_AI10 library to enroll a single registered user.
* @copyright Copyright (c) 2025 DFRobot Co.Ltd (http://www.dfrobot.com)
* @license The MIT License (MIT)
* @author [jiali](zhixinliu@dfrobot.com)
* @version V1.0
* @date 2025-07-14
* @url https://github.com/DFRobot/DFRobot_AI10
*/
#include "DFRobot_AI10.h"
/* ---------------------------------------------------------------------------------------------------------------------
* board | MCU | Leonardo/Mega2560/M0 | UNO | ESP8266 | ESP32 | microbit | m0 |
* VCC | 3.3V/5V | VCC | VCC | VCC | VCC | X | vcc |
* GND | GND | GND | GND | GND | GND | X | gnd |
* RX | TX | Serial1 TX1 | 5 | 5/D6 | 26/D3 | X | tx1 |
* TX | RX | Serial1 RX1 | 4 | 4/D7 | 25/D2 | X | rx1 |
* ----------------------------------------------------------------------------------------------------------------------*/
/* Baud rate cannot be changed , it is 115200 */
#if defined(ARDUINO_AVR_UNO) || defined(ESP8266)
SoftwareSerial mySerial(4, 5);
DFRobot_AI10_UART recognize(&mySerial ,115200);
#elif defined(ESP32)
DFRobot_AI10_UART recognize(&Serial1,/*rxD2*/25,/*txD3*/26);
#else
DFRobot_AI10_UART recognize(&Serial1 ,115200);
#endif
void setup() {
Serial.begin(115200);
while (!Serial);
while(!recognize.begin()){
Serial.println("NO Deivces !");
delay(1000);
}
Serial.println("Device connected!");
Serial.println("Start to enroll a user...");
//User enroll result anc info
sUserData_t udata;
/*
*admin permission is required to register a user. eNormal:average person ,eAdmin: administrator
*userName registered user name, the length is 32 bytes at most
*timeout is the time to wait for the recognition result, the range is 3-20 seconds
*/
udata = recognize.enrollUser(/*admin*/eNormal,/*userName*/"User1",/*timeout*/ 5);
//Check if the registration is successful, if successful, print the user information
if(udata.result == eSuccess){
Serial.println("User enrolled successfully!");
Serial.print("UID: ");
Serial.println(udata.UID);
Serial.print("User name: ");
Serial.println(udata.userName);
Serial.print("Admin permission: ");
Serial.println(udata.admin == eNormal ? "Normal":"Admin");
Serial.print("User enrolled type: ");
Serial.println(udata.type == eFace ? "Face":"Palm");
}else if (udata.result == eFailedFaceEnrolled){
Serial.println("Failed to enroll user, user already enrolled!");
}else{
Serial.println("Failed to enroll user!");
}
}
void loop() {
delay(100);
}
Register through the reset button of the UNO R3 development board. Each reset can register a face or palm print once. Each registration time is 5S. ID 1-1000 is face, and 1001-2000 is vein palm print.
Continuously identify faces, palm prints, and QR codes, and print the corresponding information through the serial port monitor. If it cannot be recognized, you can adjust the distance or posture slightly and keep it still.
/*!
* @file continuousRecognition.ino
* @brief This is an example of using the DFRobot_AI10 library to recognize human faces and QR codes in real-time.
* @copyright Copyright (c) 2025 DFRobot Co.Ltd (http://www.dfrobot.com)
* @license The MIT License (MIT)
* @author [jiali](zhixinliu@dfrobot.com)
* @version V1.0
* @date 2025-07-14
* @url https://github.com/DFRobot/DFRobot_AI10
*/
#include "DFRobot_AI10.h"
/* ---------------------------------------------------------------------------------------------------------------------
* board | MCU | Leonardo/Mega2560/M0 | UNO | ESP8266 | ESP32 | microbit | m0 |
* VCC | 3.3V/5V | VCC | VCC | VCC | VCC | X | vcc |
* GND | GND | GND | GND | GND | GND | X | gnd |
* RX | TX | Serial1 TX1 | 5 | 5/D6 | 26/D3 | X | tx1 |
* TX | RX | Serial1 RX1 | 4 | 4/D7 | 25/D2 | X | rx1 |
* ----------------------------------------------------------------------------------------------------------------------*/
/* Baud rate cannot be changed , it is 115200 */
#if defined(ARDUINO_AVR_UNO) || defined(ESP8266)
SoftwareSerial mySerial(4, 5);
DFRobot_AI10_UART recognize(&mySerial ,115200);
#elif defined(ESP32)
DFRobot_AI10_UART recognize(&Serial1,/*rxD2*/25,/*txD3*/26);
#else
DFRobot_AI10_UART recognize(&Serial1 ,115200);
#endif
void setup() {
Serial.begin(115200);
while (!Serial);
while(!recognize.begin()){
Serial.println("NO Deivces !");
delay(1000);
}
Serial.println("Device connected!");
//Enable face frame
if(recognize.enableFaceFrame()){
Serial.println("Face frame enabled!");
}
}
void loop() {
//Continuous recognition result
sRecognitionData_t recDat;
/* When a human face is detected, the system automatically starts the recognition process.After the person moves away for
x seconds, the recognition stops and the module continues with low-power face detection.the range is 3-20s.
*/
recDat = recognize.startContinuousFaceRecognition(/*timeout*/5);
//Print the recognition result
if(recDat.result == eSuccess){
Serial.println("Recognition successful!");
Serial.print("Recognition type: ");
if(recDat.type == eQR){
Serial.println("QR code");
Serial.print("QR code data: ");
Serial.println(recDat.QRDdata);
}else{
Serial.println(recDat.type == eFace ? "Face" : "Palm");
Serial.print("User ID: ");
Serial.println(recDat.userData.UID);
Serial.print("User Name: ");
Serial.println(recDat.userData.userName);
Serial.print("Admin Permission: ");
Serial.println(recDat.userData.admin == eAdmin ? "Admin" : "Normal");
}
}else{
Serial.println("Recognize...");
}
}
Continuously identify the detected faces, palm prints, and QR codes, and print the corresponding information through the serial port monitor.
Input command: AT+GETUSERS, query all user numbers and IDs
Input command: AT+DELUSER=1, delete the specified user ID1, 1 can be replaced by other user IDs
Input command: AT+DELALLUSERS, delete all registered users
/*!
* @file operateUserData.ino
* @brief This is an example of how to use the DFRobot_AI10 library to operate user data
* @copyright Copyright (c) 2025 DFRobot Co.Ltd (http://www.dfrobot.com)
* @license The MIT License (MIT)
* @author [jiali](zhixinliu@dfrobot.com)
* @version V1.0
* @date 2025-07-14
* @url https://github.com/DFRobot/DFRobot_AI10
*/
#include "DFRobot_AI10.h"
/* ---------------------------------------------------------------------------------------------------------------------
* board | MCU | Leonardo/Mega2560/M0 | UNO | ESP8266 | ESP32 | microbit | m0 |
* VCC | 3.3V/5V | VCC | VCC | VCC | VCC | X | vcc |
* GND | GND | GND | GND | GND | GND | X | gnd |
* RX | TX | Serial1 TX1 | 5 | 5/D6 | 26/D3 | X | tx1 |
* TX | RX | Serial1 RX1 | 4 | 4/D7 | 25/D2 | X | rx1 |
* ----------------------------------------------------------------------------------------------------------------------*/
/* Baud rate cannot be changed , it is 115200 */
#if defined(ARDUINO_AVR_UNO) || defined(ESP8266)
SoftwareSerial mySerial(4, 5);
DFRobot_AI10_UART recognize(&mySerial ,115200);
#elif defined(ESP32)
DFRobot_AI10_UART recognize(&Serial1,/*rxD2*/25,/*txD3*/26);
#else
DFRobot_AI10_UART recognize(&Serial1 ,115200);
#endif
void setup() {
Serial.begin(115200);
while (!Serial);
while(!recognize.begin()){
Serial.println("NO Deivces !");
delay(1000);
}
Serial.println("Device connected!");
Serial.println("AI10 An example of AT command control");
Serial.println("-----------------------------");
Serial.println("Available commands:");
Serial.println("AT+GETUSERS # Get all user information");
Serial.println("AT+DELUSER=ID # Delete the specified user (e.g. AT+DELUSER=0x1001)");
Serial.println("AT+DELALLUSERS # Delete all users");
Serial.println("-----------------------------");
Serial.println("Note: When sending, end with \'\\n\'. Please pay attention to line breaks!");
Serial.println("-----------------------------");
}
void loop() {
sAllUserID_t alluser;
int i;
if (Serial.available()) {
// Read the command from the serial port
String command = Serial.readStringUntil('\n');
command.trim();
if (command.startsWith("AT+GETUSERS")){
/* Get all user information*/
alluser = recognize.getAllUserIDs();
if(alluser.result == eSuccess){
Serial.print("User number:");
Serial.println(alluser.userNum);
if(alluser.userNum != 0){
Serial.print("User IDs:");
for(i=0;i<alluser.userNum;i++){
Serial.print(alluser.UIDS[i]);
Serial.print(" ");
}
Serial.println();
}
}
Serial.println("OK");
} else if (command.startsWith("AT+DELUSER=")) {
uint16_t ID = command.substring(11).toInt();
/* Delete the user with the specified ID*/
if(recognize.deleteUser(ID)){
Serial.println("successfully deleted!");
}
Serial.println("OK");
} else if (command.endsWith("AT+DELALLUSERS")) {
/* Delete all users */
if(recognize.deleteAllUser()){
Serial.println("successfully deleted!");
}
Serial.println("OK");
} else {
Serial.println("The command is incorrect!");
}
}
}
Enter the corresponding command to query the number of users, delete users, etc.
ชำระเงินค่าสินค้าโดยการโอนเงินเข้าบัญชีธนาคาร KBANK, SCB, BBL,TMB
กรุณาเก็บหลักฐานการโอนเงินของท่านไว้เพื่อแจ้งการชำระเงินด้วยค่ะ
ท่านสามารถแจ้งการชำระเงินผ่านระบบอัตโนมัติได้โดย Click Link ข้างล่างค่ะ
https://www.arduitronics.com/informpayment
หน้าที่เข้าชม | 15,420,929 ครั้ง |
ผู้ชมทั้งหมด | 5,924,007 ครั้ง |
เปิดร้าน | 21 พ.ค. 2556 |
ร้านค้าอัพเดท | 5 ต.ค. 2568 |