martes, 2 de julio de 2013

TELEMETRÍA Y SLOT (I)



Que es la telemetría?
Fundamentalmente la telemetría es una tecnología que permite la medición remota de magnitudes físicas y el posterior envío de la información hacia un operador del sistema y posterior análisis.

El envío de información hacia el operador en un sistema de telemetría se realiza típicamente mediante comunicación inalámbrica, aunque también se puede realizar por otros medios (teléfono, redes de ordenadores, enlace de fibra óptica, etcétera). Los sistemas de telemetría reciben las instrucciones y los datos necesarios para operar mediante desde el Centro de Control.
La telemetría se utiliza en grandes sistemas, tales como naves espaciales, plantas químicas, redes de suministro eléctrico, redes de suministro de gas entre otras empresas de provisión de servicios públicos, debido a que facilita la monitorización automática y el registro de las mediciones, así como el envío de alertas o alarmas al centro de control, con el fin de que el funcionamiento sea seguro y eficiente. Por ejemplo, las agencias espaciales como la NASA, la UK Space Agency, la ESA y otras, utilizan sistemas de telemetría y de telecontrol para operar con naves espaciales y satélites.

La Telemetría se utiliza en infinidad de campos, tales como la exploración científica con naves tripuladas o no (submarinos, aviones de reconocimiento y satélites), diversos tipos de competición (por ejemplo, Fórmula 1 y Moto GP), o la operación de modelos matemáticos destinados a dar sustento a la operación de embalses.

En las fábricas, oficinas y residencias, el monitoreo del uso de energía de cada sección o equipo y los fenómenos derivados (como la temperatura) en un punto de control por telemetría facilita la coordinación para un uso más eficiente de la energía.

Sobre todo los aficionados al Slot, supongo, somos aficionados a la F1 y vemos cada 15 días como los términos relacionados con la telemetría nos son familiares. Los equipos de F1 van añadiendo posibilidades a los desarrollos de telemetría día a día, tanto en el momento de la carrera, como en el momento de desarrollo de los coches.


Cuando he ido a los entrenos de la F1 a Jerez y me he podido acercar suficientemente a los coches (no todo lo que me hubiera gustado) y a los puestos de telemetría de los camiones (impresionantes) me he fijado que la aplicación de la telemetría es aún mayor en el momento del desarrollo del coche. Incluso si os fijáis en los morros veréis antenas que después no llevan en carrera. Esto es así porque muchos de los sensores solo sirven a la hora de desarrollar el coche y los quitan en el momento de la carrera, en el que solo dejan los de comprobación.

Por ejemplo las carrocerías en el momento de desarrollarse llevan muchos sensores extensómetros para ver la deformación y flexibilidad de las piezas. Y sensores de efecto Venturi para estudiar el comportamiento ante el viento de las de los deflectores, para corroborar lo ya estudiado en los túneles de viento.
En las fotos que acompañan al artículo podréis ver algunos de las capturas de datos de los sistemas de telemetría de F1 reales. Incluso esquemas de funcionamiento de los sistemas de los coches.


Decir como curiosidad que uno de los mayores entendidos y usuarios de sistemas de telemetría se llama Fernando Alonso, pero no es el que todos pensáis, sino un ingeniero de desarrollo de Airbus que es el responsable de los controles de telemetría del Airbus 380 y como a el le gusta decir “yo soy el Fernando Alonso que va rápido”.



Y en el Slot?
Bueno a pesar de que ha habido algunos intentos de trasmisión de datos de telemetría en el Slot prácticamente se reducen al control de tiempos de vueltas realizados mediante sistemas derivados. Por ejemplo los mandos de Slot.it y el Witec de DS cuentan con lo que ellos llaman telemetría, que no deja de ser trasladar a un ordenador datos que el mando o el cuentavueltas o incluso manualmente con un cronómetro podríamos obtener y trasladar a mano a una hoja de cálculo.
Hasta ahora pocos intentos conocemos de aplicar la telemetría y sus ventajas al hobby del Slot, aunque otros hobbys si que lo usan hace tiempo, como el aeromodelismo aéreo.
La dificultad naturalmente estriba en el peso y el tamaño de estos sistemas comparativamente con nuestros vehículos.

