contador regresivo con sensor ir y display de 7 segmentos

hola buenas,

soy pacote, tengo un proyecto y no se que piesas necesito.

bueno os explico un poco, soy novato en el tema arduino, hace poco me he comprado un kit por ebay, asta la fecha estoy siguiendo los tutoriales que hay en youtube para iniciarme en el tema, concretamente los de el canal codigofacilito.

como uno de mis aficiones es el airsoft, me gustaria hacer un proyecto relacionado con esto, en verdad son unos cuantos, jejeje

pero la cosa es que me gustaria hacer un silenciador con un sistema de cuenta atras, es decir un silenciador que cunado pase la bola haga una cuenta atras en una pantalla pequeñita que este puesta en la replica, de esta marera siempre sabre cuantas bolas quedan en el cargador, si me pudierais decir que tipo de componentes voy ha necesitar o alunbrarme un poco el camino, os estaria muy agradecido.

gracias y adios

Pacote aunque no has cometido ninguna falta te recomiendo que leas las normas del foro justamente para que aportes mas información como la que te voy a pedir. Tu hablas de airsoft como si todos supiéramos que es: al menos yo no y supongo que algunos tampoco, entonces hubiera sido mucho mejor que agregaras algunos enlaces usando los tags, tal como las normas explican.

Ahi te puse como deberías habelo hecho pero yo no tengo que ir a buscar en google algo que te interesa a ti. Nosotros, los que te demos sugerencias soluciones, tenemos que tener las herramientas para ayudarte.

un silenciador con un sistema de cuenta atras, es decir un silenciador que cunado pase la bola haga una cuenta atras en una pantalla pequeñita que este puesta en la replica, de esta marera siempre sabre cuantas bolas quedan en el cargador,

Supongo que te refieres a que quieres saber cuantas bolas quedan en el cargador? Asi que porque no muestras el cargador o el sitio donde estan las bolas negras para ver que se puede adaptar?

Que te parece esto Youtube Airsoft counter

bueno, algo parecido, mañana subire otro post con mas datos que hoy ya es tarde.

P,D:

surbyte: Ahi te puse como deberías habelo hecho pero yo no tengo que ir a buscar en google algo que te interesa a ti.

no hace falta ponerse borde, antes de pediros ayuda, he buscado por google algo referente a mi proyecto y no he encontrado nada que me sirva, gracias

No me refiero a eso, me refiero a que tu hablas como si todos supiéramos lo que es Airsoft. Al menos yo no lo sabía. Y no te molestes conmigo, solo te indico que una consulta sea como sea debe presentarse con toda la información posible. Asi lo indica las Normas del Foro. Leelas y me vas a comprender. Ya te lo indiqué y tu respuesta denota que aún no lo has hecho.

No se que significa ponerse borde, pero me imagino que es enojarse o algo similar. Bien, como creo que me malinterpretas no diré mas nada. No es mi intención molestarte.

Volviendo a tu objetivo. Algo parecido respondes? Ya se que quieres contar las municiones, lo he tenido que deducir. Pero la otra manera es si puedes ver el paso de las bolas usas un emisor IR y un receptor y listo. SImple y facil. Pero no se si puedes.

Si, es posible ver el paso de la bola al salir del cañon, voy a mirar en google como funcionan los componentes que me as dicho, ya contare como me va

Es muy interesante lo que quieres hacer, pero yo no lo veo ni útil ni real.

Te lo dice un jugador de airsoft de 58 años que dejó el juego hace 3.

En la realidad, un soldado no sabe cuántas balas le quedan a no ser que abra el cargador y las cuente. Se supone que en airsoft imitamos esa realidad y te las ingenias para saber cuanto te queda. Puedes decirme que es para saber cuando darle a la "ruedita" si usas magazines de muchos BBs, onda cargar unos 600 o más. "Darle a la ruedita" denota tu posición y los de máxima capacidad son sonajeros al correr.

Disculpa que me haya metido tan de lleno en el hilo pero hay accesorios de airsoft con los que nunca comulgué. Se supone que airsoft es emulación en campo de una batalla real. Con ese tipo de accesorios no deja de ser um simple juego.

Saludos!

