Jump to content

Prototipo ICP "low cost" funcionando

Featured Replies

Publicado
comment_211747

No obstante, el sistema analógico va muy bien. Puedes hacer los números con el analógico. Y meter solo el drift con un switch en digital. Y usas la programación para que mande la orden solo una vez, y no se quede pulsando todo el rato.

 

Enviado desde el móvil con Tapatalk.

ddz78g.jpg

Publicado
  • Autor
comment_211750

Hombre, con los pulsadores del analógico se consigue lo de la única pulsación modificando el delay.

Una vez construido el prototipo estuve jugando cob ese dato hasta conseguir una respuesta muy similar (si no igual) a la del teclado.

Es decir: una pulsación, una orden enviada. Sin perder velocidad de respuesta de forma apreciable. O sea, que puedes pulsar varios botones seguidos rápidamente y se reconocen las pulsaciones.

Y si dejas un puldador apretado, entonces sí sr envía varias veces la orden.

Vamos, como un teclado normal y corriente.

Así que la parte de pulsadores me gusta como está resuelta (es muy simple y funciona bien).

Lo del método digital sería, como decís, para implementar interruptores y demás

Publicado
comment_211757
Jeje, no se hacer eso con la programación, sino ya estaría resuelto ;)

 

Yo no tengo ni idea de programación, pero hay muchas cosas hechas.. Y copio códigos. Está tarde saco un rato y te lo busco a ver si lo encuentro, que en alguno de mis experimentos lo use jeje

 

Enviado desde el móvil con Tapatalk.

ddz78g.jpg

Publicado
comment_211760

A ver.. vamos a dejar las cosas claras que nos liamos.

 

No tienes necesidad de usar pines digitales para la botonera. Usando los analogicos, lees valores y puedes sacar varios botones por pin. Y haces un debouncing (que cuando pulses el boton haga una pulsación y no infinitas durante los milisegundos que estas pulsando) igual que se haría con un digital e igual que te pondre para el drift funciona como debouncing.

 

Conclusion, para 20pico pushbuttons que tienes en el icp, usa la matriz de resistencias y analog pins. Perfecto , creo que como decías.

 

Ahora, si se te gastan los analogicos (que no deberia) o ajustas mucho el margen de ancho de banda de cada boton y con el ruido de los cables te hace alguna pulsacion solo puedes usar un digital por ejemplo con el switch (palanquita) del drift, que creo que es de dos posiciones para un boton (es decir, a efectos practicos un pulsador que se queda pillado) puedes usar esto:

 

// Variables will change:

int buttonState = 0;         // current state of the button
int lastButtonState = 0;     // previous state of the button

void setup() {
 // initialize the button pin as a input:
 pinMode(buttonPin, INPUT);
}


void loop() {
 // read the pushbutton input pin:
 buttonState = digitalRead(buttonPin);

 // compare the buttonState to its previous state
 if (buttonState != lastButtonState) {
   // if the state has changed, hace algo.
   if (buttonState == HIGH) {
     // if the current state is HIGH then the button
     // wend from off to on:
     AQUI METEMOS LA ACCION QUE QUIERES QUE RELICE CON EL INTERRUPTOR ARRIBA;
   } 
   else {
     // if the current state is LOW then the button
     // wend from on to off:
     [b]AQUI PONEMOS LA ACCIÓN QUE QUIERES QUE REALICE CON EL INTERRUPTOR ABAJO[/b]); 
   }
 }
 // save the current state as the last state, 
 //for next time through the loop
 
lastButtonState = buttonState;
 
}

 

El unico problema es que tienes que ciclar el interruptor la primera vez que lo uses para que detecte el cambio de estado, o ponerlo siempre en una posicion cuando conectes el ICP (leonardo) y meterle ese estado como inicial en el código para que concuerde ya que funciona por detección de que se ha movido y tiene en cuenta que la posicion inicial es apagado (pongamos abajo).

 

 

Saludoss!!

 

PD: creo que ese codigo responde a lo tuyo MrWell :bravo:

ddz78g.jpg

Publicado
comment_211761

Se me olvidaba, en vez de lo analogico creo que el nuevo arduino mega 2560 tambien te puede hacer HID y ponerlo como joystick como si de un leonardo se tratase y con ese tendrías un monton de entradas digitales y no tendrias que hacer el divisor para sacar pushbuttons en analogico.

 

Que pena ser un zopenco del diseño... que me has puesto los dientes largos... si tuviera una CNC (y supiera usarla) la verdad es que haces un icp por dos duros... con 40 euros te sobra...

