Está en la página 1de 3

Andres Mauricio Tamayo

PRE-LABORATORIO

1. Leer el cdigo de Arduino en el Apndice A y determinar que funcin


lgica implementa. Explicar cmo podra acelerar la velocidad en la cual la
funcin es ejecutada.
/*
Implements a two variable truth table
*/
// initialize pin 4 as an output
// (it's not necessary to initialize input pins)
void setup()
{
pinMode(4, OUTPUT);
}
// the loop routine runs over and over
void loop()
{
// read the input pins
int A = digitalRead(2);
int B = digitalRead(3);
// determine output value
int Z = !(A || B)
// write to output pin
digitalWrite(4, Z)
delay(1000);
}
Este cdigo implementa un operador lgico || OR pero debido a que se
antepone ( ! ) lo cual me indica que me est negando este operador
podemos decir que tenemos un NOR con la siguiente tabla de verdad.

ENTRAD
AS
SALIDA
A
B
Z
0
0
1
0
1
0
1
0
0
1
1
0
Solamente cuando la entrada en A y B es decir los pines 2 y 3 estn en bajo
( 0V) la salida en el pin 4 se activara, para combinaciones o valores
diferentes en los pines 2 y 3 esta salida en 4 ser (0v)
Se podra realizar una sumatoria de productos en donde obtendramos
eliminando los ceros

B ) + ( AB ) + ( AB

) +( AB)
z=( A
Donde solo obtendramos

Andres Mauricio Tamayo

B )
Z =( A
Con lo cual podramos remplazar esto en el cdigo

Z=! A! B
2. Escribir un programa en Arduino para leer dos valores analgicos, para
luego prender (o apagar) un pin I/O dependiendo si la primera entrada
analgica esta en alto o bajo que la segunda entrada analgica.

Como primera medida se define La tabla de verdad del cdigo que se


pretende implementar Este busca que se active la salida nicamente
cuando la entrada A esta en alto y la entrada B este en bajo para los dems
valores la salida permanece desactivada.
ENTRADA SALIDA
S
A
B
Z
0
0
0
0
1
0
1
0
1
1
1
0
Para simplificar esto a la hora de realizar el cdigo realizamos una sumatoria
de productos para eliminar los ceros:

B ) + ( AB ) + ( AB

) +( AB)
z=( A
en donde para el cdigo se implementara Int Z= !A*B
/*
Implements a two variable truth table
*/
// initialize pin 4 as an output
// (it's not necessary to initialize input pins)
void setup()
{
pinMode(4, OUTPUT);
}
// the loop routine runs over and over
void loop()
{
// read the input pins
int A = digitalRead(2);
int B = digitalRead(3);
// determine output value
int Z = !A*B
// write to output pin

Andres Mauricio Tamayo


digitalWrite(4, Z)
delay(1000);
}

También podría gustarte