Índice:

Detecte o movimento e destrua o alvo! Projeto DIY autônomo: 5 etapas
Detecte o movimento e destrua o alvo! Projeto DIY autônomo: 5 etapas

Vídeo: Detecte o movimento e destrua o alvo! Projeto DIY autônomo: 5 etapas

Vídeo: Detecte o movimento e destrua o alvo! Projeto DIY autônomo: 5 etapas
Vídeo: Умное окно - автоматизация проветривания комнаты, интеграция в Home Assistant 2024, Novembro
Anonim
Detecte o movimento e destrua o alvo! Projeto DIY Autônomo
Detecte o movimento e destrua o alvo! Projeto DIY Autônomo

Detecte o movimento e destrua o alvo

Neste vídeo, mostro como construir um projeto de rastreamento de movimento DIY com um Raspberry Pi 3. O projeto é autônomo, então ele se move e dispara a arma quando detecta movimento. Eu usei um módulo de laser para este projeto, mas você pode facilmente alterar e modificar esta compilação para usar um Nerf.

Este projeto permite detectar e rastrear uma pessoa com OpenCV e, em seguida, acionar um dispositivo (como um laser ou arma).

Etapa 1: Tutorial de vídeo - passo a passo

Image
Image

Componentes de hardware

Você pode acessar o hardware usado no projeto nos links abaixo:

Raspberry Pi 3 Modelo B +

Adaptador Raspberry Pi

HAT de motor de passo

Adaptador 12V para motor HAT

Módulo de Relé

Pi Fan 5V

Câmera oficial Pi V2 ou câmera com webcam para PC

Módulo laser 5V ou arma Nerf

Polia de Passo

Adesivo

Parafusos M3

Suporte de forma L

Acoplamento de eixo

Barra Linear

Amarração de cabo

Folha de MDF

Tinta spray

Etapa 2: Diagrama de Circuito

Guia de instalação - OpenCV e Pip
Guia de instalação - OpenCV e Pip

Você pode completar suas conexões de acordo com o circuito acima. O pino GPIO22 é usado para controle de relé dentro do código.

RELAY_PIN = 22

Etapa 3: Guia de instalação - OpenCV e Pip

1. Certifique-se de que o pip está instalado

sudo apt-get install python pip

www.pyimagesearch.com/2018/09/19/pip-install-opencv/

2. Instale o OpenCV 3. Siga todas as etapas para as instruções do python 3

www.pyimagesearch.com/2016/04/18/install-guide-raspberry-pi-3-raspbian-jessie-opencv-3/

3. Configure I2C em seu Raspberry Pi

learn.adafruit.com/adafruits-raspberry-pi-lesson-4-gpio-setup/configuring-i2c

4. Instale a biblioteca HAT do motor de passo Adafruit

sudo pip install git +

5. Endereço I2C

Se você estiver usando uma placa de expansão do motor de passo Raspberry Pi diferente do HAT do motor de passo Adafruit (como no vídeo), atualize o endereço I2C ou o valor da frequência com o seguinte. (Este endereço é compatível apenas com a placa no vídeo, o valor padrão é em branco para Adafruit Stepper Motor HAT)

self.mh = Adafruit_MotorHAT ()

para

self.mh = Adafruit_MotorHAT (0x6F)

no código-fonte (mertracking.py)

para mais detalhes:

6. Certifique-se de criar seu ambiente virtual com o sinalizador extra

mkvirtualenv cv --system-site-packages -p python3

7. Abra o Terminal e ative seu ambiente virtual

workon cv

8. Clone este repositório

git clone [email protected]: MertArduino / RaspberryPi-Mertracking.git

9. Navegue até o diretório

cd RaspberryPi-Mertracking

10. Instale dependências em seu ambiente virtual

pip install imutils RPi. GPIO

11. Execute o código

python mertracking.py

Etapa 4: Definição de parâmetros

Parâmetros de configuração
Parâmetros de configuração

mertracking.py tem alguns parâmetros que você pode definir:

MOTOR_X_REVERSED = False

MOTOR_Y_REVERSED = Falso MAX_STEPS_X = 20 MAX_STEPS_Y = 10 RELAY_PIN = 22

Endereço ou frequência I2C

self.mh = Adafruit_MotorHAT (0x6f)

Velocidade dos motores de passo

self.sm_x.setSpeed (5)

self.sm_y.setSpeed (5)

Etapas / Rev dos motores de passo

self.sm_x = self.mh.getStepper (200, 1)

self.sm_y = self.mh.getStepper (200, 1)

Tempo de Atraso para o Relay Trigger

tempo.sono (1)

Você pode alterar o tipo de etapa com os seguintes comandos

Adafruit_MotorHAT. MICROSTEP

MICROSTEP - SINGLE - DOUBLE - INTERLEAVE

Etapa 5: Código Fonte

Código fonte
Código fonte

Obtenha o código do GitHub -

Clone este repositório:

git clone [email protected]: MertArduino / RaspberryPi-Mertracking.git

Recomendado: