ARCADE FOREVER

I + D , a ver cómo lo bautizamos

« Older   Newer »
  Share  
icon6  view post Posted on 23/3/2022, 22:21     +3   +1   -1
Avatar

V.I.P.

Group:
Member
Posts:
753
Reputation:
+102

Status:


Entre estos dos posts:

https://arcadeforever.forumfree.it/?t=76972689

https://arcadeforever.forumfree.it/?t=73398032

Se me ha ocurrido probar esta lokura y resulta funcionar bastante bien :blink: ...

20220323-210524

El disco es una chapa de aluminio, nada especial, está trincada cono veis con la arandela de fijación de la palanca, el disco gira si giramos la palanca del joystick, no si lo usamos normanlmente, arriba, abajo, derecha, izquierda. El circuito como veis es el interior de un ratón óptico atornillado al centro de la palanca con 2 arandelas, sin apretar del todo, pero todo lo posible para evitar holgura y movimiento del circuito hacia el disco, el tornillo me entra durillo al final y no se me afloja, pero la idea es fijador de roscas. Aquí con mayor diámetro de arandelas engrasadas, más nos ayudará a evitar dicha holgura (esto es un primer test :woot: ). Está colocado a 1mm del disco aprox. para que funcione correctamente, como si arrastraramos un ratón sobre una superficie. Luego simplemente teniendo el cable del ratón pegado con cinta al cuerpo del Joystick, resulta que giramos la palanca de él, nos gira el plato y el circuito no, de eso se trata, para que nos mueva el puntero del ratón derecha-izquierda o arriba-abajo, depende de la posición del circuito (90º girado el amarre soldado). En principio tenia pensado un muelle que tirase hacia afuera del circuito ligeramente y que permita usar el joystick sin problema, pero con un poco de comba del cable al cuerpo va genial en las pruebas hechas :XD: . Al usar el Joystick normalmente, plato y circuito se inclinan juntos con el eje evidentemente, manteniendo la distancia entre ellos sin problema incluso pudiendo girarlo a la vez, 'sufriendo' de momento sólo la comba que he dejado del cable atado al cuerpo.

20220323-210832

20220323-210938

Probado con el Arkanoid, no me termina de convencer, al igual que con un ratón ojo!!, o no doy con la configuración buena, aunque el poco diámetro del joystick creo que tampoco ayuda. Para el Heavy Barrel genial tener todo el control de movimiento y giro del personaje en una mano.
 
Top
view post Posted on 23/3/2022, 22:46     +1   -1
Avatar

V.I.P.

Group:
Usuarios AFFA
Posts:
4,465
Reputation:
+299
Location:
Barcelona

Status:


Me parece una pasada de cacharreo
 
Top
view post Posted on 24/3/2022, 11:57     +1   -1

V.I.P.

Group:
Member
Posts:
144
Reputation:
+6
Location:
San Nicolás Del Puerto

Status:


Tomo asiento para observar los avances.
Creo que algo interesante!!

Saludos!!
 
Top
view post Posted on 24/3/2022, 16:24     +1   -1
Avatar

Aprendiz LVL 1

Group:
Member
Posts:
120
Reputation:
+14
Location:
Viedma, Argentina

Status:


a la flauta jaja lindo invento, me gusta me gusta
me apunto a seguir el tema por futuras actualizaciones.
 
Contacts  Top
view post Posted on 26/3/2022, 12:46     +1   +1   -1
Avatar

V.I.P.

Group:
Member
Posts:
753
Reputation:
+102

Status:


Ahí va un vidrio para que se entienda mejor el invento :wacko:

 
Top
view post Posted on 27/3/2022, 14:39     +1   +1   -1
Avatar

Arcade Workshop

Group:
Usuarios AFFA
Posts:
15,225
Reputation:
+674
Location:
Córdoba

Status:




tenor
 
Top
view post Posted on 10/6/2023, 19:51     +1   -1
Avatar

V.I.P.

Group:
Member
Posts:
753
Reputation:
+102

Status:


Después de esto que ahí sigue funcionando en la Maka #entry659720896

Esto otro me está tentando:
www.magntek.com.cn/upload/MT6701_Rev.1.7.pdf

