Índice:

Inspetor Roomba: 6 etapas (com fotos)
Inspetor Roomba: 6 etapas (com fotos)

Vídeo: Inspetor Roomba: 6 etapas (com fotos)

Vídeo: Inspetor Roomba: 6 etapas (com fotos)
Vídeo: Моя работа наблюдать за лесом и здесь происходит что-то странное 2024, Julho
Anonim
Image
Image
Conexão de peças eletrônicas
Conexão de peças eletrônicas

A maioria de nós usa robôs iRobot Roomba apenas para aspirar, mas poucos sabem que é uma ótima base para novos projetos de robótica. Todos os fabricantes devem experimentar o Roomba Open Interface (OI) para descobrir como é fácil controlar este robô. Nesta instrução, você aprenderá como adicionar alguns recursos úteis ao seu Roomba. No início, descreverei como controlar remotamente o Roomba via bluetooth e aplicativo Android. Posteriormente, mostrarei como rodar streaming de vídeo com base no RPi e, finalmente, delinearei o plano para o desenvolvimento deste projeto.

Peças necessárias neste projeto:

  1. Módulo bluetooth BTM-222 ou outro funcionando a 115200 baud rate x1
  2. Regulador de tensão abaixador de 5V D24V6F5 x1
  3. mini breadboard x1
  4. Alguns fios

versão com invólucro:

  1. Conector mini DIN de 8 pinos x1
  2. interruptor de energia x1
  3. led 3 mm x1
  4. resistor 10k x1
  5. pequeno invólucro 50x40x20 mm x1

versão extendida:

  1. Raspberry Pi 3 x1
  2. RPi dissipador de calor de cobre x1
  3. Adaptador WiFi USB x1
  4. cartão micro SD de 8 GB ou superior x1
  5. Câmera RPi - Lente Fisheye x1
  6. Estojo para RPi x1
  7. Bateria de alta capacidade 5V (pelo menos 10 Ah) x1
  8. Um pedaço de suporte de plástico x1
  9. Porcas e parafusos M2 x4

Etapa 1: Conexão de peças eletrônicas

Conexão de peças eletrônicas
Conexão de peças eletrônicas
Conexão de peças eletrônicas
Conexão de peças eletrônicas
Conexão de peças eletrônicas
Conexão de peças eletrônicas

Desta vez, esta etapa é muito simples, pois só precisamos conectar dois módulos para poder controlar nosso Roomba. O primeiro é um módulo Bluetooth que pode operar a 115200 bps. O segundo é o regulador de tensão redutor de 5 V D24V6F5. A bateria carregada do Roomba tem uma tensão de cerca de 14,4 V e nosso módulo bluetooth precisa de 5 V, portanto, precisamos reduzir a tensão da bateria para o nível de 5 V usando o regulador de tensão. O regulador D24V6F5 tem eficiência entre 80 e 90%, um valor muito bom em comparação com os reguladores lineares clássicos que normalmente têm uma eficiência abaixo de 40%. A maneira mais fácil de conectar esses dois módulos é colocá-los em uma mini placa de ensaio e fazer a fiação de acordo com o diagrama de fiação acima. Além disso, todas as conexões são mostradas em fotos numeradas. Tenha cuidado ao conectar aos terminais da bateria. Curto-circuito acidental pode danificar a bateria!

Etapa 2: usando o aplicativo de controle Android

Image
Image
Usando o Android Control App
Usando o Android Control App
Usando o Android Control App
Usando o Android Control App
Usando o Android Control App
Usando o Android Control App

Desenvolvi um aplicativo Android que permite controlar o vácuo robótico da série Roomba 500 via bluetooth. Você pode baixar meu aplicativo gratuitamente no Google Play - Roomb Control. Funciona com smartphones e tablets.

Como usar o aplicativo Roomb Control:

  • toque no canto superior direito da tela (3 pontos verticais)
  • selecione a guia "Conectar"
  • toque na guia "BTM222" e depois de um tempo você deverá ver a mensagem "Conectado ao BTM222"
  • depois de conectar, você pode controlar seu Roomba
  • Se você não vir seu dispositivo bluetooth, toque no botão "Procurar dispositivos"
  • no primeiro uso do seu módulo bluetooth, lembre-se de emparelhá-lo com o seu smartphone inserindo o código padrão fornecido na especificação do módulo bluetooth

Etapa 3: interface aberta do Roomba em exemplos

Nesta etapa, você encontrará exemplos de comandos comuns usados para controlar o Roomba série 500. Você pode encontrar mais informações sobre a interface aberta do Roomba neste documento.

O Roomba 500+ pode operar em um dos quatro modos:

  • O modo completo oferece controle total sobre o Roomba (sem restrição de segurança, pois é para o modo seguro e passivo)
  • O modo de segurança apresenta algumas exceções relacionadas à segurança quando você não pode controlar todos os atuadores:

    • detecção de queda de roda
    • detecção de um penhasco enquanto se move para frente ou para trás
    • carregador conectado e ligado
  • O modo passivo permite que você solicite e receba dados do sensor, mas, neste modo, você não pode controlar os atuadores Roomba (motores, luzes, alto-falante)
  • Modo desligado quando a energia é ligada pela primeira vez ou após uma troca de bateria (aguardando o comando Iniciar)

Um modo de operação seguro e totalmente funcional é o modo de segurança, que é o modo preferido para controle remoto. Para executar o modo de segurança, primeiro precisamos enviar o comando 128 que inicia a interface aberta e, em seguida, o comando 130 (ou 131) para colocar o Roomba no modo de segurança. Se quisermos executar um dos modos de limpeza embutidos (clean, spot, dock, etc.), devemos enviar o terceiro comando com o código apropriado (Clean-135, Spot-134, Dock-143). A sequência serial completa para esses modos é a seguinte:

  • Definir modo de segurança - (128, 130)
  • Spot - (128, 130, 134)
  • Limpo - (128, 130, 135)
  • Dock - (128, 130, 143)

