Índice:
- Suprimentos
- Etapa 1: configurar o hardware
- Etapa 2: faça upload do código e teste
- Etapa 3: Montagem do protótipo
- Etapa 4: comece a usar sua mão como um mouse
Vídeo: Mouse de computador Cyborg: 4 etapas (com imagens)
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:36
Muitos estudos sugerem que a postura de usar um mouse de computador convencional pode ser perigosa. O mouse é uma peça padrão do equipamento de computador. Os usuários de computador usam o mouse quase três vezes mais que o teclado. Como as taxas de exposição são altas, é muito importante melhorar a postura das extremidades superiores ao usar um mouse de computador.
Para este projeto abstrato, estaremos fazendo um wearable que permite que as pessoas se movam pela tela de um computador sem a necessidade de tecnologia externa. Dessa forma, poderíamos usar os movimentos naturais das mãos em vez de clicar em um dispositivo em uma superfície horizontal. Isso também permite usar telas em pé, tornando as apresentações orais mais agradáveis.
Já o protótipo utilizará o índice como joystick, o dedo médio para clicar com o botão esquerdo, o anelar para clicar com o botão direito e o mindinho para ligar e desligar o aparelho. O polegar atuará como a superfície onde os botões são pressionados. Tudo isso será adicionado em uma luva.
Suprimentos
- (x1) Arduino Leonardo
- (x1) Protoboard
- (x1) Módulo Joystick
- (x3) Botão de pressão
- (x20 ±) Jumpers de fio
- (x3) Resistores de 1KΩ
- (x1) Kit de costura de luva
- Velcro Hot silicone
- Kit de solda de arame
- Parte impressa em 3D
Etapa 1: configurar o hardware
Incluímos um esboço do Fritzing para uma melhor compreensão do design. Recomendamos montar os componentes em um protoboard primeiro. Dessa forma, você pode verificar se tudo está funcionando antes de soldar.
Etapa 2: faça upload do código e teste
Feitas as conexões, conecte o USB A (M) ao micro USB B (M) do computador ao Arduino Leonardo e faça o upload do sketch. Sinta-se à vontade para copiar, modificar e melhorar o esboço.
AVISO: Ao usar o comando Mouse.move (), o Arduino assume o controle do mouse! Certifique-se de ter controle antes de usar o comando. Funciona apenas para Arduino Leonardo, Micro ou Due
Aqui está nosso código para este projeto:
// Definir Pins # include; const int mouseMiddleButton = 2; // pino de entrada para o botão do meio do mouse const int startEmulation = 3; // liga e desliga a emulação do mouse const int mouseLeftButton = 4; // pino de entrada para o botão esquerdo do mouse const int mouseRightButton = 5; // pino de entrada para o botão direito do mouse Const int joystickX = A1; // eixo X do joystick const int joystickY = A0; // eixo Y do joystick
// parâmetros para ler o joystick:
int cursorSpeed = 10; // velocidade de saída do movimento X ou Y int responseDelay = 5; // atraso de resposta do mouse, em ms int threshold = cursorSpeed / 4; // limite de repouso int center = cursorSpeed / 2; // valor da posição de repouso int mouseMiddleState = 0;
boolean mouseIsActive = false; // se deve ou não controlar o mouse
int lastSwitchState = LOW; // estado do switch anterior
void setup () {
pinMode (startEmulation, INPUT); // o pino da chave pinMode (mouseMiddleButton, INPUT); // o pino do botão do meio do mouse pinMode (mouseLeftButton, INPUT); // o pino do botão esquerdo do mouse pinMode (mouseRightButton, INPUT); // o pino do botão direito do mouse
Mouse.begin (); // assuma o controle do mouse
}
void loop () {
// leia a opção: int switchState = digitalRead (startEmulation);
// se for alterado e estiver alto, alterne o estado do mouse:
if (switchState! = lastSwitchState) {if (switchState == LOW) {mouseIsActive =! mouseIsActive; }}
// salve o estado da chave para o próximo loop:
lastSwitchState = switchState;
// leia e dimensione os dois eixos:
int xReading = readAxis (A1); int yLeitura = readAxis (A0);
// se o estado de controle do mouse estiver ativo, mova o mouse:
if (mouseIsActive) {Mouse.move (xReading, yReading, 0); // (x, y, roda de rolagem do mouse)}
//DEIXOU
// ler o botão do mouse e clicar ou não clicar: // se o botão do mouse for pressionado: if (digitalRead (mouseLeftButton) == HIGH) {// se o mouse não estiver pressionado, pressione: if (! Mouse.isPressed (MOUSE_LEFT)) {Mouse.press (MOUSE_LEFT); atraso (100); // atrasar para habilitar um único e duplo clique em Mouse.release (MOUSE_LEFT); }}
// senão o botão do mouse não é pressionado:
else {// se o mouse for pressionado, solte-o: if (Mouse.isPressed (MOUSE_LEFT)) {Mouse.release (MOUSE_LEFT); }}
//DIREITO
// leia o botão do mouse e clique ou não clique: // se o botão do mouse for pressionado: if (digitalRead (mouseRightButton) == HIGH) {// se o mouse não estiver pressionado, pressione: if (! Mouse.isPressed (MOUSE_RIGHT)) {Mouse.press (MOUSE_RIGHT); atraso (100); // atrasar para habilitar um único e duplo clique Mouse.release (MOUSE_RIGHT); }}
// senão o botão do mouse não é pressionado:
else {// se o mouse estiver pressionado, solte-o: if (Mouse.isPressed (MOUSE_RIGHT)) {Mouse.release (MOUSE_RIGHT); }}
//MEIO
// ler o botão do mouse e clicar ou não clicar: // se o botão do mouse for pressionado: if (digitalRead (mouseMiddleButton) == HIGH) {// se o mouse não estiver pressionado, pressione: if (! Mouse.isPressed (MOUSE_MIDDLE) && mouseMiddleState == 0) {Mouse.press (MOUSE_MIDDLE); mouseMiddleState = 1; // atualiza el estado del botón}}
// senão o botão do mouse não é pressionado:
else {// se o mouse for pressionado, solte-o: if (Mouse.isPressed (MOUSE_MIDDLE) && mouseMiddleState == 1) {Mouse.release (MOUSE_MIDDLE); mouseMiddleState = 0; }}
atraso (responseDelay);
}
/*
lê um eixo (0 ou 1 para x ou y) e dimensiona a faixa de entrada analógica para uma faixa de 0 a * /
int readAxis (int thisAxis) {
// leia a entrada analógica: int reading = analogRead (thisAxis);
// mapeia a leitura da faixa de entrada analógica para a faixa de saída:
leitura = mapa (leitura, 0, 1023, 0, cursorSpeed);
// se a leitura de saída estiver fora do
// limite da posição de repouso, use-o: int distance = reading - center;
if (abs (distância) <limite) {distância = 0; }
// retorna a distância para este eixo:
distância de retorno; }
Etapa 3: Montagem do protótipo
O primeiro passo é costurar o velcro na luva, você tem que costurar quatro tiras de velcro uma em cada dedo. Costuramos a parte macia do velcro.
Cada botão de pressão tem dois fios, um que começa nos respectivos pinos e se conecta à perna positiva do botão e outro na perna negativa. Na outra ponta do fio negativo soldamos as resistências de cada botão mais o fio negativo do joystick em um último fio, que se conecta ao GND da placa Arduino. A mesma conexão paralela funciona para o lado positivo. (3 botões e joystick com perna positiva)
Depois de soldar os jumpers, colocaremos as tiras de velcro rígidas, para que os fios fiquem presos no meio. Por último, colamos termicamente o módulo do joystick em uma peça impressa em 3D. Abaixo você pode encontrar o arquivo. STL.
Etapa 4: comece a usar sua mão como um mouse
Vote em nós no Concurso de Tecnologia Assistiva se você gostou do projeto.
Recomendado:
ParaMouse o mouse do computador para pessoas paralisadas: 5 etapas (com imagens)
ParaMouse the Computer Mouse for Paralyzed People: Olá, neste tutorial vou descrever como construir um mouse de computador para pessoas com deficiência, paralisadas ou tetraplégicas. Este dispositivo em particular é fácil de construir e de custo muito baixo, apenas uma pequena chave de fenda e uma faca de corte ser mais do que suficiente para t
Como desmontar um computador com etapas e imagens fáceis: 13 etapas (com imagens)
Como desmontar um computador com etapas e imagens fáceis: Esta é uma instrução sobre como desmontar um PC. A maioria dos componentes básicos é modular e facilmente removível. No entanto, é importante que você seja organizado sobre isso. Isso ajudará a evitar que você perca peças e também a fazer a remontagem e
Theremoose - o mouse do computador controlado Theremin: 6 etapas (com imagens)
Theremoose - o mouse de computador controlado Theremin: este projeto foi feito em colaboração com Randy Glenn, certifique-se de dar uma olhada nele: https://www.instructables.com/member/rglenn/Cerca de uma semana atrás eu participei de um hackathon para ideias terríveis aqui em Toronto (stupidhacktoronto.com). Este é o
Usando PSP como joystick de computador e, em seguida, controlando seu computador com o PSP: 5 etapas (com imagens)
Usando PSP como joystick de computador e, em seguida, controlando seu computador com o PSP: você pode fazer muitas coisas legais com o PSP homebrew, e neste tutorial eu vou te ensinar como usar seu PSP como joystick para jogar, mas também há um programa que permite usar o joystick como o mouse. Aqui estão os mater
Mouse de computador operado com o pé: 7 etapas (com imagens)
Mouse de computador operado com o pé: construí as funções de um mouse em um apoio para os pés para poder compor e editar texto sem interromper minha linha de pensamento e tirar as mãos do teclado para se atrapalhar com um mouse convencional ou trackball. Ratos operados com o pé disponíveis