Como sensor de giro me parece inmejorable, sin contacto, pulsos por vuelta programables hasta 1024 sin tener que sustituir nada, se avecina cacharreo con tiempo, habrá que ir pidiendo alguno en Aliexpress para trastearlo....
 
Top
view post Posted on 12/6/2023, 07:40     +1   -1
Avatar

V.I.P.

Group:
Member
Posts:
1,275
Reputation:
+152
Location:
Vigo

Status:


QUOTE (Morera @ 10/6/2023, 20:51) 
Después de esto que ahí sigue funcionando en la Maka #entry659720896

Esto otro me está tentando:
www.magntek.com.cn/upload/MT6701_Rev.1.7.pdf

Como sensor de giro me parece inmejorable, sin contacto, pulsos por vuelta programables hasta 1024 sin tener que sustituir nada, se avecina cacharreo con tiempo, habrá que ir pidiendo alguno en Aliexpress para trastearlo....

Tiene muy buena pinta, ya nos diras si funciona guay.
 
Top
view post Posted on 12/6/2023, 18:06     +1   -1
Avatar

V.I.P.

Group:
Member
Posts:
753
Reputation:
+102

Status:


QUOTE (justez @ 12/6/2023, 08:40) 
Tiene muy buena pinta, ya nos diras si funciona guay.

Pedido está :woot: , no llega a 4€, habrá que ir desempolvando el Arduino IDE, que estoy un poco oxidado ya en estos temas :wacko: . Tengo un Leonardo por aquí para ver si reprogramamos el sensor a través del I2C y un ratón viejuno de los de bola, perfecto para cascarle hasta 3 sensores y ver si furula el invento sin tener que programar más el Leonardo, que seguro sería lo ideal, buscaré a ver si encuentro soft ya hecho para un ratón de los de antes con 2 ó 3 sensores de pulsos y metérselo al Leonardo sin romperme la cabeza :wacko: .

Mide unos 2Cm la plaquita y debe venir con un pequeño imán. Hay bastante modelito en Ali de sensores similares al final :blink: .

Sensor
 
Top
view post Posted on 13/6/2023, 19:13     +1   -1
Avatar

V.I.P.

Group:
Member
Posts:
1,275
Reputation:
+152
Location:
Vigo

Status:


Ya nos contarás como va
 
Top
view post Posted on 1/7/2023, 20:53     +1   -1
Avatar

V.I.P.

Group:
Member
Posts:
753
Reputation:
+102

Status:


Llegó el juguete, de color azul :blink: :

Test-MT6701


Dentro del tubo de teflón blanco está el imán de 6mm de diámetro, se ve ahí metido un par de mm :XD: . Lo he conectado a un ratón viejo de bola junto al típico encoder rotativo de scroll de los ratones actuales, uno al eje X y el otro al Y para comparar. Funciona perfectamente con el imán hasta unos 2-3mm del IC, aunque me temo que el MT6701 viene a tope de pulsos por vuelta, se mueve una barbaridad el puntero en la pantalla, comparado al encoder rotativo mecánico, que suelen ser de 12 pulsos aprox.
Estos ratones viejos tienen 3 entradas de pulsos en modo A/B donde podemos conectar 3 encoders que funcionen en este modo, para este cacharreo viene de perlas. Si os fijáis en la foto, viene marcado el PCB en los receptores IR con PHX, PHY y PHZ, este último está montado todavía.
Ahora toca meterse con el Arduino, el PDF y el I2C a ver si consigo primero leer el registro de los pulsos a los que viene programado, y luego programarlo y bajarlo a 12, 24, 48, 96 y ver el efecto. Ya estoy pensando en cómo amarrar la plaquita debajo de un Joystick para convertirlo en rotativo o hacer un Spinner configurables al gusto :wacko:
 
Top
view post Posted on 1/7/2023, 21:50     +1   -1
Avatar

V.I.P.

Group:
Member
Posts:
1,275
Reputation:
+152
Location:
Vigo

Status:


Mola mucho, gran curro! :b:

Edited by justez - 3/7/2023, 09:18
 
