You are on page 1of 2

#include <EEPROM.

h>
int num1,num2;
int pin1,pin2;
void dis1(byte uni){
digitalWrite(10, (uni&1)==1);
digitalWrite(11, (uni&2)==2);
digitalWrite(12, (uni&4)==4);
digitalWrite(13, (uni&8)==8);
}
void dis2(byte uni){
digitalWrite(6, (uni&1)==1);
digitalWrite(7, (uni&2)==2);
digitalWrite(8, (uni&4)==4);
digitalWrite(9, (uni&8)==8);
}
void setup(){
Serial.begin(9600);
pinMode(2,INPUT);
pinMode(3,INPUT);
pinMode(4,INPUT);
pinMode(5,OUTPUT);
for(pin1=10; pin1<=13;pin1++)
{pinMode(pin1,OUTPUT);}
for(pin2=6; pin2<=9;pin2++)
{pinMode(pin2,OUTPUT);}
digitalWrite(5,HIGH);
}
void loop(){
int ans=0;
if (Serial.available()>0){
delay(500);
num1= Serial.read()-48;
delay(50);
num2= Serial.read()-48;
if ((num1 >= 0 && num1 <= 9) && (num2 >= 0 && num2 <= 9)){
//Suma
if(digitalRead(2)==1){
ans=num1+num2;
//respuesta en binario
if(ans>=10){
dis1(1);
dis2(ans-10);
}
else{
dis2(ans);
}
Serial.println(ans);
}
//Resta
if(digitalRead(3)==1){
if(num1<num2){
digitalWrite(5,LOW);
ans=num1-num2;
Serial.println(ans);
ans=-1*ans;

}
else{
digitalWrite(5,HIGH);
ans=num1-num2;
Serial.println(ans);
}
dis2(ans);
}
// Multiplicacion
if(digitalRead(4)==1){
ans=num1*num2;
dis2(ans%10);
dis1(ans/10);
Serial.println(ans);
}
}
}
}

You might also like