fbpixel
Etiquetas: ,
4.8
(4)

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

¿De cuánta utilidad te ha parecido este contenido?

¡Haz clic en una estrella para puntuarlo!

Promedio de puntuación 4.8 / 5. Recuento de votos: 4

Hasta ahora, ¡no hay votos!. Sé el primero en puntuar este contenido.

Ya que has encontrado útil este contenido...

¡Sígueme en los medios sociales!

¡Siento que este contenido no te haya sido útil!

¡Déjame mejorar este contenido!

Dime, ¿cómo puedo mejorar este contenido?