Top
view post Posted on 2/7/2023, 13:23     +1   -1
Avatar

V.I.P.

Group:
Member
Posts:
753
Reputation:
+102

Status:


QUOTE (justez @ 1/7/2023, 22:50) 
Mola mucho, gran curro? :b:

Si buscas info de lo que se puede hacer con estos ICs es bastante flipante a la vez de simnple, al final es ver un poco cómo avanza la electrónica. Aparte de controlar la velocidad de un motor como si fuera cualquier encoder, que no tiene misterio, la utilidad con la flipo un poco es como selector rotatorio, ya que el IC tiene función de pulsador sin contacto también, detecta si el imán se le acerca o aleja para la función de pulsador (programable también el desplazamiento a detectar). Parece estar pensado para esa función, desplazarse por un menú arriba-abajo girando el imán, y seleccionar acercando el imán al IC, como cualquier pulsador, todo ello sin contacto mecánico. Seguro que hay, o habrá, equipos de música con estos ICs detrás del mando giratorio en el que estará el imán, para desplazarte por los menús girando, y seleccionar pulsando en él. Lo que conocía para esto era pura mecánica, con todas sus desventajas, encima seguro que es más barato el IC, más pequeño y simple seguro que lo es. Ahí va un buen ejemplo de lo que se puede hacer con él:


Está hasta motorizado el cabrón, ¿Os imagináis un Spinner así, en el que podamos ponerle incluso 'dureza' al giro, o un recorrido máximo?
Fuente: https://github.com/scottbez1/smartknob/
 
Top
view post Posted on 5/7/2023, 19:36     +1   -1
Avatar

V.I.P.

Group:
Member
Posts:
753
Reputation:
+102

Status:


Bueno, el I2c con el Arduino, hacemos el puente que viene en la plaquita para poner el MT6701 en modo I2C, marcado como 'IIC' junto a las resistencias y lo conectamos al Arduino, A y B al I2C.... Toca programarlo, ¿dolor de cabeza?, pues con el ChatiGPT ese tan de moda nunca había sido tan fácil, después de leer el PDF y viendo lo que hay que hacer, pocas explicaciones necesita el cabronazo, me parto, encima te lo comenta:

-------------------------------
-Hola quería enviar un byte con un arduino leonardo, mediante i2C a un un esclavo y recibir su respuesta, otro byte. ID del esclavo 06.

ChatGPT
¡Hola! Puedo ayudarte con eso. Para enviar un byte a través del protocolo I2C utilizando un Arduino Leonardo y recibir una respuesta del esclavo, necesitarás escribir código en el Arduino IDE. Aquí tienes un ejemplo básico para que puedas comenzar:

CODE
cpp

#include <Wire.h>

// Dirección del esclavo
const int slaveAddress = 0x06;

void setup() {
 Wire.begin();        // Inicializa el bus I2C
 Serial.begin(9600);  // Inicializa la comunicación serial para mostrar resultados
}

void loop() {
 Wire.beginTransmission(slaveAddress);  // Inicia la transmisión hacia el esclavo
 Wire.write(0x42);                      // Escribe el byte que deseas enviar

 // Finaliza la transmisión y envía los datos
 byte error = Wire.endTransmission();
 
 if (error == 0) {
   // Transmisión exitosa, espera la respuesta del esclavo
   Wire.requestFrom(slaveAddress, 1);  // Solicita 1 byte al esclavo

   if (Wire.available()) {
     byte response = Wire.read();  // Lee el byte de respuesta del esclavo
     Serial.print("Respuesta recibida: ");
     Serial.println(response, HEX);
   }
 } else {
   // Ocurrió un error durante la transmisión
   Serial.println("Error de transmisión");
 }
 
 delay(1000);  // Espera 1 segundo antes de enviar el siguiente byte
}

Asegúrate de tener el Arduino Leonardo conectado correctamente con el esclavo a través de los pines SDA y SCL (generalmente pines A4 y A5 en el Leonardo). El esclavo debe tener una dirección configurada (en este caso, 0x06). Este ejemplo envía un byte (0x42) al esclavo y espera una respuesta de 1 byte. La respuesta se muestra a través de la comunicación serial. Recuerda cargar el código en tu Arduino Leonardo a través del Arduino IDE y abrir el monitor serial para ver los resultados. Asegúrate de que la velocidad de comunicación en el monitor serial coincida con la velocidad configurada en el código (en este caso, 9600 baudios).