Si un coche de F1 o una moto de GP cuentan en sus tripas con una centralita y una serie de sensores (de 150 a 300) que trasmiten miles de datos via radio a los puestos de control de los equipos, datos que después hay que analizar ya sea en tiempo real o en diferido para conocer el comportamiento de todos los elementos de un coche o una moto de competición, en un coche de Slot sólo situar una centralita y un sensor se nos hace casi imposible, como vamos a ver a continuación, ya que a pesar de la miniaturización de los componentes, estos son mayores que los propios vehículos a los que los vamos a aplicar.
Se podría hacer esto en Slot?
Bueno poder se puede, de hecho ya os adelanto que lo estamos haciendo o al menos intentando. Solo tenéis que ver alguna de las fotos que acompañan al reportaje.
Como es lógico tenemos una limitación, en cuanto a espacio y a peso que nos coarta a la hora de ponerle sensores a nuestros coches. Pero algo se puede hacer, de hecho mucho más de lo que nos esperabámos cuando empezamos. De hecho las primeras pruebas las hice hace unos años atando (literalmente con cinta aislante) un móvil a un chasis de velocidad de 1/24. Lógicamente el sistema que estoy desarrollando funcionará muy bien en un 1/24 y de hecho algunas de las características de las que se leva a dotar solo tienen sentido en coches en los que la basculación es regulable, pero el reto es hacerlo con un coche de 1/32.
En este artículo no vamos a enseñar todo lo que hemos o estamos en vía de conseguir, pero los próximos meses iremos añadiendo funcionalidades a nuestro sistema que iremos comentando con vosotros.
Decir que algunas de las propuestas que hacemos no las vamos a poder desarrollar completamente debido a mis limitaciones en cuanto a programación o electrónica. Yo no soy al 100% ninguna de las dos cosas. Solo soy un aficionado con inquietudes y que ha seguido la sección que inició Jordi Gaudía y muchos tutoriales y artículos cazados por la red para poder aprender, por lo que cualquier ayuda provinente de nuestros lectores (entre los que hay seguro expertos en muchas de las materias necesarias para poder desarrollarlos) será bienvenida.

¿Que es lo que vamos a hacer?
Bueno como os decía vamos a desarrollar un sistema (hardware software etc) de telemetría para Slot.
En principio nuestro sistema, salvo por el tamaño, no diferirá mucho de los sistemas usados en la F1, bueno en el precio tampoco. El primero que he construido puede salir por unos 40 euros.

Nuestro montaje necesitará de una centralita que irá necesariamente situada en el coche. Esta se encargará de recoger los datos de los sensores y bien enviarlos mediante algún sistema a un equipo exterior que los interpretará o modificará para nuestra interpretación o los tratará directamente para enviarlos ya tratados, según el caso.

Dado que ya hemos aprendido mucho de Arduino en los artículos anteriores del amigo ICESLOT vamos a usar un Arduino Nano V3.0 como centralita, por aquello del menor peso y espacio ocupado. Para ello he adquirido uno por ebay con un costo de 15 €. El peso del Arduino Nano es de 15 gr.
En principio para enviar los datos que capturen los sensores y pasen por nuestro Arduino vamos a colocar una antena Bluetouch (en la mayoría de los casos será suficiente, dado que no vamos a situar nuestro puesto de recogida de los datos muy lejos del coche), dicho elemento pesa 8 grs y cuesta unos 10 €
Lo siguiente es los sensores, aqui en función de lo que vamos a hacer necesitaremos varios pero normalmente son baratos y pequeños y ligeros. En principio un acelerómetro de 3 ejes quizás un giroscopio de 6 ejes y un sensor de celula fotoeléctricas NY70 un sensor de temperatura, etc etc.