ddz78g.jpg

Publicado
  • Autor
comment_211951

He dejado abandonado este hilo unos días porque estaba con otros inventos, también con Arduino jejejeje

 

Bueno, en resumidas cuentas, pues eso, como decíamos, hay varios métodos perfectame válidos para conseguir lo mismo.

Seguiremos investigando para conseguir varios interrptores por pin.

Publicado
comment_211953

:shock: :shock: :shock: estáis de suerte de que no estemos en la Edad Media, si no os quemaría por brujería :lol2: :lol2: Y no es por el código (lo de programar nunca se olvida, aunque se olvide el lenguaje :) ) o por que no me guste la informática (que desde los ocho años ya me enganchó y, aunque ahora no me gano "oficialmente" la vida con ella, nunca te abandona), SINO PORQUE EN LUGAR DE MANOS DIOS ME DIO PEZUÑAS Y TORPEZA A REVENTAR, por lo que nunca, y digo NUNCA, podría ser capaz de seguiros el ritmo o hacer algo así..... pero bueno.... puedo conseguir dinero.... :roll: :roll: :lol2: :lol2: :lol2:

Publicado
comment_211961

Coño, no se porqué no me ha salido que habíais respondido a este hilo hasta que lo ha hecho Tom.

Muchas gracias por el código. Lo leeré bien a ver si logro comprenderlo. Juntando eso con las pulsaciones dx o de teclado, se podrían hacer maravillas para los paneles por dos duros, con un arduino "barato". El mega me da que sale caro jeje

Tened en cuenta que a existen soluciones comerciales buenas por 50€, o supercompletas y ampliables desde 60 ;) Todo esto es para ver si se encuentra una solución batara pero funcional.

Saludos

Bueno, lo de siempre ¿no?... 20 millas y al turrón.

http://www.victor-pozo.com/imagenes/Otras/Red-4.jpg

Publicado
comment_211978
Ah, pues el código es muy sencillo. Ahora a ver como lo mezclo con lo de Txapu para no gastar una entrada con cada interruptor :?

 

Te vas a hacer un cacho de código gigante jajajaja pero poquito a poco se puede hacer.

 

Lo de txapu al final se transforma en una variable binaria (high, low), igualas el botón de mi codigo a esa variable y te actuará como botón (siempre que no haya problemas de ruido, etc, que no creo).

 

El arduino es muy barato, un clon Leonardo chino (mismo atmega) en ebay te valdrá 10€ cómo mucho... Compra clones de ebay, realmente son los mismos componentes, cambia el ensamblador de la placa.

 

Aiss si fuese yo manitas... Sólo suelo tener buenas ideas que no llevo a cabo por zarpas

 

 

 

Enviado desde el móvil con Tapatalk.

ddz78g.jpg

Publicado
comment_211985

Uf, tengo que estudiar mucho para ser capaz de hacer eso que dices… porque tu código lo entiendo bien pero con el de Txapu no estoy tan seguro, ya que el solo imprime la salida al puerto serie. O sea que habría ademas que mezclarlo con el código de HID para que mande pulsaciones de teclado.

Vamos que no sabría por donde cogerlo :shock:

Bueno, lo de siempre ¿no?... 20 millas y al turrón.

http://www.victor-pozo.com/imagenes/Otras/Red-4.jpg

Publicado
comment_212101

...esto mooooooola, propongo abrir hilo exclusivo de programacion con arduino's, yo no tengo ni idea pero dame un teclado y movere el mundo.

 

Enviado desde mi GT-I9001 usando Tapatalk 2

0zKTMYV.jpg BW15.png 7P1GyEk.png BW19.jpg firma tvt 2021.png

Publicado
comment_212110

He estado haciendo pruebas con un arduino uno (tengo 3 jojo) y la electrónica funciona perfectamente con la programación. Mi arduino no se puede conectar (en principio, sin mucho lio) al pc y que haga de teclado o dispositivo directx, así que no lo he probado cómo teclas, pero va a funcionar igual.

 

El problema es hacer el icp como tal, que no tengo medios ni dotes. El resto sin problemas, así que si tenéis duda de arduino preguntadme, no soy un gran entendido, pero me defiendo, y me divierto cacharreando aunque solo sea en la protoboard

 

Enviado desde el móvil con Tapatalk.

ddz78g.jpg

Join the conversation

Puede publicar ahora y registrarse más tarde. Si tiene una cuenta, iniciar sesión para publicar con su cuenta.

Guest
Responder a este tema...

Información importante

Términos de Uso