Se o Roomba estiver no modo de segurança, podemos controlar as rodas motrizes do Roomba usando o comando 137. A seqüência serial de 5 bytes completa é a seguinte: (137, Velocity high byte, Velocity low byte, Radius high byte, Radius low byte). Exemplos de sequências seriais para controle de movimento do Roomba:

  • Vá em frente - (137, 100, 0, 128, 0)
  • Voltar - (137, 254, 12, 128, 0)
  • Vire à direita - (137, 100, 0, 255, 255)
  • Vire à esquerda - (137, 100, 0, 0, 1)

Alternativamente, para controlar o movimento do robô, podemos usar o comando 146. Este comando permite controlar o PWM (Modulação por largura de pulso) para a roda direita e esquerda: (146, PWM direito byte alto, PWM direito byte baixo, PWM esquerdo byte alto, PWM esquerdo byte baixo). Exemplo de controle PWM:

  • Mover para cima à direita - (146, 0, 130, 0, 255)
  • Mover superior esquerdo - (146, 0, 255, 0, 130)

O comando 139 controla as cores dos LEDs. Podemos alterar a cor do LED de limpeza / alimentação definindo o valor do byte de cor na seqüência serial: (139, bits de LED, cor, intensidade). Se o byte de cor for definido como 0, obteremos a cor verde. Ao aumentar este valor obtemos cores intermediárias (laranja, amarelo, etc) e cor vermelha para o valor máximo 255. Exemplos de controle de LEDs:

  • verde - (139, 0, 0, 128)
  • laranja - (139, 0, 128, 128)
  • vermelho - (139, 0, 255, 128)

O último comando que gostaria de mencionar é o comando 140, que permite tocar músicas simples. Exemplos de sequências em série para reproduzir músicas:

  • música 1 - (140, 0, 5, 72, 32, 74, 32, 76, 32, 77, 32, 79, 32, 141, 0)
  • canção 2 - (140, 1, 5, 69, 16, 71, 16, 72, 16, 74, 16, 76, 16, 141, 1)

Etapa 4: RPi Remote Webcam

RPi Remote Webcam
RPi Remote Webcam

Para poder visualizar o streaming de vídeo da câmera em qualquer dispositivo conectado à minha rede local (PC, smartphone, tablet, etc), instalei o servidor de webcam Motion. Você pode encontrar detalhes sobre como fazer isso neste Instructable. As principais etapas são as seguintes:

  1. Editar: sudo nano / etc / modules - adicione no final do arquivo: bcm2835-v4l2
  2. Instalar Motion: sudo apt-get install motion
  3. Abra o arquivo motion.conf digitando: sudo nano /etc/motion/motion.conf e defina os parâmetros de vídeo (por exemplo: daemon ativado, largura 640, altura 480, taxa de quadros 30, webcam_localhost desativado)
  4. Habilite o Daemon (serviço): sudo nano / etc / default / motion e encontre e altere start_motion_daemon = yes.
  5. Iniciar serviço: sudo service motion start ou sudo motion -n -c /etc/motion/motion.conf
  6. Agora abra o navegador da web em seu computador ou smartphone e digite: RPi IP: 8081 (onde "RPi IP" é o IP do seu Raspberry Pi e 8081 é a porta padrão). Exemplo: 192.168.1.14:8081. Se tudo funcionar bem depois de um tempo, você deverá ver a visualização da câmera no navegador da web.

Etapa 5: Planos para Desenvolvimento Futuro

Planos para Desenvolvimento Futuro
Planos para Desenvolvimento Futuro
Planos para Desenvolvimento Futuro
Planos para Desenvolvimento Futuro
Planos para Desenvolvimento Futuro
Planos para Desenvolvimento Futuro
Planos para Desenvolvimento Futuro
Planos para Desenvolvimento Futuro

Atualmente, meu Roomba está equipado com um pequeno braço robótico descrito nesta instrução. Este braço robótico pode ser controlado remotamente via bluetooth a partir do aplicativo Android. Na próxima etapa, usarei a visualização da câmera para agarrar e mover objetos remotamente para o espaço marcado (operação no modo semiautônomo).

Se você gostaria de ver meus outros projetos relacionados à robótica, visite:

  • meu site: www.mobilerobots.pl
  • facebook: robôs móveis

Etapa 6: Conexão de peças eletrônicas - versão 2 com invólucro

Conexão de peças eletrônicas - Versão 2 com invólucro
Conexão de peças eletrônicas - Versão 2 com invólucro
Conexão de peças eletrônicas - Versão 2 com invólucro
Conexão de peças eletrônicas - Versão 2 com invólucro
Conexão de peças eletrônicas - Versão 2 com invólucro
Conexão de peças eletrônicas - Versão 2 com invólucro

Se você gostaria de construir seu próprio receptor removível para controlar o Roomba, esta etapa extra é para você. Nós adicionamos mais alguns elementos e os fecharemos em um invólucro fino. O principal componente de que precisaremos nesta etapa é um conector mini DIN de 8 pinos. Além disso, precisaremos da chave liga / desliga e do indicador com base no LED e no resistor de 10k.

Agora você não precisa se preocupar em esticar os fios. O receptor bluetooth é fechado em uma pequena caixa com dimensões de 50x40x20 mm. Quando não quiser mais usá-lo, você pode removê-lo facilmente do Roomba puxando o plugue mini DIN.

Recomendado: