Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Manufacturing Technology >> Processo de manufatura

Touchpad Walabot


Walabot Touchpad Uma solução de baixo perfil que pode transformar qualquer superfície em um touchpad para o seu laptop. Imagine usar um livro, uma mesa ou uma parede como um touchpad. Combinado com a tecnologia de projetor, você pode replicar telas sensíveis ao toque em qualquer superfície.


Este projeto visa trazer essa utilidade e facilidade de uso por meio de protocolos de soquete simples e Walabot, um dispositivo de imagem 3D de nível de consumidor.

Como eu queria que essa solução fosse prática no uso diário e universalmente acessível, optei pela configuração com o mínimo de hardware. Para equilibrar a facilidade de configuração com a precisão da imagem, implementei um loop de configuração básico que é executado toda vez que o Walabot é iniciado.

Este tutorial cobre o procedimento de configuração do Raspberry Pi e o controle do cursor em um computador host.

Como funciona?

O projeto se baseia em um cliente Raspberry Pi 3 que faz leituras de um sensor Walabot Creator (obrigado, Walabot!) e uma máquina host que, neste caso, é meu laptop.


O fluxo geral do usuário é o seguinte:

Demonstração

Em Progresso

Configurando o Pi

Primeiro, precisamos configurar o pi para que seja utilizável e tenha todas as bibliotecas necessárias instaladas.




sudo apt-get update
Downloads de cd
sudo dpkg –i walabot_maker_1.0.34_raspberry_arm32.deb

Em resumo, os comandos atualizam as listas de pacotes do sistema e instalam o WalabotSDK


sudo apt-get dist-upgrade
sudo reboot

Isso atualiza os pacotes instalados e reinicializa o RPi.

Para maior velocidade, recomendo desativar a GUI da área de trabalho conforme mostrado aqui.

Interface Walabot

É aqui que entra o Walabot. É um sensor de imagem em micro-ondas 3D que pode fazer uma grande quantidade de coisas, desde detectar a respiração, ver através das paredes e detectar vários alvos. Você pode conferir no canal deles no youtube!


A funcionalidade realmente útil para este projeto é a detecção tridimensional de RF, que pode detectar as coordenadas x, y e x de um alvo. Além disso, sua capacidade de filtragem dinâmica, que remove sinais estáticos, pode ser combinada com a filtragem de refletores fixos, permitindo que você rastreie um objeto com precisão, mesmo através de outros materiais.

No entanto, uma ressalva de usar um dispositivo tão poderoso é o alto consumo de energia. O Walabot usa 400-900 mA, que é muito alto para a saída USB padrão do raspberry. Isso pode ser resolvido navegando para /boot/config.txt e adicionando esta linha:max_usb_current =1. Isso aumentará a corrente máxima para 1200 mA.

Detecção de alvo

Garantir que o Walabot detecte apenas meu dedo quando eu quiser é a chave, ou meu computador pode mover o cursor aleatoriamente, possivelmente até fora dos limites. Para meu projeto, fiz interface com a API Walabot usando a função GetSensorTargets () e desativei o modo MTI (Identificação de alvo móvel) para evitar a filtragem do sinal do dedo por longos períodos de tempo. Eu defini o raio de detecção (r) em meu projeto para um máximo de 10 cm para definir a arena para a área imediatamente acima do Walabot. Isso muda com base na espessura do material.

Eu tentei definir as dimensões da arena em valores x, y e z, mas isso só funcionou melhor no perfil de curto alcance que estava disponível apenas na edição de desenvolvedor do Walabot. Quando tentei fazer isso no modo de scanner padrão, obtive quase zero detecção de alvo, provavelmente porque o modo de scanner lê radialmente em vez de através das coordenadas cartesianas. Portanto, eu defini um perfil de scanner padrão, defini a arena radialmente e converti as dimensões radiais em coordenadas cartesianas.

Os objetos de destino têm os parâmetros x, y, z e amplitude, dos quais usei apenas os valores x e y. Como o eixo y está ao longo do comprimento do Walabot, traduzi isso para o eixo x na tela quando o Walabot é colocado horizontalmente como um touchpad. Quando comparo as coordenadas com os limites da arena, posso encontrar a localização relativa do alvo em relação à arena e traduzi-la para a localização relativa do cursor na tela do host.


No entanto, como minha arena foi inicializada com base nos valores r, theta e phi, tive que encontrar manualmente os limites utilizáveis ​​da arena por meio da medição dos valores mais baixo e mais alto das coordenadas xey. Em seguida, automatizei isso na configuração para que o programa possa encontrar os limites quando o usuário deslizar o dedo ao longo dos eixos xey. Mesmo que haja fórmulas para converter coordenadas polares em cartesianas, os limites do conjunto diferem da arena mensurável real, pois não pode levar em consideração a interferência de outra superfície na área registrada.

Para determinar se um usuário deseja mover o cursor, clique com o botão direito ou esquerdo, usei os recursos de detecção de múltiplos alvos do Walabot. O movimento seria 1 ponto de contato, um clique direito seria 2 pontos de contato e um clique esquerdo seria 3. Parece sólido, é hora de testá-lo.

Argh! Isso acabou sendo muito mais difícil de configurar. Inicialmente planejei que o código clicasse nos respectivos botões do mouse quando o Walabot detectasse dois ou mais alvos, mas no exato momento em que os dedos entram no campo de visão, o Walabot detecta um alvo, movendo o mouse antes de clicar .


O difícil equilíbrio de maximizar a área da arena sem aumentar o alcance z no centro. A solução óbvia é diminuir o alcance da própria arena, o que naturalmente diminui o alcance z. Isso tem o efeito colateral de produzir um touchpad muito pequeno para usar. O outro caminho que tomei foi filtrar manualmente os alvos com um atributo z que é muito alto, mas isso não funciona porque um alvo ao longo do eixo z ainda está registrado mais alto na borda do que ao longo do centro. A amplitude não funciona tão bem, pois está centrada na parte mais sensível do módulo. Considerei alterar manualmente o valor do parâmetro z para todos os alvos adicionando abs (ângulo phi - 90 graus) * multiplicador para todos os alvos, mas infelizmente o parâmetro de ângulo phi não é um parâmetro de alvo do sensor acessível. No final, eu só consegui resolver isso usando um touchpad curvo para corresponder à curvatura do intervalo de detecção ou obtendo uma edição Walabot Developer.
Leia mais detalhes:Touchpad Walabot

Processo de manufatura

  1. O que é VMC Machining?
  2. Soldagem MIG vs. Soldagem TIG
  3. Considerações para usinagem suíça de alta produção
  4. Guia de Prototipagem CNC
  5. Compreendendo o Processo de Fabricação do Eixo
  6. O que é passivação de aço inoxidável?
  7. Postura Pal com Walabot
  8. Touchpad Walabot
  9. Rastreador de banheiro (Powered by Walabot)
  10. Walabasquiat:Uma Instalação de Arte Gerativa Interativa!