Contador de 0 a 99 con ARDUINO
Hola jóvenes, en estos enlaces del BLOGG y DEL CANAL, pueden encontrar recursos sobre fundamentos de ingeniería mecatrónica como : SOLIDWORKS, PROGRAMACIÓN DE ARDUINO, HIDRÁULICA – LENGUAJE LADDER , LENGUAJE GRAFCET ,ELECTROHIDRÁULICA , NEUMÁTICA, ELECTRONEUMÁTICA, PLC M221, PLC SIEMEMS S7 1200, PLC SIEMENS S7 300 , FLUID SIM, FACTORY IO, CONTROL, entre otros https://www.mecatrónica.com.co/ https://mecatronicaitsa.blogspot.com/ http://www.youtube.com/c/Jovanny Duque?sub_confirmation=1_ Si te ha sido útil, regálame un Like, comenta y suscríbete :) (っ◕‿◕)
http://www.youtube.com/c/JovannyDuque?sub_confirmation=1_
ARDUINO PROYECTO DE APLICACIÓN Contador de 0 a 99 con ARDUINO
Descripción del proyecto El proyecto permite por medio del pulsador (suma) un incremento en uno, por medio del pulsador (resta) un decremento en uno y por medio del pulsador (reset) resetear el sistema y volver a cero no importando donde se encontrara. Ing. Jovanny Duque
Página 1
http://www.youtube.com/c/JovannyDuque?sub_confirmation=1_ MATERIALES EMPLEADOS
ITEM
DESCRIPCIÓN
CANTIDAD
1
Circuito integrado 7447 (convertidor binario a bcd)
2
2
Pulsadores NA
3
3
Resistencias 10 K
3
4
Cables macho-macho de distintos colores x 20 cm
60
5
protoboard
1
6
Display 7 segmentos anodo comun
2
7
Placa ARDUINO UNO
1
MONTAJE Y CONEXIONES
Ing. Jovanny Duque
Página 2
http://www.youtube.com/c/JovannyDuque?sub_confirmation=1_
Ing. Jovanny Duque
Página 3
http://www.youtube.com/c/JovannyDuque?sub_confirmation=1_
Ing. Jovanny Duque
Página 4
http://www.youtube.com/c/JovannyDuque?sub_confirmation=1_
CODIGO EN ARDUINO
//Contador 0-99 con Display 7 Segmentos + IC7447 + Pulsadores (Aumentar, Disminuir, Reset) #define a1 9 // Defino a1 en el pin 9 #define b1 8 // Defino b1 en el pin 8 #define c1 7 // Defino c1 en el pin 7 #define d1 6 // Defino d1 en el pin 6 #define a2 13 // Defino a2 en el pin 13 #define b2 12 // Defino b2 en el pin 12 #define c2 11 // Defino c2 en el pin 11 #define d2 10 // Defino d2 en el pin 10 int T1=0, T2=0; // Creo dos variables y las pongo en cero Ing. Jovanny Duque
Página 5
http://www.youtube.com/c/JovannyDuque?sub_confirmation=1_ byte Aumenta=5, Disminuir=4, Reset=3; // Creo 3 Variables tipo byte boolean aux1=true, aux2=true, aux3=true; // creo 3 variables tipo booleano (falso o verdadero) void setup() // configuracion de pines { pinMode(a1,OUTPUT); // a1 lo configuro como salida pinMode(b1,OUTPUT); // b1 lo configuro como salida pinMode(c1,OUTPUT); // c1 lo configuro como salida pinMode(d1,OUTPUT); // d1 lo configuro como salida pinMode(a2,OUTPUT); // a2 lo configuro como salida pinMode(b2,OUTPUT); // b2 lo configuro como salida pinMode(c2,OUTPUT); // c2 lo configuro como salida pinMode(d2,OUTPUT); // d2 lo configuro como salida BCD(0,d1,c1,b1,a1); // declaro los pines que seran asignados al primer 7 segmento BCD(0,d2,c2,b2,a2); // declaro los pines que seran asignados al segundo 7 segmento } void loop() // programa principal repetitivo { if(digitalRead(Aumenta)==HIGH && aux1==true) //Condicion para aumentar { aux1=false; // variable falsa Ing. Jovanny Duque
Página 6
http://www.youtube.com/c/JovannyDuque?sub_confirmation=1_ T1++;
// suma de 1 en 1
if(T1>9){T2++; T1=0;} // inicia el ciclo if(T2>9){T2=0;}
// termina el ciclo
} if(digitalRead(Aumenta)==LOW && aux1==false){aux1=true;} //termina la Condicion para aumentar if(digitalRead(Disminuir)==HIGH && aux2==true) //Condicion para disminuir { aux2=false; // variable falsa T1--;
// resta de 1 en 1
if(T1<0){T2--; T1=9;} // inicia el ciclo if(T2<0){T2=9;}
// termina el ciclo
} if(digitalRead(Disminuir)==LOW && aux2==false){aux2=true;}//termina la Condicion para disminuir
if(digitalRead(Reset)==HIGH && aux3==true) //condicion para resetear { aux3=false; // variable falsa T1=0; // coloca en cero T2=0; // coloca en cero Ing. Jovanny Duque
Página 7
http://www.youtube.com/c/JovannyDuque?sub_confirmation=1_ } if(digitalRead(Reset)==LOW && aux3==false){aux3=true;} //termina la Condicion para resetear BCD(T1,d1,c1,b1,a1); //reseteo contadores en 7 segmento 1 BCD(T2,d2,c2,b2,a2); //reseteo contadores en 7 segmento 2 } void BCD(byte Contador, byte D, byte C, byte B, byte A) // creo variables tipo byte para utilizar decodificador IC7447 { switch(Contador) // abro mi subrutina casos { case
0:
digitalWrite(D,LOW);digitalWrite(C,LOW);digitalWrite(B,LOW);digitalWrite(A,LOW);
//
crear el 0 break;// cierro este caso
case
1:
digitalWrite(D,LOW);digitalWrite(C,LOW);digitalWrite(B,LOW);digitalWrite(A,HIGH);
//
crear el 1 break;// cierro este caso
Ing. Jovanny Duque
Página 8
http://www.youtube.com/c/JovannyDuque?sub_confirmation=1_ case
2:
digitalWrite(D,LOW);digitalWrite(C,LOW);digitalWrite(B,HIGH);digitalWrite(A,LOW);
//
crear el 2 break;// cierro este caso
case
3:
digitalWrite(D,LOW);digitalWrite(C,LOW);digitalWrite(B,HIGH);digitalWrite(A,HIGH); // crear el 3 break;// cierro este caso case
4:
digitalWrite(D,LOW);digitalWrite(C,HIGH);digitalWrite(B,LOW);digitalWrite(A,LOW);
//
crear el 4 break;// cierro este caso case
5:
digitalWrite(D,LOW);digitalWrite(C,HIGH);digitalWrite(B,LOW);digitalWrite(A,HIGH); // crear el 5 break;// cierro este caso case
6:
digitalWrite(D,LOW);digitalWrite(C,HIGH);digitalWrite(B,HIGH);digitalWrite(A,LOW); // crear el 6 break;// cierro este caso
Ing. Jovanny Duque
Página 9
http://www.youtube.com/c/JovannyDuque?sub_confirmation=1_ case
7:
digitalWrite(D,LOW);digitalWrite(C,HIGH);digitalWrite(B,HIGH);digitalWrite(A,HIGH); // crear el 7 break;// cierro este caso
case
8:
digitalWrite(D,HIGH);digitalWrite(C,LOW);digitalWrite(B,LOW);digitalWrite(A,LOW);
//
crear el 8 break;// cierro este caso
case
9:
digitalWrite(D,HIGH);digitalWrite(C,LOW);digitalWrite(B,LOW);digitalWrite(A,HIGH);// crear el 9 break;// cierro este caso } }
Ing. Jovanny Duque
Página 10
http://www.youtube.com/c/JovannyDuque?sub_confirmation=1_
Jovenes, este material ha sido elaborado con mucho gusto. Si te es util Rega lame un Like, comenta y suscríbete :) (っ◕‿◕) Te invito al CANAL DE YOUTUBE MEKATRONICA
http://www.youtube.com/c/JovannyDuque? sub_confirmation=1_ Amigos/as en el BLOGG MEKATRONICA J DUKE podras encontrar cantidad de recursos sobre SOLIDWORKS, HIDRAULICA ELECTROHIDRAULICA , NEUMATICA, ELECTRONEUMATICA, CONTROL, PLC M221, PLC SIEMEMS S7 1200, PLC SIEMENS S7 300 , FLUID SIM FACTORY IO, entre otros
https://mecatronica-itsa.blogspot.com/
Ing. Jovanny Duque
Página 11