Todo ello lo montaremos primeramente en una placa de prototipos que llamamos Protoboard, una vez que veamos que funciona y para hacer las primeras pruebas en el coche lo montaremos sobre una placa de circuitos standard que nos permite soldar los elementos y cables para unirlos. El tercer paso para producir ya un sistema definitivo es pasarlo a una placa de circuitos con las pistas de cobre realizada por cualquiera de los procedimientos artesanales o profesionales. De esta manera ahorraresmo espacio y peso a la hora de montarla en un coche de Slot.

Tenemos ahora la cuarta pata de este proyecto, que es lo que por ahora me ha dado más quebraderos de cabeza, la alimentación. En principio he probado varios sistemas, buscando fundamentalmente dos caracteristicas, seguridad y peso.
De momento el sistema lo estoy probando con un conjunto de pilas de reloj en serie para conseguir más de 5 volt porque si no no funciona el Bluetouch pero con un limitador a 5volt para no quemar el Arduino y el sensor. He probado y desechado por peso y exceso de voltaje las baterias de aeromodelismo de litio (que por otro lado son peligrosas) pilas de movil (demasiado pesadas) pilas de petaca de 9 volt (pesadas y requieren reguladores para bajar el voltaje).
Lo suyo y lo primero que intenté y que no he abandonado es alimentar el sistema directamente desde la pista, a parte de que es lo lógico es que lo voy a necesitar porque una de las funcionalidades que quiero implantar es la de controlar el voltaje recibido desde la pista. Pero este sistema tiene dos problemas, uno el exceso de voltaje que hay que regular y por otra la variación contínua, que puede provocar en las zonas de frenado o de poca aceleración nos quedemos sin voltaje suficiente y se interrumpa la trasmisión. Por lo que hay que dotar a la alimentación de un sistema de acumulación suficiente para mantener constante el voltaje, al menos durante un tiempo suficiente.

Ya hemos descrito lo que hay que construir para tomar los datos y enviarlos y ahora que? Pues lógicamente necesitaremos algo para recibirlos que nos los muestre o en bruto para nuestro análisis o ya tratados. El objetivo es que nos sirvan para sacar conclusiones.
De momento lo estoy haciendo de dos maneras una recibiendo en un PC portátil vía Bluetouch con algún programa en Windows o Linux y la otra manera que estoy probando es con mi móvil y mi tableta con programas en Android.
Una manera muy sencilla es utilizar la aplicación Blueterm de Android ( o cualquier programa que reciba datos pro Bluetouch y nos los muestre) que nos permite desde cualquier teléfono con este sistema obtener los datos en forma de números, más o menos tratados desde nuestro Arduino. Esto ya avanzo que lo consigo sin problema pero su interpretación es bastante árida.
Lo suyo es utilizar un programa tipo Android Commander (ver fotos del reportaje) que por lo menos nos enseñe los datos como gráficos en tiempo real tipo osciloscopio. Y que podemos guardar para interpretar a posteriori.
Aunque lo más apropiado es crear un programa que interprete los datos a nuestro gusto y tenga todas las funcionalidades posibles para facilitarnos la lectura e interpretación de dichos datos y hacer útil nuestro sistema. Esto que es lo ideal es lo más difícil de conseguir, pero mis limitaciones como programador aficionado no me van a permitir conseguirlo de momento, pero no descarto que con ayuda lo consigamos.
Lo mismo se puede hacer con software para el PC, ya iremos contando los programas que hemos ido probando.