Hector_A: Es muy interesante lo que quieres hacer, pero yo no lo veo ni útil ni real.

Te lo dice un jugador de airsoft de 58 años que dejó el juego hace 3.

En la realidad, un soldado no sabe cuántas balas le quedan a no ser que abra el cargador y las cuente. Se supone que en airsoft imitamos esa realidad y te las ingenias para saber cuanto te queda. Puedes decirme que es para saber cuando darle a la "ruedita" si usas magazines de muchos BBs, onda cargar unos 600 o más. "Darle a la ruedita" denota tu posición y los de máxima capacidad son sonajeros al correr.

Disculpa que me haya metido tan de lleno en el hilo pero hay accesorios de airsoft con los que nunca comulgué. Se supone que airsoft es emulación en campo de una batalla real. Con ese tipo de accesorios no deja de ser um simple juego.

Saludos!

Los soldados no saben cuantas balas le quedan única y exclusivamente por que no existira o no disponen del accesorio que quiere crear nuestro amigo pacote

Por lo tanto me parece una excelente idea

No se a que velocidad sale la bola pero yo intentaria con algo como esto (menos de 1€)

hector_A, ante todo gracias por comentar, tienes mucha razon cuando dices que los soldados profecionales no saben cuantas balas le quedan, eso es verda, pero pienso como GO_zalo, si lo pudieran tener lo tendrian y seguramente exista en el ejercito algo parecido, no lo se.

la cuestion de hacer un contador de municion no es otra que intentar unir 2 aficiones, el airsoft por un lado y arduino por el otro, como ya sabras soy novato en arduino y creo que el ir haciendo pequeños proyectos (utiles o no) es una buena forma de aprender, porcierto yo utilizo cargadores de capacidad real.

GO_zalo, as dado en el clavo eso es justo lo que nesecito para mi proyecto, muchisimas gracias, no sabia que ese componente existia jejeje.

Pacote hay muchos tutoriales en el foro Documentación sobre como comandar displays de 7 segmentos. Yo personalmente he traudico 2 de Nick Gammon.

bueno tras algún tiempo intentando culturisarme un poco en el tema de arduino, aquí vuelvo, creo que mi planteamiento inicial era un poco confuso y podía inducir a error,

voy a intentar explicar de nuevo mi proyecto, lo que quiero hacer es un código que me permita hacer una cuenta regresiva de 20 a 0, con un sensor ir y un pulsador.

me gustaría que funcionase de la siguiente manera, solo debe funcionar si el pulsador esta oprimido, cadaves que el sensor inflarrojo detecte un objeto, baje un numero en el display de 7 segmentos.

en estos momentos el problema lo tengo en que no se como hacer que el display baje un numero cuando el sensor ir detecta un objeto.

estaba intentando establecer una coneccion serial que detectase el estado de un led que tengo puesto en el circuito del detector ir, este led se enciende cadaves que detecta algún objeto, yo quería hacer que arduino detectase el estado del led y bajara un numero cada ves que se encienda

os dejo el código

int sensor = 11;
int estado = 0;
int disparo = 1000; // esta variable hay que cambiarla por el detector)


void setup()
{
Serial.begin(9600); // iniciar comunicacion serial
pinMode(10, INPUT);
pinMode(2, OUTPUT);
pinMode(3, OUTPUT);
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);
pinMode(7, OUTPUT);
pinMode(8, OUTPUT);
pinMode(9, OUTPUT);
pinMode(11, INPUT);
}
void display (int a, int b, int c, int d, int e, int f, int g, int h) // nombres de cada una de las partes de los 7 segmentos del display
{
digitalWrite (2,a); //Se reciben 8 variables y se asignan a cada una de las salidas
digitalWrite (3,b);
digitalWrite (4,c); // son 8 variables porque contamos el punto
digitalWrite (5,d);
digitalWrite (6,e);
digitalWrite (7,f);
digitalWrite (8,g);
digitalWrite (9,h);
}

