Remember to maintain security and privacy. Do not share sensitive information. Procedimento.com.br may make mistakes. Verify important information. Termo de Responsabilidade

Como Implementar Visão Computacional com Arduino e OpenMV

A visão computacional é uma área da inteligência artificial que permite que computadores e sistemas embarcados interpretem e compreendam o mundo visual. No contexto do Arduino, a implementação direta de visão computacional é limitada devido às restrições de processamento e memória. No entanto, existem alternativas viáveis que permitem integrar funcionalidades de visão computacional em projetos baseados em Arduino. Uma dessas alternativas é o uso da câmera OpenMV, que é projetada para ser usada em conjunto com microcontroladores como o Arduino.

A OpenMV é uma pequena câmera que pode executar algoritmos de visão computacional de maneira eficiente. Ela possui um microcontrolador embutido que processa as imagens, tornando-a uma excelente escolha para projetos de visão computacional com Arduino.

Exemplo Prático: Detecção de Cores com OpenMV e Arduino

Neste exemplo, vamos usar a OpenMV para detectar uma cor específica e enviar um sinal para o Arduino, que acenderá um LED quando a cor for detectada.

Materiais Necessários:

  • Câmera OpenMV
  • Placa Arduino (por exemplo, Arduino Uno)
  • LED
  • Resistor de 220 ohms
  • Jumpers

Passo 1: Configuração da OpenMV

  1. Instale o OpenMV IDE no seu computador.
  2. Conecte a câmera OpenMV ao computador e abra o OpenMV IDE.
  3. Carregue o seguinte script na OpenMV para detectar uma cor específica (por exemplo, vermelho):
import sensor, image, time
from pyb import UART

# Inicializa a câmera
sensor.reset()
sensor.set_pixformat(sensor.RGB565)
sensor.set_framesize(sensor.QVGA)
sensor.skip_frames(time=2000)

# Inicializa a comunicação UART
uart = UART(3, 9600)

while(True):
    img = sensor.snapshot()
    blobs = img.find_blobs([(30, 100, 15, 127, 15, 127)])  # Ajuste os valores para a cor desejada

    if blobs:
        for blob in blobs:
            img.draw_rectangle(blob.rect())
            img.draw_cross(blob.cx(), blob.cy())
            uart.write("1")  # Envia sinal para o Arduino
    else:
        uart.write("0")

Passo 2: Configuração do Arduino

  1. Conecte o LED ao pino digital 13 do Arduino através de um resistor de 220 ohms.
  2. Carregue o seguinte código no Arduino:
void setup() {
  Serial.begin(9600);
  pinMode(13, OUTPUT);
}

void loop() {
  if (Serial.available()) {
    char c = Serial.read();
    if (c == '1') {
      digitalWrite(13, HIGH);  // Acende o LED
    } else {
      digitalWrite(13, LOW);   // Apaga o LED
    }
  }
}

Passo 3: Conexão Física

  • Conecte a OpenMV ao Arduino via UART (TX da OpenMV ao RX do Arduino e vice-versa).
  • Conecte o LED e o resistor ao pino 13 do Arduino e ao terra.

Funcionamento

Quando a OpenMV detecta a cor especificada, ela envia um sinal '1' para o Arduino através da comunicação UART. O Arduino, por sua vez, acende o LED. Se a cor não for detectada, o LED permanece apagado.

To share Download PDF

Gostou do artigo? Deixe sua avaliação!
Sua opinião é muito importante para nós. Clique em um dos botões abaixo para nos dizer o que achou deste conteúdo.