-Hola de nuevo, muchas gracias máquina!, funciona perfecto. Ahora quería hacer lo mismo, pero en vez de recibir un byte, enviarlo, sería enviar 2, el primero es el registro a escribir y el segundo el dato para el registro.

ChatGPT
¡Genial! Si deseas enviar dos bytes, uno para indicar el registro a escribir y el otro para el dato que deseas enviar, puedes modificar el código anterior de la siguiente manera:

CODE
cpp

#include <Wire.h>

// Dirección del esclavo
const int slaveAddress = 0x06;

void setup() {
 Wire.begin();        // Inicializa el bus I2C
 Serial.begin(9600);  // Inicializa la comunicación serial para mostrar resultados
}

void loop() {
 byte registerAddress = 0x01;  // Dirección del registro a escribir
 byte data = 0xAB;             // Dato a enviar para el registro

 Wire.beginTransmission(slaveAddress);  // Inicia la transmisión hacia el esclavo
 Wire.write(registerAddress);           // Escribe el byte de la dirección del registro
 Wire.write(data);                      // Escribe el byte de datos para el registro

 // Finaliza la transmisión y envía los datos
 byte error = Wire.endTransmission();
 
 if (error == 0) {
   // Transmisión exitosa, no hay necesidad de esperar una respuesta en este caso
   Serial.println("Transmisión exitosa");
 } else {
   // Ocurrió un error durante la transmisión
   Serial.println("Error de transmisión");
 }
 
 delay(1000);  // Espera 1 segundo antes de enviar el siguiente par de bytes
}

En este ejemplo, he agregado dos variables: registerAddress y data. La primera variable registerAddress representa la dirección del registro al que deseas escribir y la segunda variable data representa el dato que deseas enviar para ese registro. Dentro del ciclo loop(), se inicia la transmisión hacia el esclavo y se escriben los dos bytes utilizando las funciones Wire.write(). Luego, se verifica si la transmisión fue exitosa o si ocurrió algún error. Recuerda ajustar los valores de registerAddress y data según tus necesidades antes de cargar el código en tu Arduino Leonardo. Espero que esto te ayude. ¡Buena suerte con tu proyecto!

-Gracias de nuevo máquina!!, funciona perfectamente.

ChatGPT
¡De nada! Me alegra que el código funcione correctamente y que haya sido útil para tu proyecto. Si tienes alguna otra pregunta o necesitas ayuda adicional, no dudes en preguntar. ¡Buena suerte con tus futuros proyectos!

-------------------------------


Bueno, leyendo bytes de uno en uno, un poco a lo brutote por las prisas, el MT6701 venía programado a 1024 pulsos por vuelta del imán, por eso se movía tanto el cursor del ratón comparando con el otro mecánico que será de 12 ó 24. Lo he reprogramado a 48 sin ningún problema, siguiendo el PDF y editando un poco el código del ChatGPT. Quito el puente de la plaquita para que vuelta a trabajar en modo A/B en lugar de I2C y lo conecto de nuevo al ratón, la cosa cambia y todo perfecto.
Ahora toca atar este invento debajo de un Joystick o hacer un spinner y probarlo ahí cambiando los pulsos fácilmente a ver qué tal. Esto sí que va a ir para largo, me temo :cry: . Lo ideal sería dejarlo conectado al Arduino para que funcione como ratón, incluso dejarlo siempre en modo I2C, y pensar en cómo cambiarle los pulsos fácilmente, se me ocurre con el propio sensor de pulsador, aunque a tanto no creo que me anime.
 
Top
view post Posted on 6/7/2023, 05:28     +1   -1
Avatar

Arcade Workshop

Group:
Usuarios AFFA
Posts:
15,225
Reputation:
+674
Location:
Córdoba

Status:


Ioputi el chat gpt.

Que proyectaso tienes ahí
 
Top
16 replies since 23/3/2022, 22:21   331 views
  Share