void loop() {
estado = digitalRead (10);
if(estado == HIGH) {
digitalWrite(2, HIGH);
digitalWrite(3, HIGH);
digitalWrite(4, HIGH);
digitalWrite(5, HIGH);
digitalWrite(6, HIGH);
digitalWrite(7, HIGH);
digitalWrite(8, HIGH);
digitalWrite(9, HIGH);
digitalWrite(11,LOW);
delay(100);

sensor = digitalRead (11);
display(1,1,1,1,1,1,0,1); //escribe 20
delay(disparo);
Serial.println(sensor);

display(1,1,1,0,0,1,1,1); //escribe 19
delay(disparo);
Serial.println(sensor);

display (1,1,1,1,1,1,1,1); //escribe 18
delay(disparo);
Serial.println(sensor);

display (1,1,1,0,0,0,0,1); //escribe 17
delay(disparo);
Serial.println(sensor);

display (1,0,1,1,1,1,1,1); //escribe 16
delay(disparo);
Serial.println(sensor);

display (1,0,1,1,0,1,1,1); //escribe 15
delay(disparo);
Serial.println(sensor);

display (0,1,1,0,0,1,1,1); //escribe 14
delay(disparo);
Serial.println(sensor);

display (1,1,1,1,0,0,1,1); //escribe 13
delay(disparo);
Serial.println(sensor);

display (1,1,0,1,1,0,1,1); //escribe 12
delay(disparo);
Serial.println(sensor);

display (0,1,1,0,0,0,0,1); //escribe 11
delay(disparo);
Serial.println(sensor);

display (1,1,1,1,1,1,0,1); //escribe 10
delay(disparo);
Serial.println(sensor);

display (1,1,1,0,0,1,1,0); //escribe 9
delay(disparo);
Serial.println(sensor);

display (1,1,1,1,1,1,1,0); //escribe 8
delay(disparo);
Serial.println(sensor);

display (1,1,1,0,0,0,0,0); //escribe 7
delay(disparo);
Serial.println(sensor);

display (1,0,1,1,1,1,1,0); //escribe 6
delay(disparo);
Serial.println(sensor);

display (1,0,1,1,0,1,1,0); //escribe 5
delay(disparo);
Serial.println(sensor);

display (0,1,1,0,0,1,1,0); //escribe 4
delay(disparo);
Serial.println(sensor);

display (1,1,1,1,0,0,1,0); //escribe 3
delay(disparo);
Serial.println(sensor);

display (1,1,0,1,1,0,1,0); //escribe 2
delay(disparo);
Serial.println(sensor);

display (0,1,1,0,0,0,0,0); //escribe 1
delay(disparo);
Serial.println(sensor);

display (1,1,1,1,1,1,0,0); //escribe 0
delay(disparo);
Serial.println(sensor);


}

else {
digitalWrite(2, LOW);
digitalWrite(3, LOW);
digitalWrite(4, LOW);
digitalWrite(5, LOW);
digitalWrite(6, LOW);
digitalWrite(7, LOW);
digitalWrite(8, LOW);
digitalWrite(9, LOW);
}
}

os dejo también la foto del montaje en el protoboar

agradesco cualquier orientacion

me gustaría que funcionase de la siguiente manera, solo debe funcionar si el pulsador esta oprimido, cada veZ que el sensor inflarrojo detecte un objeto, baje un numero en el display de 7 segmentos.

Este es el nudo de tu proyecto. Sensor IR como tu dices es un diodo emisor y otro diodo receptor que estan frente a frente. SI quieres detectar un objeto de ese modo no hay problema. Si quieres tenerlo en algo tipo un arma que VE algo.. es otro. Define esa parte de la idea.

pacote: solo debe funcionar si el pulsador esta oprimido, cadaves que el sensor inflarrojo detecte un objeto, baje un numero en el display de 7 segmentos.

Yo con esto entiendo que solo quieres que el display led funcione cuando pulses un boton, pero que siga descontando, me imagino que para que no seas un blanco facil por la noche. Si es esto es muy facil de solucionar por soft o directamente un pulsador NA en la alimentación a los displays

Sobre el código lo que has echo es manejar el display de 7 segmentos a tu manera, es absolutamente engorroso, pero me parece bien,

Piensa que si tienes que contar mas de 9 necesitaras mas displays y tu sistema empieza a complicarse puedes mirar esto

Si vas a usar el sensor que yo te dije, no lo has entendido bien.