Que funcionalidades le vamos a dar a nuestro sistema de Telemetría?
Bueno las que de momento se me han ocurrido (se aceptan sugerencias y hasta peticiones) son algunas muy útiles y otras no tanto, pero si muy vistosas, os hago una lista:
Uso de un acelerómetro de 3 ejes (esta es la que podéis ver en algunas de las fotos y es la primera que estoy desarrollando) esto nos permitirá en todo momento (funciona en tiempo real) conocer la aceleración de nuestro coche en 3 ejes x y z, esto para que nos sirve, bueno pues esto nos dará en primer lugar datos (con la aplicación de algoritmos matemáticos) de velocidades y aceleraciones o frenadas en tiempo real, esto se podrá utilizar para decidir cosas como mayor o menor basculación en la carrocería o amortiguaciones de los subchasis. Con el mismo aparato y las convenientes transformaciones podemos llegar a saber los ángulos y radios con los que el coche avanza acelerando y frenando en línea recta o curva lo que nos permitirá (si lo conseguimos finalizar) poder realizar un dibujo de nuestro circuito en tiempo real (esto se hace en la F1 si veis algunas de las fotos del artículo podréis verlo). Os imagináis llegar a un circuito de por ejemplo unas 24 horas de resistencia y con dar una o dos vueltas con nuestro coche de telemetría, tener el trazado en nuestro ordenador? Esto en manos de un buen analista puede ser fundamental a la hora de elegir una relación de trasmisión. O sea lo que ahora hacemos a ojo al ver un circuito por primera vez y que después tenemos que probar si hemos acertado o no.

Complementario a nuestro acelerómetro podremos si es necesario para el dibujo del circuito usar un   acelerómetro de 6 ejes que nos da sin transformaciones matemáticas los giros.
Por otro lado el acelerómetro nos podrá dar indicaciones de las fuerzas laterales y por comparación ayudar a elegir basculación agarre de neumáticos etc. Zonas y distancias de frenado y aceleración máxima etc además de controlar las salidas de pista y todo ello sobe el plano del circuito.
Por otro lado, una de las funciones básicas a implementar en el sistema es un cuentarevoluciones. Esto que hoy en día calculamos únicamente a uno o pocos voltajes y solo para comprobar los motores, lo podremos hacer en tiempo real y en marcha. Es decir podremos calcular las RPM del motor o de los neumáticos y relacionarlo con otras magnitudes que obtengamos de nuestro sistema. Esto puede por ejemplo servir para comparar, gracias a las RPM medidas y al avance real del coche si se corresponden ambas magnitudes. Es decir si tengo las RPM de un neumático, simplemente con una sencilla operación teórica con el diámetro de la rueda, puedo saber cuanto espacio debe de recorrer el coche, si no se corresponde con lo que realmente está recorriendo es que las ruedas patinan, y aqui es donde tengo que actuar en mi mando para regular el antiespín, por ejemplo. Sería una manera, ademñas de comprobar la efectividad de los antispines de nuestros mandos.
Otra funcionalidad a implementar es la de la lectura del voltaje, en tiempo real, recibido por el coche. Si ponemos nuestra pista con un voltaje (debe de ser pequeño 6-8 volt) con un mando que nos permita entregar potencia de manera constante, como los de Avant Slot que permitían rodar motores, teóricamente el voltaje que le llega al coche es siempre el mismo, salvo que la pista tenga fluctuaciones (normalmente caídas de tensión) que hagan que esto no sea así. Con nuestro sistema podríamos obtener un mapa de voltajes que nos sería muy útil a la hora de poner lineas de tensión y de hacer el mantenimiento de nuestra pista.

Además con un pequeño sensor, barato por optra parte, podríamos hacer un mapa de temperatura de la pista en tiempo real, esto no es muy útil ya lo se, con conocer la temperatura ambiente o de la pista en un solo punto es suficiente, sobre todo para los que corremos en pistas donde la temperatura   o incluso la humedad tienen mucha influencia (pistas carreras y clubes con aire acondicionado) pero no me negaréis que es chulo y bacilón. Otra cosa es la temperatura del motor, no se vosotros pero yo tengo ganas de ver como fluctúa en diferentes zonas de la pista o si se puede conseguir, modificando las carrocerias o los chasis (perforaciones) sobre todo en 1/24 (en 1/32 ya se que no se puede) refrigerar los motores sin necesidad de inventos como los refrigeradores de aletas.
Otra de las cosas que se me ha ocurrido es aplicar un extensómetro de banda (yo explicaré lo que es, de momento deciros que los arquitectos e ingenieros los usamos en nuestras estrucuras para comprobar el comportamiento de estas ante determinadas cargas) a un chasis para estudiar como se retuerce en las zonas de curvas y como se comporta en cada zona de un circuito. Esto nos daría idea de cuan flexible tiene que ser y si hay varias durezas para elegir, darnos una indicación de cual es el que mejor se comporta.
También seria posible utilizar un sensor de presión en cada rueda delantera para poder detectar, e las curvas y también en los cambios de nivel etc cuando tocan la pista y poder evaluar la altura a la que regular el eje delantero de nuestros coches.

