Você está na página 1de 5
mais cleudiney10@gmail.com Painel Sair Eletrônicos Arquivo do blog ► 2018 (1) ► 2017 (1) ►

mais

mais cleudiney10@gmail.com Painel Sair Eletrônicos Arquivo do blog ► 2018 (1) ► 2017 (1) ► 2016

cleudiney10@gmail.com

Arquivo do blog ► 2018 (1) ► 2017 (1) ► 2016 (2) ► 2015 (1)
Arquivo do blog
► 2018 (1)
► 2017 (1)
► 2016 (2)
► 2015 (1)
► 2014 (1)
▼ 2013 (26)
► novembro (3)
uma tira de plástico mantida sob tensão e montada paralelamente à haste do carro da impressora.
► julho (2)
sensor do chip de código de barras é montado no suporte do cartucho de tinta, e seu sensor óptico
▼ junho (21)
Aventuras Polulu A4988
Frankenplotter - conjunto
de parafuso de avanço
Frankenplotter - curvas de
Bezier cúbico em SVG
e Ja
A banda parece uma barra cinza a olho nu
Frankenplotter - um pouco
de chuva deve cair -
mas o
Frankenplotter - caneta
para cima / baixo
Mini-projeto de bandeja de
CD mini
Frankenplotter - desenho
mais do que apenas
círculos
Estrela e círculo de
Frankenplotter - para
provar x = menor,
Transporte de substituição
Frankenplotter, ste
Começos do
Frankenplotter
Rasgando a impressora
Brother, inicial XY axi
Projetos de mouse e
optimouse Arduino PS2
Movimento linear do eixo
Movimento da posição do
clipe e detecção de
posição
E / S serial do Arduino e o
Big Bug
Codificação Arduino
Modular
Bomba WBMD, spinner e
dumper - controle de
motor DC
Sensor de proximidade
ultra-sônico
Motores de passo
De volta ao começo
Estou começando meus
novos hackers
eletrônicos e fazendo
Sobre mim
David Yee
Follow
7
Visualizar meu perfil
completo

Domingo, 16 de junho de 2013

Projetos de mouse e optimouse Arduino PS2

Uma vez que eu tinha a carruagem Frankenprinter funcionando, eu me interessei em fazê-la se mover de acordo com alguma outra forma que não a emissão de passos ou comandos de aceleração. E, como eu estava interessado em saber como a impressora HP usava um mecanismo de estilo de código de barras para feedback de movimento, segui o caminho de obter um mouse para entrada.

Aqui estão algumas fotos da faixa de código de barras da HP que inspiraram este mini-projeto. Esta

é

O

brilha através da tira para um sensor em seu lado oposto.

18/06/13 update: encontrei este link

http://www.iceinspace.com.au/forum/archive/index.php/t-74481.html

como resultado de destruir uma antiga impressora a jato de tinta HP 720. O chip na imagem acima

parece ser um 9866, onde o que recebi do 720 é um Q9863. Muito intrigante. Essa página tem links para isso:

http://www.mindspring.com/~tom2000/Delphi/Codewheel.html#Optical%20Encoders,

que também é muito legal. Adicione isso de volta à lista de projetos futuros! Considerando a parte do Jameco 1991475, todos de US $ 0,25, para a porta NAND Schmitt (Schmidt?) Obter ondas quadradas, então amarre a saída aos gatilhos no Arduino e veja o que acontece. Mas assim que chegar lá, também terei que ter em mente a abordagem digitalFastWrite /

Read

http://www.hessmer.org/blog/2011/01/30/quadrature-encoder-too-fast-for-arduino/

Eu peguei dois ratos velhos. Um era um mouse de bola old school em uma porta serial PS / 2 e o outro era um mouse óptico USB. Eu também tenho algumas coisas no Weird Stuff que facilitam a

conexão. Eles eram as portas de interface das caixas de PC que me permitiam conectar cada mouse

e

usar as saídas de fio na outra extremidade.

cada mouse e usar as saídas de fio na outra extremidade. Mouse tipo bola com conveniente

Mouse tipo bola com conveniente conector PS / 2 que me dá acesso a pinos

com conveniente conector PS / 2 que me dá acesso a pinos Rato tipo bola com

Rato tipo bola com tampa removida.

O

on-line que equivaliam a enviar sinais para as linhas de dados e clock com atrasos apropriados e,

