que buen video amigo,para qe el contador sea mas lento,es decir que vaya a la velocdad de 1 segundo se modifica el valor de tiempoejc=
@AltairCE
Жыл бұрын
En lugar de las 4 resistencia, una por cada dígito, ¿no podría ponerse una única resistencia en el ánodo ( o cátodo) común? De los muchos vídeos sobre este tema, el suyo es el más claro y detallado. Gracias por su trabajo.
@opentronika
Жыл бұрын
Es una gran pregunta, y claro que es posible, esto depende mucho del criterio de cada uno y del proyecto en específico, pero hay cosas a considerar, si falla la resistencia todo el display falla además de que tiene que asegurarse que ésta soporte la corriente suficiente para los cuatro dígitos.
@josemgarcia8964
2 жыл бұрын
Fantastico video y explicación.Como podria intercalar un pulsador para contar cada vez que se pulsa?
@opentronika
2 жыл бұрын
Hola amigo, como mencione arriba haremos un video para los botones muy pronto, pero una vez que se entienda como funcionan resolver estas variaciones es sencillo, aquí te dejo una solución pero hay muchas otras formas de lograrlo, saludos. void setup() { // put your setup code here, to run once: byte Numdigits=4; byte Comunes[]={2,3,4,5}; byte Segmentos[]={6,7,8,9,10,11,12,13}; byte Tipo=COMMON_CATHODE; sevseg.begin(Tipo,Numdigits,Comunes,Segmentos); pinMode(A0, INPUT); pinMode(A1, INPUT); } void loop() { static int contador=0; if(digitalRead(A0)){ while(digitalRead(A0)); delay(10); contador++; if(contador==10000){ contador=0;//reseteamos contador } sevseg.setNumber(contador,1); } if(digitalRead(A1)){ //tiempoejec+=100;//proximo evento while(digitalRead(A1)); delay(20); contador--; if(contador==10000){ contador=0;//reseteamos contador } sevseg.setNumber(contador,1); } sevseg.refreshDisplay(); // put your main code here, to run repeatedly: }
@oracle3771
2 жыл бұрын
Excelente tutorial felicitaciones, quizá me puedas ayudar con el codigo para dos botones uno para iniciar el cronometro y el otro para resetearlo te lo agradeceria mucho.
@opentronika
2 жыл бұрын
hola amigo, claro que sí, eventualmente mostraremos cómo utilizar los botones en un próximo video, sin embargo es tan sencillo como poner los pines de los botones como salidas y sensarlos en un if dentro del ciclo. #include SevSeg sevseg; //Instanciamos el objeto SevSeg void setup() { // put your setup code here, to run once: byte Numdigits=4; byte Comunes[]={2,3,4,5}; byte Segmentos[]={6,7,8,9,10,11,12,13}; byte Tipo=COMMON_ANODE; sevseg.begin(Tipo,Numdigits,Comunes,Segmentos); pinMode(A0, INPUT); pinMode(A1, INPUT); } void loop() { static unsigned long tiempoejec=millis()+100; //proximo evento static int inicio=0; static int contador=0; if(digitalRead(A0)==1){//boton inicio inicio=1; } if(digitalRead(A1)==1){//boton parar inicio=0; } if(millis()>=tiempoejec){ tiempoejec+=100;//proximo evento contador++; if(contador==10000 || inicio==0){ contador=0;//reseteamos contador } sevseg.setNumber(contador,1); } sevseg.refreshDisplay(); // put your main code here, to run repeatedly: } Algo así pero tienes que tener en cuenta que debes usar una configuración pull-down en los botones, además de un capacitor para evitar comportamientos no deseados.
@stevenadriz7701
4 ай бұрын
Hola, tengo un display de cátodo común pero la corriente no es suficiente.
@danielmontenegro1321
6 ай бұрын
cuales van a tierra?
@HuaweiY-hg7iv
2 жыл бұрын
Necesito ese contador pero con botones para ascender y hacer descender la cantidad que halla en el display
@opentronika
2 жыл бұрын
hola amigo, ya comente esta solución en los comentarios anteriores, te invito a buscarla, esta será la última solución que conteste en este video, pero los invito a sugerir variantes y si se juntan varias haré un video resolviendolas.
Пікірлер: 12