Error en concatenación de números - Concatenating error numbers

Hola, tengo un proyecto donde por medio de cuatro switches ingreso cuatro veces números de 4 bits, el ingreso del numero se hace bien pero al momento de concatenarlos no lo hace adecuadamente, despues de esto debo decir si es par o impar y si es primo o no es primo. Estoy utilizando una intel galileo.

Este es el codigo:

Gracias de antemano por la aydua.

Hi, I have a project where by four switches income four times 4-bit numbers, income of the number done well but when concatenate not done properly, after this I must say if is odd or even and if is prime or it is not prime. I am using a Galilean intel.

This is the code:

Thank you for the help.

float pushButton;
int voltaje=7;
float numero1;
float numero2;
float numero3;
float numero4;
float numero5;
int n1;
int n2;
int n3;
int n4;
int si;

int nu1;
int nu2;
int nu3;
int nu4;

int cont=0;
int cont1=1;
int SumTotal=0;

int acum=0;

int buttonState;

int lastButtonState;


void setup() 
{
  Serial.begin(9600);
  pinMode(voltaje, OUTPUT);
}


void loop() 
{
 
  digitalWrite(voltaje, HIGH);
  pushButton=analogRead(A0); 
  numero1=analogRead(A1);
  numero2=analogRead(A2);
  numero3=analogRead(A3);
  numero4=analogRead(A4);
  
   if (pushButton>=1022){
  buttonState = 100;
  }
  else{
  buttonState = 0;
  }
  
  if (buttonState != lastButtonState) {
  if (pushButton >=100) {
      cont=cont+1; //incremento del contador 
       Serial.println(cont);     
    }
  else {
      
    }
    delay(50); 
  }
  if (pushButton>=1022){
  lastButtonState = 100;
  }
  else{lastButtonState = 0;}

  
  if (pushButton<1022)
  {
    si=0;
  }
  else
  {
    si=1;
  }
  
              if (numero1<1022)
              {
                n1=0;
              }
              else
              {
                n1=1;
              }
              
              if (numero2<1022)
              {
                n2=0;
              }
              else
              {
                n2=1;
              }
              
              if (numero3<1022)
              {
                n3=0;
              }
              else
              {
                n3=1;
              }
              
              if (numero4<1022)
              {
                n4=0;
              }
              else
              {
                n4=1;
              }
  delay (100);
  if (si==1)
  {
       nu1=n1;
        nu2=n2;
       nu3=n3;
        nu4=n4; 
  n1= n1*8;
  n2= n2*4;
  n3= n3*2;
  
  Serial.println("prueba n1");
  Serial.println(n1);
  Serial.println("prueba n2");
  Serial.println(n2);
  Serial.println("prueba n3");
  Serial.println(n3);
  Serial.println("prueba n4");
  Serial.println(n4);
  
  
  }
  
  if ((n1+n2+n3+n4>9) && cont==1 ) {
    Serial.println("error");
    delay(100);
  }   
 //  else{
  if ((n1+n2+n3+n4<=9) && cont==1 ) {
    nu1= 1000*(n1+n2+n3+n4); 
    Serial.println("prueba nu1");
  Serial.println(nu1);
  
  
    delay(10); 
     
    
  }
   // }
  if ((n1+n2+n3+n4>9) && cont==2 ) {
    Serial.println("error");
    delay(10);
  }
   // else{
  if ((n1+n2+n3+n4<=9) && cont==2 ) {
    nu2= 100*(n1+n2+n3+n4);
    Serial.println("prueba nu2");
  Serial.println(nu2);
  Serial.println("prueba Xxxxxxxxx");
  int x = nu1 +nu2 ;
    delay(10); 
   
    
  }
   // }
  if ((n1+n2+n3+n4>9) && cont==3 ) {
    Serial.println("error");
    delay(10);
  }
    //else{
  if ((n1+n2+n3+n4<=9) && cont==3 ) {
    nu3= (n1+n2+n3+n4)*10;  
   Serial.println("prueba nu3");
  Serial.println(nu3); 
   Serial.println("prueba Xxxxxxxxx");
  int x = nu1 +  nu2 +nu3;
    delay(10);
    
  }
    //}
  if ((n1+n2+n3+n4>9) && cont==4 ) {
    Serial.println("error");
    delay (10);
  }
//}
//else{
  if ((n1+n2+n3+n4<=9) && cont==4 ) {
    nu4= n1+n2+n3+n4; 
    Serial.println("prueba nu4");
  Serial.println(nu4);
    delay(10); 
   Serial.println("prueba Xxxxxxxxx");
  int x = nu1 +  nu2 +nu3;
    SumTotal=SumTotal+nu4 ;      
      
    Serial.println("El numero ingresado es "); 
    Serial.println(SumTotal);
    }
 //}
  if (SumTotal %2 ==0 && cont==4){
    Serial.println("El numero es par");
  }
  else {
    if (SumTotal %2 != 0 && cont==4){
      Serial.println("El numero no es par");
    }
  }
  
while (cont1 <= SumTotal && cont==4 && acum<=2){

  if ( SumTotal % cont1 ==0 ) {
  
    acum+=1 ;
    
  }
  
  cont1+=1 ;
  
}

if (acum != 2 && cont==4) {
  
  Serial.println("El numero  no es primo");
}

else {
  if (acum == 2 && cont==4){
  
  Serial.println("El numero es primo");
}
}
}

Please edit your post, select the code, and put it between [code][/code] tags.

You can do that by hitting the “Code” button above the posting area (It looks like a scroll with < > inside it).

Make up your mind what language you are asking the question in, thanks.

float pushButton;

What the f**k?

PaulS:

float pushButton;

What the f**k?

It's a push-button connected to a pin with no pull-ups or pull-downs :grinning:

It's a push-button connected to a pin with no pull-ups or pull-downs :smiley:

Of course. How could I have missed anything so obvious?

I am using a Galilean intel.

What is that?