¿Que es ciencia ficción? Bueno ya veremos estay convencido que se puede hacer, otra cosa es que lo logre, pero viendo como va el tema tengo muchas esperanzas. Lo que no podré es aplicar todas las cosas a la vez por falta de espacio y por que el aumento de peso provocaría una distorsión en los resultados que los harían inservibles.


De momento la limitación que me he impuesto es que el peso de todo el sistema no supere el de la carrocería del coche, y en la medida de lo posible que el reparto de pesos en la placa de circuito impreso sea similar al de la carrocería. Si os fijáis en las fotos (ya pondré más en el próximo artículo) la placa está aligerada para reducir el peso y de momento el límite del peso 25-30 gr casi lo estoy respetando.
En el próximo artículo explicaré como realizar y sacarle partido al sensor acelerómetro.

Angel Garrido. (Publicado en SVQ SLOT PRESS mayo 2013).

jueves, 7 de junio de 2012

Proyecto Black Box para Slot

Esto es el comienzo de un nuevo proyecto que voy a intentar desarrollar a la vez que el gestor de carreras para Slot.
De momento pongo una foto del esquema de lo que quiero realizar y ya ire explicándolo.

Proyecto de Gestor de carreras de Slot.

Este es el primer Post sobre un proyecto que me he propuesto desarrollar.
Se trata de un completo gestor de carreras para Slot.
Un sistema de Software y Hardware que contenga todo lo necesario para realizar la gestión y control de una carrera de Slot.

A día de hoy hay multiples sistemas de control de carreras de Slot, la mayoría comercializados por los fabricantes de pistas de Slot que fundamentalmente son 4 Scalextric, Superslot, Ninco y Carrera. Sin embargo el sistema mas utilizado a nivel profesional es el comercializado por la empresa DS que lelva en el mercado muchisimos años sin apenas variaciones ni mejoras (a pesar de los defectos que tiene) en parte por culpa precisamente del éxito que tiene en el ambiente de los clubes.

Mientras que en la parcela del software si que hay muchas alternativas al programa de la marca DS, la mayoría de los programas utilizan con hardware de captura de datos los puentes y sistema de crono de la marca DS.

Por otra parte los equipos de conexion y stop and go de la marca son asi mismo los mas utilizados en el mundo del Slot profesional.

