Hardware
Resumen¶
- Processador → K210, 400 MHz
- Lente de la cámera → 200 píxels
- Voltage de funcionamiento → 3,3 - 5 V
- Dimensiones → 42 x 36 x 12 mm
- Pantalla → TFT-IPS de 1,3”
- Resolución de la pantalla → 240 x 240 píxels
Sus principales funcionalidades son:
- Reconocimiento de colores
- Detección de bloques de color
- Reconocimiento de etiquetas
- Aprendizaje
- Detección de líneas
- Reconocimiento de tarjetas
- Reconocimiento de caras
Sentry2 es un sensor de visión artificial diseñado con un procesador de red neuronal RISC-V de 64 bits avanzado K210.
Este dispositivo integra varios algoritmos de visión avanzados que pueden satisfacer las necesidades básicas de procesamiento de imágenes. El chip ESP8285-WiFi integrado se puede programar desde el IDE de Arduino para realizar reconocimiento en línea, transmisión de imágenes, AIoT (Artificial Intelligence of Things) y otras aplicaciones. El ESP8285 se puede utilizar como controlador para el K210, lo que facilita la programación de IA sin necesidad de un controlador externo.
Aplicaciones: robots, coches inteligentes, diseño creativo, educación STEAM, creadores, juguetes, AIoT.
En la imagen vemos los nombre y situación de sus principales partes:
- LED: representa diferentes estados de detección.
- Cámara: captura de imágenes. El usuario puede ajustar el nivel de zoom, el balance de blancos, el brillo, la saturación y otros parámetros de la cámara.
- Antena WiFi: el chip WiFi ESP8285 puede realizar reconocimiento en línea, transmisión de imágenes y aplicaciones AIoT.
- Procesador K210: un potente MCU (Multipoint Control Unit) con unidad de procesamiento de red neuronal, procesador RISC-V de doble núcleo y 64 bits.
- Ranura microSD: admite tarjetas microSD (también conocidas como TF, que significa TransFlash) para el almacenamiento de imágenes (nota: no se admiten todos los tipos de tarjetas SD, solo con comunicación SPI).
- USB: el chip USB-UART integrado puede comunicarse y controlarse directamente con el ordenador, así como actualizar el firmware.
PRECAUCIÓN
La alimentación USB se conecta al puerto de comunicación de 4 pines. Nunca se deben usar dos alimentaciones al mismo tiempo.
- Pantalla LCD: pantalla TFT-ISP (Thin Film Transistor - In-Plane Switching) a color con alta definición y amplio ángulo de visión.
- Joystick: para interactuar con la interfaz de usuario, admite control en cinco direcciones (arriba, abajo, izquierda, derecha, pulsar).
- Reset o botón de reinicio: reinicia el hardware.
- Puerto de salida: puerto de salida de 4 pines para comunicación, compatible con los modos UART e I2C.
Parámetros del hardware¶
Parámetro | Valor | Unidad | Notas |
---|---|---|---|
Tensión | 3.3 a 5 | V | No alimentar por USB e I2C/UART simultaneamente |
Corriente | 150 | mA | Alimentada a 5V y en modo reconocimiento de caras |
Tamaño | 40x32x12.5 | mm | Sin carcasa |
Peso | 15 | g | Sin carcasa |
Distancia entre agujeros de montaje | 32 | mm | |
Diámetro agujeros de montaje | 3 | mm | |
Tipo de cámara | CMOS | ||
Resolución cámara | 200 | pixel | |
FPS | 25 | fps | |
Campo de visión FOV | 68 | º | |
Tipo | TFT-ISP LCD | ||
Tamaño | 1.3 | Pulgadas | |
Resolución pantalla | 240x240 | pixel |
Cómo se utiliza¶
Sentry2 se puede conectar a un controlador a través del puerto de salida (ver imagen siguiente) o a un ordenador mediante un cable USB. El puerto de salida se puede configurar en modo UART o I2C y también es posible modificar la dirección del dispositivo y la velocidad de transmisión.
Desde el enlace se pueden descargar: Controladores, firmware, manuales y recursos de terceros.
PRECAUCIÓN:
¡El puerto USB y el puerto de comunicación no se pueden alimentar al mismo tiempo!
Definición de los pines del puerto de salida¶
Para la conexión entre la placa controladora y el sensor Sentry2 resultará útil la información de pines del conector de salida:
Pines | Modo UART | Modo I2C |
---|---|---|
1 | Rx | SDA |
2 | Tx | SCL |
3 | GND | GND |
4 | VCC | VCC |
ATENCIÓN:
Cuando se inserta el cable USB, este puerto puede suministrar energía a dispositivos externos.
Conexionado¶
Veamos en primer lugar como conectar el sensor de visión IA a una placa ESP32 STEAMakers.
Modo UART¶
En modo UART debes asegurarte de:
- La conexión Tx - Rx entre la placa y Sentry2 está cruzada. Sentry2 Rx → Tx placa y Sentry2 Tx → Rx placa.
- Dado que los pines RX y TX de STEAMakers son utilizados para la carga del firmware, es necesario desconectar las conexiones Rx y Tx durante la carga del programa. Se recomienda utilizar el modo I2C.
Modo I2C ESP32 STEAMakers¶
Modo I2C ESP32 micro:STEAMakers¶
NOTA:
Si quieres utilizar el puerto serie por software, puedes especificar otros puertos de entrada/salida. Para más detalles, mira el SoftSerialExample en el IDE de Arduino.
Interface de usuario¶
Sentry2 tiene dos tipos de páginas o modos de interfaz de usuario:
- Página de ejecución:
→ Algorithm (Algoritmo): Algoritmo de "Vision" actualmente en ejecución.
→ Image (Imagen): Las imágenes en tiempo real de la cámara.
→ Markers (Marco): Enmarca el objeto detectado, incluyendo un cuadro de detección, líneas de coordenadas e información.
→ System Info (Información de sistema): Velocidad de fotogramas de la cámara, nivel de zoom o estado de la conexión WiFi.
- Página de configuración:
→ Firmware Info (): La versión del firmware y su fecha de lanzamiento.
→ Brief (Resumen): Descripción de la opción actual.
→ Options List (Lista de opciones): Las opciones de esta lista se pueden seleccionar moviendo el botón de navegación hacia arriba o hacia abajo; pulsa brevemente para acceder a la ventana de configuración de la derecha.
→ Virtual Button (Botón): Botón interactivo. Sus bordes se resaltarán en azul si se selecciona.
→ Tips (Consejos): Consejos para el funcionamiento.
Página de configuración de la interfaz¶
Si haces clic con el joystick hacia la izquierda, saldrá de la página actual y pasará una por una hasta volver a la página de ejecución.
- Configuración Vision: habilita o deshabilita la configuración del modo de visión y parámetros.
- Configuración cámara: puedes configurar el zoom de la cámara, el balance de blancos, la saturación, etc.
- Configuración hardware: configura el modo de salida, la velocidad de transmisión UART, la dirección del dispositivo, el color de la luz, el idioma y otras configuraciones de hardware.
Nota:
Una vez completados los ajustes, asegúrate de volver a la interfaz de ejecución y, a continuación, reinicia Sentry2 para que los nuevos ajustes surtan efecto.
Configuración de Vision¶
Se explica en el apartado de Algoritmos de Vision
Configuración de la cámara¶
Zoom digital¶
Puedes ampliar la vista de zoom de la cámara para ver objetos lejanos. Admite de 1 a 5 niveles de ajuste.
Al aumentar el zoom, el objeto se verá más grande, pero el campo de visión será más pequeño. Por el contrario, al reducir el zoom, el objeto se verá más pequeño, pero el campo de visión será mayor.
Además de ajustar el valor del zoom en la página de configuración de la interfaz de usuario, se pueden realizar ajustes rápidos utilizando el botón de navegación:
- para acercar, manten pulsado hacia arriba
- para alejar, manten pulsado hacia abajo.
Autobalanace de blancos (AWB)¶
Bajo una iluminación que no sea luz blanca, el color de un objeto se desvía de su color real. Para identificar correctamente cada color es necesario ajustar el balance de blancos para la corrección del color. Sentry2 ofrece un total de 4 modos de balance de blancos: "Auto", "Lock", "White", y "Yellow.
Auto (Automático): este modo es el modo predeterminado y se aplica a la mayoría de los entornos.
Lock (Bloqueado): cuando hay una gran área de fondo monocromático en la imagen, el blanco se desequilibra, lo que provoca errores en el reconocimiento del color. Por lo tanto, es necesario bloquear el balance de blancos antes del reconocimiento para evitar el ajuste automático del color. El método es el siguiente:
1. Apunta la cámara hacia un papel blanco y manten una distancia de unos 20 cm.
2. Entra en el menú 'AWB' y selecciona el modo 'Bloqueado'.
3. Haz clic en 'YES'. En este momento, Sentry2 tomará muestras de colores durante aproximadamente 2 segundos, luego guardará los valores RGB actuales y el color ya no se ajustará.
4. Vuelve a la página de ejecución.
Nota:
En el modo bloqueado, cuando Sentry2 se reinicia o se vuelve a activar el modo bloqueado, es necesario volver a realizar el muestreo de color. Se debe garantizar que la cámara apunte hacia un área blanca o rica en color, en lugar de hacia un área monocromática no blanca de gran tamaño, para evitar la distorsión del muestreo de color.
Consejo:
Si el efecto sigue sin ser el ideal, prueba a calibrar el balance de blancos manualmente.
White (Blanco): úsalo en entornos con luz blanca.
Yellow (Amarillo): úsalo en entornos con luz amarilla.
Calibración del balance de blancos¶
La función de calibración del balance de blancos permite ajustar las ganancias de color de los canales rojo (R), verde (G) y azul (B), respectivamente, con el fin de obtener con precisión el color blanco. Primero hay que configurar el balance de blancos en el modo Bloqueo y, a continuación, se puede realizar la operación de calibración.
Tras la calibración, mientras no se salga del modo Bloqueo, los parámetros del balance de blancos permanecerán sin cambios y seguirán siendo válidos incluso si se reinicia Sentry2, por lo que no es necesario volver a orientar el dispositivo hacia una zona blanca al encenderlo.
Los pasos específicos se muestran en la siguiente figura:
- Paso 1: Apunta la cámara hacia un papel blanco. En primer lugar, selecciona el modo Bloqueo y haz clic en "YES"", luego haz clic en "ADJ AWB" para acceder a la página de calibración.
- Paso 2: Ajusta los valores RGB en el marco rojo. Aumenta los valores si son pequeños y disminúyelos si son grandes. Por último, haz que los valores RGB estén próximos entre sí y que todos estén dentro del rango de 100 a 200.
- Paso 3: Cuando el color de la imagen se vuelve blanco y el marco rojo se vuelve verde, significa que la calibración ha finalizado. Haz clic en "Validar" para guardar y salir.
Nota:
La calibración del balance de blancos solo suele ser adecuada para el mismo entorno de iluminación que el utilizado durante el muestreo de color del balance de blancos. Cuando cambia la iluminación, puede ser necesario volver a bloquear y calibrar el balance de blancos.
Saturación¶
Aumentar la saturación hará que el color se vuelva más brillante, se intensifique y resalte.
Disminuir la saturación hará que el color se vuelva más apagado y, a niveles muy bajos, parecerá blanco y negro.
Brillo¶
Si la imagen es demasiado oscura, se puede aumentar el brillo de forma adecuada. Sin embargo, si se aumenta en exceso, la imagen se volverá de color blanco grisáceo. Se recomienda reducir el brillo de forma adecuada al reconocer imágenes en la pantalla.
Contraste¶
Aumentar el contraste hará que la diferencia entre lugares próximos con diferencia de color sea mayor.
Reducir el contraste hará que la imagen se vea apagada o tenue.
Al realizar el seguimiento de líneas con un mapa de líneas negras sobre fondo blanco o al reconocer AprilTags o códigos QR, se puede aumentar el contraste de forma adecuada.
Sharpness (Nitidez)¶
Aumentar la nitidez hará que el contorno de los bordes sea más claro y los detalles más evidentes, pero si se aumenta demasiado se producirá ruido.
Reducir la nitidez difuminará la imagen.
Control de autoexposición AEC¶
La luz intensa permite reducir el valor de exposición cuando se expone la imagen.
Por el contrario, si el entorno es oscuro, se debe aumentar el valor de exposición.
Rotación¶
La imagen rota 180 grados si se habilita.
Configuración del hardware¶
Funcionamiento del joystick¶
Página actual | Operación | Resumen |
---|---|---|
Ejecución | Clic arriba | Cambia al algoritmo de visión previo |
Ejecución | Clic abajo | Cambia al algoritmo de visión siguiente |
Ejecución | Clic izquierdo | Instantánea (cuando hay insertada tarjeta microSD) |
Ejecución | Clic derecho | Entra en la página de configuración |
Ejecución | Pulsar | Aprendizaje (para Learning y Faces) |
Ejecución | Pulsación larga arriba | Acercar zoom |
Ejecución | Pulsación larga abajo | Alejar zoom |
Ejecución | Pulsación larga | Borra todos los modelos (para Learning y Faces) |
Página actual | Operación | Resumen |
---|---|---|
Configuración | Clic arriba | Cambia al menú o botón anterior |
Configuración | Clic abajo | Cambia al siguiente menú o botón |
Configuración | Clic izquierdo | Cambia a la anterior página de configuración Vuelve a la página de ejecución |
Configuración | Clic derecho | Cambia a la siguiente página de configuración |
Configuración | Pulsar | Selecciona |
Página actual | Operación | Resumen |
---|---|---|
Inicio | Pulsación mayor de 10 segundos arriba | Restaura la configuración de hardware por defecto |
Inicio | Pulsar | Entra en modo actualización de firmware de K210 |
Inicio | Pulsación larga abajo | Entra en modo actualización de firmware de ESP8255 |
NOTA:
Un clic es una pulsación corta, para que sea una pulsación larga debes mantener pulsado el botón durante al menos 2 segundos antes de soltarlo.
Configuración de salida¶
Si quieres utilizar un controlador para comunicarte con la Sentry2 debes hacer ajustes en algunas configuraciones de salida.
- En la página de 'ejecución', haz clic derecho tres veces en el joystick para acceder a la página de configuración del hardware.
- Desliza el joystick hacia arriba o hacia abajo para seleccionar la opción "Salida" y, a continuación, pulsa el botón del mismo para acceder a la ventana de configuración de la derecha.
- Desliza el joystick hacia la derecha o hacia la izquierda para seleccionar un modo de salida. Por lo general, el modo 'I2C' tiene una velocidad de comunicación más alta, por lo que se reduce el tiempo de espera para obtener los resultados del reconocimiento.
- Si se selecciona el modo 'UART', es necesario elegir un protocolo de comunicación. Desplaza el joystick hacia abajo para activar el botón de selección de protocolo y haz clic en él para cambiar entre el protocolo de comando estándar y el protocolo de comando simple. Manten "Estándar" si se va a utilizar la biblioteca de controladores.
- Haz clic en 'YES' para volver atrás.
- Seleccione la opción 'Dirección' (Address) en los menús de la izquierda.
- Configura la dirección de hardware de Sentry2 con un valor entre '0x60' y '0x63', haz clic en 'YES' y vuelve atrás. El valor predeterminado es: '0x60'.
- Accede a la página de configuración 'UART' si seleccionas este modo.
-
Mueve el control deslizante hacia la izquierda o hacia la derecha para configurar la velocidad de transmisión UART a alguno de los valores siguientes: 9600, 19200, 38400, 57600, 115200, 921600, 1152000, 2000000.
Una velocidad de transmisión más alta puede reducir el tiempo de transferencia de datos, lo que puede mejorar la velocidad de fotogramas de la imagen. Debes comprobar que la velocidad de transmisión máxima de tu controlador sea compatible. Si la comunicación es anómala, debes reducir la velocidad de transmisión.
-
Haz clic izquierdo con el joystick tres veces para volver a la página de ejecución.
Configuración USB¶
Sentry2 puede comunicarse con el ordenador mediante un cable USB-C. Su velocidad de transmisión se puede configurar por separado. El modo USB también se basa en el 'protocolo estándar o simple'.
Velocidad en baudios: admite velocidades de 9600, 19200, 38400, 57600, 115200, 921600, 1152000 y 2000000 baudios. El USB se puede desactivar si el control deslizante 'To UART' está a la izquierda.
To UART: activa o desactiva la transmisión de datos entre el USB y la UART.
Consejo:
Si los datos enviados coinciden con las instrucciones del protocolo, se ejecutan las instrucciones en lugar de la salida.
Configuración de la pantalla¶
Los resultados de la detección, cuando el modo visión está en funcionamiento, se indican a través de tres marcas: cuadro de detección, coordenadas X-Y e información.
Box: Activar o desactivar la visualización del cuadro rectangular que se utiliza para marcar un objeto detectado.
X-Y: Activar o desactivar la visualización de las líneas de coordenadas horizontales y verticales para el punto central del objeto de destino, así como los valores:
- X: posición horizontal
- Y: posición vertical
- W: anchura del objeto
- H: altura del objeto.
Info: muestra información del objeto, como su etiqueta de clasificación y su nombre.
Consejos:
- Desactivar la visualización de los elementos de marcado puede mejorar la frecuencia de actualización de la pantalla, especialmente cuando se detectan múltiples objetos.
- Para ciertos algoritmos, algunas de las opciones de visualización anteriores son ineficaces. Por ejemplo, el algoritmo Línea no admite la visualización de líneas de coordenadas del punto central.
Configuración diodos LED¶
Hay dos diodos LED en la parte delantera del hardware para indicar el estado de la detección. El color del LED cambiará en función de los resultados de la detección de cada fotograma.
El usuario puede configurar el color del LED para el estado 'detectado' o 'no detectado' respectivamente. Haz clic en el joystick para cambiar el color siguiendo la secuencia siguiente:
El color negro significa que el LED está apagado.
Cuando los colores 'Detected' (Detectado) y 'Undetected' (No detectado) son iguales, los LED permanecerán encendidos.
El rango de 'Brillo' va de 0 a 15, donde 0 es como apagar la luz y 15 es el más brillante. Por lo general, se recomienda ajustar el brillo a 1 o 2.
-
Apagar el LED
En algunos casos, el LED debe apagarse, ya que su iluminación puede causar interferencias en el reconocimiento de imágenes (como la visión de color o de manchas). Hay dos formas de apagar el LED:
1. Establecer 'Detected' y 'Undetected' en negro. 2. Establecer el brillo a 0.
-
Luz de relleno
Cuando el entorno es oscuro o hay contraluz, es necesario utilizar luz de relleno:
1. Establece 'Detected' y 'Undetected' a blanco.
2. Establece 'Brillo' a 15.
Comnfiguración WiFi¶
El chip ESP8285-WiFi integrado en Sentry2 puede comunicarse con el procesador K210 a través de un puerto UART interno. Cuando se activa la función 'Custom Vision', el chip ESP8285 entra en funcionamiento.
Baudrate: Velocidad en baudios. Admite velocidades de 9600, 74880, 115200, 921600, 1152000, 2000000, 3000000, 4000000 baudios. El WiFi se desactivará si el control deslizante está a la izquierda.
to UART: Activa o desactiva la transmisión de datos entre WiFi y UART.
to USB: Habilita o deshabilita la transmisión de datos entre WiFi y USB.
Nota:
Solo se puede seleccionar una de las opciones UART o USB; no se permite la configuración simultánea.
Consejo:
Si los datos enviados coinciden con las instrucciones del protocolo, se ejecutan las instrucciones en lugar de reenviarse.
Configuración de coordenadas¶
Sentry2 soporta dos sistemas de coordenadas: Absolutas y Porcentuales.
Absoluto: En este modo, se devuelven los resultados de coordenadas reales. El rango va de 0 a 319 (horizontal) y de 0 a 239 (vertical). El punto central es (160,120). Este modo tiene una mayor precisión.
Porcentuales: En este modo, los resultados de las coordenadas reales se cuantifican en un rango de 0 a 100, tanto en el rango en dirección horizontal como en dirección vertical. El punto central es (50,50).
Configuración de idioma¶
Se puede cambiar el idioma entre Chino e Inglés.
Configuración de registros¶
Operaciones con registros Sentry2: Modo de guardado automático (Auto Save Mode), Guardar registro (Save Register), Configuración predeterminada (Default Settings).
Auto Save (Autoguardado): Algunos valores de los registros se guardarán automáticamente si se habilita este modo; de lo contrario, los registros se restablecerán a su valor predeterminado después del siguiente inicio. Por lo general, este modo debe estar deshabilitado.
Save REG: Guarda los valores actuales de los registros.
Default: Restaura los registros a la configuración de fábrica. Haz clic primero en este botón y, a continuación 'YES'.