|     Inicio    |   |         |  |   FOROS      |  |      |      
   Elastix - VoIP B4A (Basic4Android) App inventor 2 PHP - MySQL
  Estación meteorológica B4J (Basic4Java) ADB Shell - Android Arduino
  AutoIt (Programación) Visual Basic Script (VBS) FireBase (BD autoactualizable) NodeMCU como Arduino
  Teleco - Emisora de A.M. Visual Basic Cosas de Windows Webs interesantes
T Búsqueda en este sitio:


.

Arduino en español
Circuitos con Arduino - Juan Antonio Villalpando

-- Tutorial de iniciación a Arduino --

Volver al índice del tutorial

____________________________

15.- Display de 7 segmentos. Contador con botón.

- Dejamos el dedo pulsando el Botón y el circuito contará de 0 a 9 y luego de 9 a 0, continuará contando hasta que dejemos de pulsar.

 

Código
/*
  Juan A. Villalpando
  kio4.com
  agosto 2015
 */

/* Cuenta con Display de 7 segmento de Ánodo común.
*/
#define pin12 12   // Al terminal  12 lo llamamos pin12. Aquí irá el pulsador.

#define a 2
#define b 3
#define z 4 // He utilizado la z en vez de la c. La c da error.
#define d 5
#define e 6
#define f 7
#define g 8

int contador=0;     // Variable contador igual a cero
int lee;
int s=1;

// En el setup establecemos los parámetros iniciales.
void setup() {
pinMode(pin12, INPUT);     // El pin12 será entrada. Pulsador.

pinMode(a, OUTPUT);
pinMode(b, OUTPUT);
pinMode(z, OUTPUT);
pinMode(d, OUTPUT);
pinMode(e, OUTPUT);
pinMode(f, OUTPUT);
pinMode(g, OUTPUT);

Serial.begin(9600);
}

void loop() {
   lee = digitalRead(pin12); // Lee el pin12 y se lo asigna a lee. (Puede ser 0 o 1)
   
   if (lee == HIGH) { 

  contador = contador + s;  
  Serial.print(contador);
  if (contador > 9) { s = -1; }
  if (contador < 0) { s =  1; }
  
  if (contador == 0) { cero();}
  if (contador == 1) { uno();}
  if (contador == 2) { dos();} 
  if (contador == 3) { tres();} 
  if (contador == 4) { cuatro();}  
  if (contador == 5) { cinco();}  
  if (contador == 6) { seis();}  
  if (contador == 7) { siete();}
  if (contador == 8) { ocho();}
  if (contador == 9) { nueve();}
}

   delay(500);
}

///////////////////////////////////////
void borrado(){
digitalWrite(a,HIGH);
digitalWrite(b,HIGH);
digitalWrite(z,HIGH);
digitalWrite(d,HIGH);
digitalWrite(e,HIGH);
digitalWrite(f,HIGH);
digitalWrite(g,HIGH);
}

void uno(){
borrado();
digitalWrite(b,LOW);
digitalWrite(z,LOW);
}

void dos(){
borrado();  
digitalWrite(a,LOW);
digitalWrite(b,LOW);
digitalWrite(g,LOW);
digitalWrite(e,LOW);
digitalWrite(d,LOW);
}

void tres(){
borrado();
digitalWrite(a,LOW);
digitalWrite(b,LOW);
digitalWrite(g,LOW);
digitalWrite(z,LOW);
digitalWrite(d,LOW);
}

void cuatro(){
borrado();
digitalWrite(b,LOW);
digitalWrite(z,LOW);
digitalWrite(g,LOW);
digitalWrite(f,LOW);
}

void cinco(){
borrado();
digitalWrite(a,LOW);
digitalWrite(z,LOW);
digitalWrite(d,LOW);
digitalWrite(f,LOW);
digitalWrite(g,LOW);
}

void seis(){
borrado();
digitalWrite(a,LOW);
digitalWrite(z,LOW);
digitalWrite(d,LOW);
digitalWrite(e,LOW);
digitalWrite(f,LOW);
digitalWrite(g,LOW);
}

void siete(){
borrado();
digitalWrite(a,LOW);
digitalWrite(b,LOW);
digitalWrite(z,LOW);
}

void ocho(){
borrado();
digitalWrite(a,LOW);
digitalWrite(b,LOW);
digitalWrite(z,LOW);
digitalWrite(d,LOW);
digitalWrite(e,LOW);
digitalWrite(f,LOW);
digitalWrite(g,LOW);
}

void nueve(){
borrado();
digitalWrite(a,LOW);
digitalWrite(b,LOW);
digitalWrite(z,LOW);
digitalWrite(f,LOW);
digitalWrite(g,LOW);
}

void cero(){
borrado();
digitalWrite(a,LOW);
digitalWrite(b,LOW);
digitalWrite(z,LOW);
digitalWrite(d,LOW);
digitalWrite(e,LOW);
digitalWrite(f,LOW);
}

_________________

- Propuestas.

- Utilizar dos pulsadores, uno que cuente hacia arriba y otro hacia abajo.

________________________________

 

- Mi correo:
juana1991@yahoo.com
- KIO4.COM - Política de cookies. Textos e imágenes propiedad del autor:
© Juan A. Villalpando
No se permite la copia de información ni imágenes.
Usamos cookies propias y de terceros que entre otras cosas recogen datos sobre sus hábitos de navegación y realizan análisis de uso de nuestro sitio.
Si continúa navegando consideramos que acepta su uso. Acepto    Más información