Es un diodo IR y un fototransistor, el diodo IR tiene que estar en continuo activado, y al incidir la luz sobre el foto transistor se pone a conducir resultado, la salida esta normalmente a 0V, cuando algo interrumple la luz (tu bolita de plástico) el fototransistor deja de conducir y la salida momentaneamente se pone a 5V este flanco de subida es el que hay que detectar, para llevar la cuenta

Aquí tienes la info sobre como conectar el sensor (a la pata de interrupción de arduino no a la 11) Y aquí mas info sobre las interrupciones

Animo!

surbyte, los diodos emisor y receptor van colocados en un silenciador pequeño que va puesto al final del cañon, quedando estos diodos uno frente al otro y detectando la bola que pasara por el centro.

GO_zalo, ante todo gracias

decidi hacerlo con los diodos emisores y receptor, por que me venian incluidos en el kit que me compre, pero sigo pensando que la pieza que me aconsejaste es mejor, pero tengo una duda, esa pieza seria capaz de detectar un bola de 6mm de diametro con una velocidad de salida de 100m/s??

referente al display pensaba cambiarlo en un futuro por uno con mas dijitos pero con la pagina que me has facilitado creo que a llegado el momento de hacerlo

voy a ver y estudiar un poco las paginas que me as dicho y os digo algo... puede que tenga que empezar de 0 y hacer las cosas bien desde un principio

gracias por los animos

decidi hacerlo con los diodos emisores y receptor, por que me venian incluidos en el kit que me compre, pero sigo pensando que la pieza que me aconsejaste es mejor, pero tengo una duda, esa pieza seria capaz de detectar un bola de 6mm de diametro con una velocidad de salida de 100m/s??

Eso debes responderlo tu practicamente. Montas tu par emisor/receptor en la punta del rifle, disparas la bola y debe detectarla. Prueba varios disparos pero yo no creo que tanga problemas.

6mm si estuvieran 100% centrados e interrumpieran el haz justos en todo su diametro sería a 100m/seg

Vel = d/t donde d = distancia t = tiempo distancia = 6mm t lo desconocemos Vel = 100m/seg = 100*1000 mm/1000 mseg = 100 mm/mseg

t = d/Vel= 6 mm / 100 mm/mseg = 0.06 mseg = 60 useg

Totalmente registrable. Aun cuando será menor ya que seguramente no interrumpa el haz jusnto al centro.

No se como funciona un arma de airsoft pero algo habrá dentro que se mueve, un motor un electroiman o algo así no ? o funcionan con aire comprimido?

En todo caso igual es mas facil buscar de detectar el movimiento de una pieza interna, o mejor aun sensar la corriente del electroiman o por que no contar las vez que se aprieta el gatillo

Mas opciones a tener en cuenta!

surbyte:
Totalmente registrable. Aun cuando será menor ya que seguramente no interrumpa el haz jusnto al centro.

gracias por la aclaracion, he estado probando aver si las bolas cortan en su totalidad el as de luz y si lo coloco bien centrado si la detecta jejeje

GO_zalo: No se como funciona un arma de airsoft pero algo habrá dentro que se mueve, un motor un electroiman o algo así no ? o funcionan con aire comprimido?

En todo caso igual es mas facil buscar de detectar el movimiento de una pieza interna, o mejor aun sensar la corriente del electroiman o por que no contar las vez que se aprieta el gatillo

Mas opciones a tener en cuenta!

te ago una explicacion rapida del funcionamiento:

basicamete, al precionar el gatillo se activa el motor que hace que se muevan las ruedas dentadas, estas hacen que se comprima el piston y este al soltarse empuja el aire que hay en el silindro y es este el que hace salir la bola disparada, esto es una explicacion a groso modo sin entrar en ningun tipo de detalles.

el problema de poner algo dentro de la replica es el poco espacio en su interior acompañado un poco que no es demaciado bueno estar desmontando las replicas en exeso.

al gatillo no le puedo poner nada por que las replicas tienen sistema de disparo automatico, si dejas el gatillo pulsado dispara hasta que se vacia el cargador.

si tu ves alguna forma mejor a la que yo he pensado, no te cortes estoy abierto a sugerencias :)

no bueno si ya esta funcionando con el sensor IR ya esta listo, pero gracias por la explicación