Documentos de Académico
Documentos de Profesional
Documentos de Cultura
const int botonIncremento = 9; // declaramos pin 13 como entrada del sensor infrarojo
para aumentar los cupos.
const int botonDecremento = 13; // declaramos pin 9 como la salida para controlar el servo
de la entrada del estacionamiento
const int tiempoAntirebote = A1; // constante para evitar el rebote del sensor en m7s
int cuenta = 9; // cupos maximos permitidos en el estcionamiento
int contador = 0;
boolean estado;
boolean estadoAnterior;
do {
estado = digitalRead(pin);
if(estado != estadoAnterior) {
contador = 0;
estadoAnterior = estado;
else {
contador = contador + 1;
delay(1);
return estado;
void actualizarNumero() {
switch(cuenta) {
break;
case 1: // numero uno
break;
case 2:
digitalWrite(a, HIGH); // 2
digitalWrite(b, HIGH);
digitalWrite(c, LOW);
digitalWrite(d, HIGH);
digitalWrite(e, HIGH);
digitalWrite(f, LOW);
digitalWrite(g, HIGH);
break;
case 3:
digitalWrite(a, HIGH); // 3
digitalWrite(b, HIGH);
digitalWrite(c, HIGH);
digitalWrite(d, HIGH);
digitalWrite(e, LOW);
digitalWrite(f, LOW);
digitalWrite(g, HIGH);
break;
case 4:
digitalWrite(a, LOW); // 4
digitalWrite(b, HIGH);
digitalWrite(c, HIGH);
digitalWrite(d, LOW);
digitalWrite(e, LOW);
digitalWrite(f, HIGH);
digitalWrite(g, HIGH);
break;
case 5:
digitalWrite(a, HIGH); // 5
digitalWrite(b, LOW);
digitalWrite(c, HIGH);
digitalWrite(d, HIGH);
digitalWrite(e, LOW);
digitalWrite(f, HIGH);
digitalWrite(g, HIGH);
break;
case 6:
digitalWrite(a, HIGH); // 6
digitalWrite(b, LOW);
digitalWrite(c, HIGH);
digitalWrite(d, HIGH);
digitalWrite(e, HIGH);
digitalWrite(f, HIGH);
digitalWrite(g, HIGH);
break;
case 7:
digitalWrite(a, HIGH); // 7
digitalWrite(b, HIGH);
digitalWrite(c, HIGH);
digitalWrite(d, LOW);
digitalWrite(e, LOW);
digitalWrite(f, LOW);
digitalWrite(g, LOW);
break;
case 8:
digitalWrite(a, HIGH); // 8
digitalWrite(b, HIGH);
digitalWrite(c, HIGH);
digitalWrite(d, HIGH);
digitalWrite(e, HIGH);
digitalWrite(f, HIGH);
digitalWrite(g, HIGH);
break;
case 9:
digitalWrite(a, HIGH); // 9
digitalWrite(b, HIGH);
digitalWrite(c, HIGH);
digitalWrite(d, LOW);
digitalWrite(e, LOW);
digitalWrite(f, HIGH);
digitalWrite(g, HIGH);
break;
void setup() {
pinMode(a, OUTPUT); // se declara el pin del arduino como salida digital para el
segmento A del display
pinMode(b, OUTPUT); // se declara el pin del arduino como salida digital para el
segmento B del display
pinMode(c, OUTPUT); // se declara el pin del arduino como salida digital para el
segmento C del display
pinMode(d, OUTPUT); // se declara el pin del arduino como salida digital para el
segmento D del display
pinMode(e, OUTPUT); // se declara el pin del arduino como salida digital para el
segmento E del display
pinMode(f, OUTPUT); // se declara el pin del arduino como salida digital para el
segmento F del display
pinMode(g, OUTPUT); // se declara el pin del arduino como salida digital para el
segmento G del display
servoEntrada.attach (10, 500, 1200); // pin 10 como salida ANALOGA del servomotor, paleta
de entrada
servoSalida.attach (11, 500, 1200); // pin 11 como salida ANALOGA del servomotor, paleta
de salida
pinMode(12, INPUT); // declaramos pin 12 como entrada para sensor infrarojo, para
servomotor de salida estacionamiento
void loop()
{
estadoBotonIncremento = digitalRead(botonIncremento);
if(estadoBotonIncremento !=estadoBotonAnteriorIncremento) {
if(antirebote(botonIncremento)) {
cuenta++;
if(cuenta >1) {
cuenta;
estadoBotonAnteriorIncremento = estadoBotonIncremento;
estadoBotonDecremento = digitalRead(botonDecremento);
if(estadoBotonDecremento !=estadoBotonAnteriorDecremento) {
if(antirebote(botonDecremento)) {
cuenta--;
if(cuenta -1){
cuenta };
estadoBotonAnteriorDecremento = estadoBotonDecremento;
actualizarNumero();
if ( sensorEntrada == HIGH){
servoEntrada.write(90);
delay(500);
}
if ( sensorSalida == HIGH){
servoSalida.write(90);
delay(500);
if (sensorEntrada == LOW){
servoEntrada.write(0);
delay(500);
if (sensorSalida == LOW){
servoSalida.write(0);
delay(500);
}}}