You are on page 1of 5

5.

ALGORITMO DE PROGRMACION inicio

PIN,LECTURA,CUENTA

PIN(2.6)SALIDA

PIN (6.7)ENTRADA

1
1 SEGN DATO
1

LECTURA=0 LECTURA=1 LECTURA=2 LECTURA=3

2 3

CUENTA=0 CUENTA=9
PIN 2-6 LOW
1

CUENTA=CUENTA+1 CUENTA=CUENTA-1

MOSTRAR MOSTRAR
CUENTA CUENTA

1 LECTURA=0
LECTURA=0 1

2 CUENTA=9 CUENTA=0 3
1.OBJETIVO

Realizar un programa en arduino que genere contadores up y down hasta 9 mediante el


comando de un dip switch. El dip switch generara combianciones de 0 y 1, los cuales son
leidos por la placa arduino en decimal estos cdigos van del 0 al 3. Dependiendo de las
posiciones del dip switch generara un cintador down , up, cero en todos los leds y por ultimo
se detiene la cuenta.

2. MATERIALES

01 Dip switch
4 leds de color rojo
Resistencias de330 ohms
Protoboard
10 cables macho macho

3. PROCEDIMIENTO

RO R1 ACCION
0 0 Pausa
0 1 Mod 10 down
1 0 Mod 10 down
1 1 Borrado

4. ESQUEMA
6. PROGRAMA EN ARDUINO

byte pin,lectura,cuenta;

void setup()

{ for(pin=2;pin<6;pin++)

{ pinMode(pin,OUTPUT);

for(pin=6;pin<8;pin++)

{ pinMode(pin,INPUT);

void loop()

{ borrar:

for(pin=2;pin<6;pin++)}

digitalWrite(pin,LOW); }

pregunta:

for(pin=6;pin<8;pin++)

{ bitWrite(lectura,pin-6,digitalRead(pin)); }

switch (lectura)

case 0:

goto pregunta

break;

case 1:

for(cuenta=0;cuenta<10;cuenta++)

senso:

for(pin=6;pin<8;pin++)

{bitWrite(lectura,pin-6,digitalRead(pin)); }}
switch (lectura)

case 0:

goto senso;

break;

case 1:

goto continua;

break;

default:

goto pregunta;

continua:

for(pin=2;pin<6;pin++)

{digitalWrite(pin, bitRead(cuenta,pin-2));}

delay(1000);}

break;

case 2: // cuenta 1 down

for(cuenta=9;cuenta>0;cuenta--)

{ senso2:

for(pin=6;pin<8;pin++)}

{ bitWrite(lectura,pin-6,digitalRead(pin)); }

switch (lectura)

case 0:

goto senso2;

break;
case 2:

goto continua2;

break;

default:

goto pregunta;

continua2:

// escritura

for(pin=5;pin>=2;pin--)

{ digitalWrite(pin, bitRead(cuenta,pin-2)); }

delay(1000);}

//cero

pin=2;

digitalWrite(pin,bitRead(0,pin-2));

delay(1000);

break;

case 3:

goto borrar;

break;

You might also like