Proyecto Mouse + Aruino
Integrantes:
- María de los Ángeles Snachez Armengol
- Mayté Mejía Palacios
- Ricardo García Martínez
Material
-Arduino Leonardo $490 MxN
-Sensor Joystic para arduino $60 MxN
- Botón de Arcade $23MxN
- 5 Cables Dupont macho embra $10 MxN
- 2 Cables Dupont macho macho $10 MxN
- Caja de cartón
- Tijeras
-Tornillos
Diagrama
PASOS
1.-Realizamos un orificio del tamaño del botón en la caja
NOTA: El boton quedará del lado derecho y el joystic del lado izquierdo.
2.- Atornillamos el sensor Joystic a la caja
3.- Conectamos cada uno de los cables tal como se muestra en el diagrama
4.- Al utilizar una placa Arduino Leonardo, esta no representará ningun problema al momento de cargar la librería Mouse.h
5.-Copiamos el código y lo cargamos al Arduino Leonardo
Código
#include "Mouse.h"
const int iniciarEmulacion = 2;
const int boton_izq = 4;
const int joystickX = A1;
const int joystickY = A0;
// parametro del joystick:
int velocidad_cursor = 10;
int retardo_respuesta = 5;
boolean mouse_Activo = false;
int estado_anterior_switch = LOW;
void setup() {
pinMode(iniciarEmulacion, INPUT_PULLUP);
pinMode(boton_izq, INPUT_PULLUP);
Mouse.begin();
}
void loop() {
// leer el esatado del switch:
int estado_switch = digitalRead(iniciarEmulacion);
if (estado_switch != estado_anterior_switch) {
if (estado_switch == LOW) {
mouse_Activo = !mouse_Activo;
}
}
estado_anterior_switch = estado_switch;
int coord_X = readAxis(A1);
int coord_Y = readAxis(A0);
if (mouse_Activo) {
Mouse.move(coord_X, coord_Y, 0);
}
if (digitalRead(boton_izq) == HIGH) {
if (!Mouse.isPressed(MOUSE_LEFT)) {
Mouse.press(MOUSE_LEFT);
delay(100);
}
}
else {
if (Mouse.isPressed(MOUSE_LEFT)) {
Mouse.release(MOUSE_LEFT);
}
}
delay(retardo_respuesta);
}
int readAxis(int thisAxis) {
int lee_entrada_analogica = analogRead(thisAxis);
lee_entrada_analogica = map(lee_entrada_analogica, 0, 1023, 0, velocidad_cursor);
int distancia = lee_entrada_analogica - centro;
if (abs(distancia) < limite) {
distancia = 0;
}
return distancia;
}
Video
Conclusión
Al programar un arduino como un dipositivo periférico, hay que tomar en cuenta el tipo de placa con la que estamos trabajando, en el caso del Arduino UNO presenta varios inconvenientes de incompatibilidad, por otra parte, el Arduino Leonardo no presenta este tipo de detalles.
Es muy importante ajustar el rango que tendrá nuestro joystic para que pueda desplazarse correctamente.
Por útlimo también llegamos a la conclusión de que es mucho más económico construir nuestro propio control de Joystic que comprar uno.
No hay comentarios:
Publicar un comentario