Dudas al programar ecuaciones en Arduino.

#1
Buenas. Antes que todo, estoy empezando en el mundo de la programación en arduino.

Necesito ayuda en esto:
Tengo 4 entradas en función a una salida.
Haciendo esto con la tabla de verdad, obtengo esta ecuación: r = A\'B+A\'C
PHP:
int Sp1 = 22; 
int Aut1 = 23;
int Sm1 = 24; 
int Bm1 = 25;

int a;
int b;
int c;
int d;
int r1;

int k1 = 26;


void setup() 
{  
  pinMode(Sp1,INPUT);
  pinMode(Aut1,INPUT); 
  pinMode(Sm1,INPUT);
  pinMode(Bm1,INPUT); 

        
  pinMode(k1,OUTPUT);  


 a = digitalRead(Sp1);
 b = digitalRead(Aut1);
 c = digitalRead(Sm1);
 d = digitalRead(Bm1); 

 
  }

void loop()
{          

r1 = a*!b+a*!c;

r1 = digitalWrite(K1,HIGH);//
}


}// Fin programa
Como pueden ver, hay errores en el código. r1 sería mi salida o "1" o un "0" para tener 5 V en k1.

Espero me puedan orientar.
 
Última edición por un moderador:
#2
Bueno te he hecho algunos cambios

Código:
const char Sp1 	= 22; 
const char Aut1 = 23;
const char Sm1 	= 24; 
const char Bm1 	= 25;
const char k1 	= 26;

int a, b, c, d, r1;


void setup() 
{  
	Serial.begin(9600);  // Inicializo el puerto Serie para monitoreo

	pinMode(Sp1,INPUT);
	pinMode(Aut1,INPUT); 
	pinMode(Sm1,INPUT);
	pinMode(Bm1,INPUT); 
       
	pinMode(k1,OUTPUT);  
}

void loop() {   
    char buffer[4];

	a = digitalRead(Sp1);
	b = digitalRead(Aut1);
	c = digitalRead(Sm1);
	d = digitalRead(Bm1);        

	r1 = (a & !b) | (a & !c);
	sprintf(buffer, "a=%x b=%x c=%x d=%x r1=%x", a, b, c, d, r1);
	Serial.println(buffer);

	digitalWrite(k1,HIGH);				// salida en K1
}// Fin programa
 

Temas similares

Arriba