// --------------ACTIVIDAD ANN--------------
//Carolay Gutierrez, Valentina Herrera, Danilo Maldonado, Maria Perez y Andrea Vega.
#define pul_1 9
#define pul_2 8
#define ledOR 7
#define ledAND 6
#define ledNOR 5
#define ledNAND 4
//Función OR
float w0 = 0.20;
float w1 = 0.23;
float w2 = 0.27;
//Función AND
float w3 = 0.70;
float w4 = 0.48;
float w5 = 0.27;
//Función NOR
float w6 = -0.05;
float w7 = -0.27;
float w8 = -0.23;
//Función NAND
float w9 = -0.55;
float w10 = -0.52;
float w11 = -0.23;
double bias = -1;
//float t_apren = 0.25;
//int fun_act = 0;
void setup(){
Serial.begin(9600);
}
void loop (){
bool estado1 = digitalRead(pul_1);
bool estado2 = digitalRead(pul_2);
bool x1 = estado1;
bool x2 = estado2;
//Declaración de variable de resultados
float resultado_OR = ((bias*w0) + (x1*w1) + (x2*w2));
float resultado_AND = ((bias*w3) + (x1*w4) + (x2*w5));
float resultado_NOR = ((bias*w6) + (x1*w7) + (x2*w8));
float resultado_NAND = ((bias*w9) + (x1*w10) + (x2*w11));
//Impresión de resultados
Serial.println(resultado_OR);
Serial.println(resultado_AND);
Serial.println(resultado_NOR);
Serial.println(resultado_NAND);
delay (500);
if(resultado_OR > 0 ){
digitalWrite(ledOR,1);
}else{
digitalWrite(ledOR,0);
}
if(resultado_AND > 0){
digitalWrite(ledAND,1);
}else{
digitalWrite(ledAND,0);
}
if(resultado_NOR > 0){
digitalWrite(ledNOR,1);
}else{
digitalWrite(ledNOR,0);
}
if(resultado_NAND > 0){
digitalWrite(ledNAND,1);
}else{
digitalWrite(ledNAND,0);
}
}