Haz una pregunta
  Foros de Electrónica » Diseño digital » Interfaces y Programación
Foros Registrarse ¿Olvidaste tu contraseña?

Temas similares

28/06/2015 #1


Velocimetro Digital USB Para Simuladores VB.NET
Muy Buenas, Quiero compartir con ustedes los avances de mi velocimetro digital de 3 Digitos para que funcione en principio con el Simulador Richard Burns Rally. Hasta ahora tengo Todo diseñado en Proteus y VB 2010 aparentemente funciona TODO a la perfeccion.
Abro mi interface hecha en VB2010, Ejecuto el Juego y Mi programita lo que hace es tomar los datos del juego (Velocimetro) y apartir de alli manda los datos al buffer1 de un PIC 18f2550 USB y lo muestra en 3 display, simple.
Toda esta parte ya la tengo cocinada y a punto de llevarla al protoboard, la duda es la siguiente:

El juego manda obviamente los datos a mi programa (vb2010) y este a la vez los envia al pic via USB, La pregunta es la siguiente: Que pasa si mi auto corre a mas de 255 Km por hora?
Se entiende la pregunta? Osea que pasa si la variable que uso como velocidad supera los 255 que es el maximo que veo que admite esa variable?

La debo declarar como byte o como otra cosa?

Aclaro que soy muy novato en el tema de la programación de pics, recien empiezo y estoy muy verde, pese a ello se bastante de Programacion y electronica. Preferentemente prefiero programar en Visual Basic. Espero haber sido claro y que mi pregunta este en buen lugar en el foro. Gracias por su ayuda. Adjunto parte del codigo y algunas fotitos.

ACA PROTON:


ACA PROTEUS:


ACA VB2010 Donde esta el error:


Gracias a todos, espero alguna sugerencia y recomendaciones si ven algo feo o que se pueda mejorar.
28/06/2015 #2

Avatar de TRILO-BYTE

bueno yo no programo en VB

lo que yo haria seria leer datos del velocimetro que son pulsos de 12v obviamente un transistorsito que se sature a 5v en un modulo CCP

aqui hago mi cuentra de pulsos en la interrupcion
e incremento una variable puede ser de 32 bits no importa

una vez que tuve mis pulsos los convierto a Km/h eso lo haria asi:

conectaria el osciloscopio en el chicote del velosimetro del coche para leer pulsos luego con el gato subiria un lado del coche "ojo hay que apoyar el gato en la horquilla si no se desflecha"

y aceleraria cada 5km/h py veria cuantos hertz equivalen 5km/h y una vez obtenido los datos hago un algoritmo para convertir Hz a Km/h


despues ya que tengo mi variable digamos de 32 bits hay que enviarla al puerto

eso se hace desmenusandola en 4 bytes no he trabajado con basic pero en C se hace asi

se declaran 4 variables para los 4 bytes
byte1=variable aqui se le el primer byte
byte2=variable>>8 se rota 8 veces a la izquierda para obtener el segundo byte

y asi hasta llegar al byte 4

se envia atravez de puerto USB

en el puerto USB cuando se leen los bytes que llegaron se hace el proseso inverso

es decir mi variable de 32 bits se le van a sumar los 4 bytes rotados las veces que se necesiten

ejemplo para una variable de 16 bits
variable=byte1 | byte2<<8;


lo que hise fue a la variable hacerle una OR logica con el byte2 rotado 8 veces que son 8 bits


asi le hacia para leer el ADC del 18f4550 que es de 12 bits
28/06/2015 #3

Avatar de Scooter

Me parece más sencillo usar un servo y listo. Se le pasa a un arduino o semejante en que posición ha de estar y el arduino genera la señal del servo.

Edito: Perdón, pensé que querías velocímetros analógicos
Respuesta
¿Tienes una mejor respuesta a este tema? ¿Quieres hacerle una pregunta a nuestra comunidad y sus expertos? Registrate

Buscar más temas sobre:
Lupa Interfaces y Programación

Lenguajes de programación, gestión y manejo de puertos

Cerrar
Foros de Electrónica » Diseño digital » Interfaces y Programación

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO ©2011, Crawlability, Inc.