Esta situación de cuasi monopolio ha propiciado además que a la falta de mejoras en el sistema se añada el alto coste de los equipos de control y medida. Si bien hay algunas pequeñas marcas que fabrican algunos de los elementos (puentes) este es p`recisamente el elemento mas barato por loq eu no han conseguido que el sistema baje de precio.

Lo que pretendo es diseñar y fabricar un sistema completo (de momento para dos carriles) de gestión y control de pistas de Slot, para todas sus categorías (Rally, RAID, Velocidad) y para todas las modalidades de carreras.

El sistema se pretende que sea completo, es decir que solo con el sistema se pueda realizar todo el proceso implicado en una carrera, salvo las pistas, mandos y coches.

Por otra parte y siendo consciente del parque de elementos ya instalados en muchos clubes, se pretende que el sistema sea compatible en la medida de lo posible con los elementos de la marca DS al objeto de aprovechar todo el material que los clubes tengan en propiedad.

Por otro lado y dado que el sistema (aunque pretendemos que baje el precio de los sistemas actuales) no podrá se rmuy barato, pretendemos que sea modular de manera que pueda ir creciendo desde un sistema básico a uno más completo y complejo en medida a las necesidades y disponibilidad de los usuarios.

Este es el esquema de principio del sistema que pretendemos diseñar.

 



Como se puede ver comprende desde los sensores de pista (varios tipos) el gestor propiamente dicho con comunicación con todo lo que podamos imaginar. y el sistema de control y alimentación de la pista, stop and go, fuentes y regurladores de voltaje.

Esta es una primera propuesta de pupitre central que debería englobar todos los elementos del esquema anterior excepto los sensores.



Como el proyecot es muy ambicioso y esperamos que largo el tiempo de desarrollo, ire poniendo los avances del mismo con mucha información de como lo vamos haciendo, para en su caso ayudar al que quiera construirse el suyo propio o para solicitar ayuda de los expertos en los diversos ámbitos que confluyen en un proyecto de esta embergadura.

Slot Saludos.

jueves, 31 de mayo de 2012

Problemas intentando leer el puerto Serie.

Ya no se que probar. Estoy desesperado.

Desde que compre el Arduino con un completo Kit de sensores no he hecho mas que probar cosas y desde el primer dia encantado con los resultados.
Los ejemplos de los sensores mas variados me salen pero ahora me he quedado estancado intentando leer un aparato que trasmite datos por Puerto Serie.

He probado de todo todos los ejemplos librerias y codigos que he visto por ahy y nada que no va.

Pongo algunas fotos y el codigo con que lo estoy probando ahora por si alguiien puede echarme una manita (que no sea al cuello)

Aqui el interfaz Rs-232 TTL que estoy usando:





Como se puede ver se encienden los led. aunque no parpadean.

Aqui el codigo que estoy usando y que vario continaumente para ver si consigo que funcione. Os agradeceria que le echarais un vistazo a ver si hay algo mal.

#include <LiquidCrystal.h>
#include <SoftwareSerial.h>

#define rxPin 2
#define txPin 3
#define ledPin 13

SoftwareSerial miSerial =  SoftwareSerial(rxPin, txPin);
byte pinEstado = 0;

// initialize the library with the numbers of the interface pins
LiquidCrystal lcd(12, 11, 10, 9, 8, 7);
void setup() {
  // set up the LCD's number of columns and rows:
  lcd.begin(16, 2);
  // Print a message to the LCD.
  lcd.print("hello, world!");
  // define el modo para los pines tx, rx, led:
  Serial.print ("hello, world!");
 
  pinMode(rxPin, INPUT);
  pinMode(txPin, OUTPUT);
  pinMode(ledPin, OUTPUT);
 
  // configura el ratio de datos para el puerto SoftwareSerial
  miSerial.begin(4800);
}
void loop() {
 
  lcd.setCursor(0, 1);
 //lcd.print(millis()/1000);

  // escucha la llegada de nuevos datos serie:
  char unChar = miSerial.read();
  // imprime el caracter:
  // miSerial.print(unChar);
  lcd.print(unChar);
  Serial.print (unChar);
 
    // Comunta un LED para que veas que la cosa viva
  // este LED se enciende con cada NUEVO caracter recibido:
  toggle(13);

 // espera 10 milisegundos para leer mas
 
  delay(10);
}
void toggle(int pinNum) {
  // Establece el pin del LED usando la variable pinEstado:
  digitalWrite(pinNum, pinEstado);
  // si el pinEstado = 0, lo establece a 1, y vice versa:
  pinEstado = !pinEstado;
 
    }

Unas fotos del montaje:



Como podeis ver el codigo funciona, lo que ocurre es que no le llega nada por el puero serie.

y este es el aparatito culpable de mis desvelos:



Y por si pensais que el cuentavueltas o el cable puedan estar mal, aqui teneis la prueba de que no esto es lo que me lee un sniffer del puerto serie con el mismo cable, o sea que eso no es.




Saludos y perdonar el toston.
Vaaale ya se que para lo que voy a enseñar el titulo es muy pomposo pero algo tenia que poner.
En realidad es el primer acercamiento a algo de lo que quiero hacer con mi Arduino para el Slot.
Decir lo primero que solo es un experimento y que de antemano ya sabia que no iba a funcionar, porque tiene un gran problema, por otra parte me ha servido para despegar en cuanto a montajes de varios aparatos (sensores) a la vez y para probar un primer programa hecho por mi.

Decir que a pesar de todo me ha sorprendido lo facil que ha sido y sobre todo que ha funcionado todo como tenia previsto desde que lo empeze a pensar. Y que a pesar de que no sirve para lo que finalmente quiero ha servido para mi objetivo.

Bueno pues esto es todo el material que necesitaba:


Un arduino, un sensor detector de distancia por infrarojos una pila un display de 16x2 digitos y un monton de cablecitos.

Esto es el montaje, sencillo a pesar de la maraña de cables




Como se puede ver el sensor se conecta al arduino en los pines 6 y 7 y a la corriente de 5v y masa
el display a los pines 2,3,4,5 y 10 y 11 siguiendo los esquemas de la pagina web http://www.arduino.cc/ y sus ejemplos. y se iontercala un potenciometro de 100k para regular la intensidad de la señal de display.
La pila fundamental para que funcione independiente del ordenador.

Que hace esto?

Pues con esa especie de binoculares el arduino nvia una señal por ultrasonido que con un retardo determiando escucha por la otro areja (explicacion simple pero que por supuesto no funciona exactamente asi). midiendo lo que tarda en volver la señal (vamos como los murcielagos y los delfines, verdaderos inventores del radar y del sonar) y dependiendo de lo que tarde se calibra para que el tiempo corresponda con una señal.
En mi caso despues de probarlo con el ordenador y de ver que es mucho mas exacto de lo que yo pensaba, me decia las distancias con una gran precision y 16 decimales.
Bueno pues ahora viene lo mejor, si el cacharro detecta un objeto a cierta distancia y le decimos que si tenemos un objeto a menos de 10 cm es que va por el carril 1 y si esta entre 10 y 20 va por el carril 2 y asi hasta el carril 6 pues tenemos un contador con un poco de programación.





Y eso es lo que he fabricado, pero con un costo de menos de 30 euros en total (a parte del arduino, pero que en cao de fabricarse en serie no superaria esta cantidad) y sin necesidad de puentes ni nada mas.

Os dejo alguna foto de como va el invento. Por supuesot por programacion ya le he añadido un contador de vueltas y me faltaria el contador de tiempo pero que si veis el codigo ya esta listo para ser implementado.

Cual es el problema por el que os decia al principio que no va a servir para nada? pues que si pasan dos coches solo ve al que esta mas cerca.  pluffff, se jodio el invento, y con el otros sistemas como pueden ser el laser y demas. a no ser que pongamos varios sensores en linea y detecten y disciernan entre ellos que coches acaban de pasar, pero ya lo complicamos demasiado.

Codigo arduino:

/* se utiliza el sensor de distancia por ultrasonidos
se conecta el pin izquierdo a grd (visto desde atras)
se conecta el pin de la derecha a 5v
el segundo de la izquierda al digital 6
y el tercer de la izquierda al digital 7
he utilizado el pin 13 para indicar cuando se manda señal al rebote pero no hace ffalta
porque al estar conectado al monnitor de serie tambien se enciende el otro led verde
faltaria ahora ponerle el display para leerlo en el display
venia con un display serie y me daba error
lo suyo es ponerle un boton para qeu solo mida cuando pulsemos el boton
mejoras
un boton para empezar
un pitido cada vez que pasa alguien
contar el tiempo
*/


#include
#include
//#include


#define echoPin 6 // the SRF05's echo pin
#define initPin 7 // the SRF05's init pin
//unsigned long pulseTime = 0; // variable for reading the pulse
float pulseTime = 0; // variable for reading the pulse
int V1=0;
int V2=0;
int V3=0;
int V4=0;
int V5=0;
int V6=0;
double T1=0;
double T1min=1000;
double T2=0;
double T2min=1000;
double T3=0;
double T3min=1000;
double T4=0;
double T4min=1000;
double T5=0;
double T5min=1000;
double T6=0;
double T6min=1000;

// initialize the library with the numbers of the interface pins
// LiquidCrystal_I2C lcd(0x27, 16, 2);

LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

void setup() {

Serial.begin(9600);
// make the init pin an output:
pinMode(initPin, OUTPUT);
// make the echo pin an input:
pinMode(echoPin, INPUT);
}

void loop() {
digitalWrite(initPin, LOW);

//digitalWrite(13, HIGH);
delayMicroseconds(10);
digitalWrite(initPin, HIGH);
// digitalWrite(13, LOW);
delayMicroseconds(10);
digitalWrite(initPin, LOW);
pulseTime = pulseIn(echoPin, HIGH);


// lcd.setCursor(0,0);
/ lcd.print(pulseTime / 58, DEC);



// set up the LCD's number of columns and rows:

lcd.begin(16, 2);

// Print a message to the LCD.
if (pulseTime/58<10)

{
Serial.println("CARRIL 1");
V1=V1+1;
if (T1
{
T1min=T1;
}
lcd.print("CARRIL 1 ");
lcd.print(V1);
lcd.print(" vueltas");
lcd.setCursor(0, 1);
lcd.print("T: ");
lcd.print(T1);
lcd.print(" Tm: ");
lcd.print(T1min);
}
else if (pulseTime/58<20)
{
Serial.println("CARRIL 2");
V2=V2+1;
if (T2
{
T2min=T2;
}
lcd.print("CARRIL 2 ");
lcd.print(V2);
lcd.print(" vueltas");
lcd.setCursor(0, 1);
lcd.print("T: ");
lcd.print(T2);
lcd.print(" Tm: ");
lcd.print(T2min);
}
else if (pulseTime/58<30)
{
Serial.println("CARRIL 3");
V3=V3+1;
if (T3
{
T3min=T3;
}
lcd.print("CARRIL 3 ");


lcd.print(V3);


lcd.print(" vueltas");


lcd.setCursor(0, 1);


lcd.print("T: ");


lcd.print(T3);


lcd.print(" Tm: ");


lcd.print(T3min);


}


else if (pulseTime/58<40)






{


Serial.println("CARRIL 4 ");


V4=V4+1;


if (T4


{


T4min=T4;


}






lcd.print("CARRIL 4");


lcd.print(V4);


lcd.print(" vueltas");


lcd.setCursor(0, 1);


lcd.print("T: ");


lcd.print(T4);


lcd.print(" Tm: ");


lcd.print(T4min);


}






else if (pulseTime/58<50)






{


Serial.println("CARRIL 5 ");


V5=V5+1;


if (T5


{


T5min=T5;


}






lcd.print("CARRIL 5");


lcd.print(V5);


lcd.print(" vueltas");


lcd.setCursor(0, 1);


lcd.print("T: ");


lcd.print(T5);


lcd.print(" Tm: ");


lcd.print(T5min);


}


else if (pulseTime/58<60)






{


Serial.println("CARRIL 6 ");


V6=V6+1;


if (T6


{


T6min=T6;
}
lcd.print("CARRIL 6");
lcd.print(V6);
lcd.print(" vueltas");
lcd.setCursor(0, 1);
lcd.print("T: ");
lcd.print(T6);
lcd.print(" Tm: ");
lcd.print(T6min);

else
{
Serial.println("NO PASA NADIE");
lcd.print("NO PASA NADIE");
}

delay(500);
// lcd.clear();
}


La semana que viene me llegan varios sensores mas que espero que vayan mejor para esto, y de manera que podamos prescindir de los famosos puentes de led que tanto problemas dan con la luz directa y con la harina, que es lo que yo voy buscando.

saludos.