La cámara Pixy2 es un sistema de reconocimiento visual asistido por ordenador. Permite al microcontrolador detectar colores o líneas para crear un robot que siga líneas, por ejemplo, o para atrapar objetos de colores.
Material
- Ordenador
- Arduino UNO, Mega o Nano
- Cable USB A Macho/B Macho
- Cámara Pixy2
Principio de funcionamiento
La cámara Pixy2 es un sistema de visión completo equipado con un sensor de imagen y un microprocesador. Incluye algoritmos de aprendizaje y detección de color, línea, intersección y código de barras pequeño. Incorpora toda la tecnología necesaria para el reconocimiento visual.
Especificaciones técnicas
- Procesador: NXP LPC4330, 204 MHz, doble núcleo
- Sensor de imagen: Aptina MT9M114, resolución de 1296×976 con procesador de flujo de imagen integrado
- Consumo de energía: 140 mA típicos
- Consumo de energía: entrada USB (5V) o entrada no regulada (6V a 10V)
- Datos disponibles: serie UART, SPI, I2C, USB, digital, analógico
- Dimensiones: 38,1 x 41,91 x 15,24 mm
- Peso : 10g
Esquema
La cámara Pixy2 puede comunicarse fácilmente con un microcontrolador utilizando sus interfaces de comunicación (UART, SPI, I2C, USB). Se conecta al puerto ICSP de la placa Arduino.
Configuración de la cámara Pixy2
Descargar el software pixymon
Abra el software PixyMon v2
Aprender a reconocer
Antes de poder utilizar el Pixy2, tendrás que enseñarle a reconocer los objetos que te interesan y asignarles una firma (identificador). Es posible guardar hasta 7 firmas.
- pulse el botón de la parte superior de la cámara hasta que el LED se vuelva rojo y luego suéltelo.
- colocar un objeto delante de la cámara
- pulse de nuevo el botón para guardar el objeto
Una vez realizado el aprendizaje, podemos ver que el objeto está rodeado por un rectángulo con la firma escrita en su centro.
Si tiene problemas para reconocer el objeto aprendido es posible configurar la sensibilidad del reconocimiento en los ajustes – vaya a archivo -> configurar en la pestaña de ajuste y juegue con los ajustes para obtener el resultado deseado.
Algunos objetos no son fácilmente reconocibles. Intenta encontrar objetos con formas particulares y colores brillantes y definidos.
Código
Instala la biblioteca Arduino Pixy2. La función más importante es getBlocks() que devuelve el número de bloques detectados e información como sus firmas (identificador tras el aprendizaje) y dimensiones.
//Libraries #include <Pixy2.h>//https://github.com/charmedlabs/pixy2/raw/master/releases/arduino/arduino_pixy2-1.0.3.zip //Variables Pixy2 pixy; void setup() { //Init Serial USB Serial.begin(9600); Serial.println(F("Initialize System")); //Init Pixy2 pixy.init(); } void loop() { testPixy(); } void testPixy() { /* function testPixy */ //// Get blocks from Pixy2 // grab blocks! pixy.ccc.getBlocks(); // If there are detect blocks, print them! if (pixy.ccc.numBlocks) { Serial.print("Detected "); Serial.println(pixy.ccc.numBlocks); for (int i = 0; i < pixy.ccc.numBlocks; i++) { Serial.print(" block "); Serial.print(i); Serial.print(": "); pixy.ccc.blocks[i].print(); } } }
Si tiene problemas de compilación, puede eliminar los archivos zumobuzzzer y zumomotor (.h y .cpp) en la carpeta de la biblioteca Documentos\Arduino\libraries\Pixy2
Resultado
Una vez cargado el código, la cámara envía mensajes al Arduino en cuanto el objeto aparece en su campo de visión. A continuación, tendrá acceso a la firma del objeto, sus dimensiones y su posición.
Aplicaciones
- Realiza el reconocimiento de formas o el seguimiento de líneas con Arduino
- Aplicación Dobot
Fuentes
Retrouvez nos tutoriels et d’autres exemples dans notre générateur automatique de code
La Programmerie