mais ou menos, obedecer às sequências de ACK e NACK. Para o código on-line que vi, ele realmente não obedeceu à sequência completa do protocolo serial PS / 2, mas foi bom o suficiente para eu mexer com os dados. Uma vez que eu estava indo, eu tinha uma base para acumular as posições X e Y, e se eu quisesse, pressione o botão e os valores do eixo Z (roda). Ref: http://playground.arduino.cc/componentLib/Ps2mouse Ref: http://www.computer-engineering.org/ps2mouse/

mouse serial PS / 2 foi fácil de configurar. Havia várias implementações de exemplo disponíveis

As entranhas do mouse PS / 2 foram muito legais. Eles usam rodas de fiar com ranhuras recortadas -

Optosensor de cartão "código de barras" para cartuchos de tinta para impressoras HP com tira plástica de posicionamento

Mas sob ampliação, você pode ver as faixas individuais que o sensor de leitura de código

plástica de posicionamento Mas sob ampliação, você pode ver as faixas individuais que o sensor de

então parece meio que um girassol preto - e então a borda da roda está passando por um optosensor de algum tipo. A bola do rato, através da fricção, gira o fuso, que é a haste do girassol preto. O optosensor é mais sofisticado do que um optosensor antigo simples, porque deve ser capaz de detectar movimentos para frente e para trás.

ser capaz de detectar movimentos para frente e para trás. Nervuras de rato tipo bola. As

Nervuras de rato tipo bola. As peças pretas e claras são o optosensor e o diodo.

Mas o que é hostil é que o sistema de sensor óptico e de bloqueio de luz requer um posicionamento preciso das peças para funcionar. Você pode fingir a função colocando outra coisa além de um pedaço de plástico preto de girassol, deslizando através da abertura do sensor óptico, mas ela deve ser mantida no local correto (distância acima da base do sensor óptico, distância do LED e / ou foto detectores) para o trabalho. Além disso, o sistema pode ter detecção de bloqueio duplo, portanto, uma faixa de bloco do tipo barra pode não funcionar. Pode depender da forma do dispositivo que bloqueia a luz.

Pode depender da forma do dispositivo que bloqueia a luz. Uma coisa que eu encontrei ao

Uma coisa que eu encontrei ao longo do caminho como inspiração foi um vídeo no YouTube de um cara que conectou um braço robótico, e configurou combinações de gestos do mouse para definir o que o braço deveria fazer. Ref: http://www.circuitsathome.com/mcu/controlling-robotic-arm-with-arduino-and-usb-mouse

E você pode obter alguns kits de braço robótico por cerca de US $ 50 agora. Ainda outro item para a

futura lista de projetos. Eu acho que seria realmente bom gravar os gestos de movimento de um ser humano, e também registrar o rastreamento ocular, de modo que um computador pudesse reproduzi-

lo e entender o que um ser humano está olhando para saber por que certos movimentos estão sendo

feitos.

Eu então codifiquei o Arduino para mover a cabeça do carro de acordo com os movimentos do mouse. Mas havia um problema geral: coletar informações de movimento do mouse via PS / 2 usando bibliotecas existentes não era orientado a interrupções e dependia de pesquisas repetidas. Então, enquanto o motor estava em movimento, era fácil perder a informação de movimento do mouse. E, eu acho, fazê-lo interrompido iria consumir os poucos pinos de interrupção disponíveis no Arduino Uno R3.

A estrutura de código inicial pegaria um movimento feito pelo mouse e, em seguida, imediatamente

tentaria mover os motores com base nesses dados. Foi um tipo de operação de movimentação de amostra-movimento-amostra frequente. Mas, isso resultou em muitos movimentos muito pequenos do mouse, e com pesquisas mais freqüentes, obteria passos menores. Distâncias curtas significam baixa probabilidade de executar a seqüência de aceleração completa, resultando em movimento muito brusco pelo motor. Não havia olhar em frente.

Eu tentei uma implementação alternativa que combinava com o código "suave" do Arduino, calculando a média dos últimos n movimentos do mouse, e combinando isso com uma detecção "parada" (as últimas posições do mouse são as mesmas). Isso foi um pouco melhor, porque esperaria um pouco até que eu parasse de mover o mouse, e então movesse a cabeça do carro uma distância maior. Mas, do ponto de vista da usabilidade, parecia menos satisfatório ao lidar com reversões rápidas de direção, porque elas acabavam sendo calculadas.

Para uma segunda tentativa, eu separei o mouse óptico que tinha uma conexão USB. Antes de ir para lá, eu esperava ler o USB diretamente, mas isso exigia a execução do Arduino Uno R3 como um host USB virtual, e eu não tinha a motivação para fazer tudo isso. Se eu tivesse um Arduino posterior, eu poderia ter feito isso,

Eu segui os exemplos on-line para reconectar o otimizador. Ref: http://www.martijnthe.nl/2009/07/interfacing-an-optical-mouse-sensor-to-your-arduino/ Achei que foi um pouco complicado na parte em que você está removendo a peça preta que cobria o chip, e eu queria fazer isso para tentar identificar o chip. Ele foi conectado ao LED que ilumina a área que está sendo visualizada pelo chip, portanto, retirar a peça preta do chip do sensor exigiu alguma dobra dos condutores de LED.

Depois disso, descobri que o chip não se parecia exatamente com aquele mencionado na página, mas alguns chegaram perto. Eu fiz um trabalho bastante pobre em soldar diretamente no chip, mas acabei descobrindo. O bom é que as entranhas do mouse para uma câmera otimizada são muito

mais espaçosas, porque o formato físico não é recheado com a bola do mouse e os girassóis pretos. Então, peguei os fios soldados, conectei-os aos quatro fios do fio USB original e enfiei tudo de volta na carcaça original do mouse. Eu efetivamente contornei o circuito USB, o que também significava que eu acabei sem nenhum botão ou dados do eixo Z. (Observe na figura abaixo como os fios soldados por chip vão para o conector branco e saem para o cabo USB, e o conector branco não está mais conectado à sua carcaça na placa.)

branco não está mais conectado à sua carcaça na placa.) Innards de mouse óptico, com fio,

Innards de mouse óptico, com fio, conectado via porta USB a pinos separados de 0,1 "para conexão direta da placa de montagem

Então, neste ponto, eu tinha um mouse óptico não-realmente-USB enviando dados através de um cabo USB, depois aquele conectado às portas USB de um gabinete de PC, produzindo quatro fios no interior que eu poderia usar. Eu então liguei e codifiquei de acordo com o site Martijn The, e através de algumas experiências, determinei que eu poderia usar as especificações PAN3101 ou ADNS2051. Acabei por ter um segundo mouse que eu poderia usar para controlar os movimentos da impressora. Eu não tentei usar o conjunto completo de registradores ADNS2051 para ver se conseguia obter dados de imagem da câmera 16x16 embutida, e não tenho certeza se eles obedeceriam a esse conjunto de comandos, então é outro projeto para o futuro.

Mais recentemente, eu peguei um mouse óptico que roda através de uma interface serial PS / 2, então se eu quiser usá-lo, eu deveria ser capaz de usar o código de mouse serial PS / 2 e usá-lo. A idéia original era que eu seria capaz de prender o mouse a algo impulsionado pelo motor e usar os dados do mouse para me dizer onde estão as coisas, mas isso não é necessário agora que eu tenho um movimento preciso no Frankenplotter.

Eu tive alguns pensamentos de projeto ao longo do caminho com isso. O que pareceria divertido seria fazer o rato agir como uma cauda para algum tipo de robô com rodas, proporcionando assim um feedback de posição para o robô - como uma carruagem, onde o camundongo é aquela carruagem atrás de alguns cavalos. Mas o mouse não transmite movimento de rotação ao redor do

eixo Z (guinada), então, a menos que eu pudesse sentir isso, não funcionaria realmente. Mas, tendo

dois ratos ortogonais entre si e tendo isso no final de uma cauda rígida interessante.

agora isso pode ser

[Edit 7/3/13] Eu senti que é importante referenciar este artigo daqui. Sem alguém ter inventado o mouse, não consegui hackear um mouse.

http://blog.sfgate.com/techchron/2013/07/03/doug-englebart-a-computing-giant-passes-away/

Postado por David Yee às 23:15

Postado por David Yee às 23:15 Sem comentários: Publicar um comentário Enter your comment

Sem comentários:

Publicar um comentário

Enter your comment

Enter your comment
Enter your comment Comment as: mundotecnico PublishPublish PreviewPreview Sign out Notify me

Comment as:

mundotecnico

mundotecnico
PublishPublish PreviewPreview
PublishPublish
PreviewPreview
Sign out Notify me
Sign out
Notify me

Inscrever-se para: Postar comentários (Atom)

Awesome Inc. tema. Desenvolvido pelo Blogger .