Go Down

Topic: Suma de valores enteros (Read 204 times) previous topic - next topic

RicardoMeraz821

Hola amigos, espero que estén muy bien.

El motivo de este foro es para pedir su ayuda, tengo que hacer un proyecto en arduino el cual trata de que el monitor serie pida el valor de una resistencia, lo guarde en una variable, pida el siguiente valor, lo guarde en otra variable y así sucesivamente hasta 5 valores, para posteriormente sumarlos e imprimir en el monitor serie el valor de la resistencia total, se que suena muy sencillo y hasta tonto que pregunte, pero he buscado y he hecho muchas pruebas y no encuentro como realizarlo, si alguien pudiera ayudarme ya sea explicandome o poniendome un ejemplo para poder hacerlo, se los agradeciria mucho.

Muchas gracias por su atención.

surbyte

Hola @RicardoMeraz821 bienvenido al foro Arduino, te invito a que leas las Normas del foro.
Además Proyectos tiene restricciones para postear, ya que solo se permiten trabajos terminados o por comenzar pero que involucran un verdadero trabajo de desarrollo con ayuda de los foreros de esta comunidad.
Lo que tu planteas es una consulta y mas que una consulta es una tarea escolar.

1er paso. Pide un dato e intenta leerlo. Cuando hablo de un dato, no me refiero a un solo caracter.
Luego hablamos de los otros 4.

RicardoMeraz821

#2
Nov 19, 2019, 06:12 am Last Edit: Nov 21, 2019, 02:32 pm by surbyte Reason: Agregado de etiqueta para códigos/errores
Gracias por responder.

Este el código que intente en un principio y no funciono, sigo haciendo pruebas y no encuentro la manera, si pudieran asesorarme lo agradecería mucho, gracias.
Code: [Select]

char opc, r1, r2, r3;
int R1, R2, R3, RT;

void setup() {
 // put your setup code here, to run once:

 Serial.begin(9600);

}

void loop() {
 // put your main code here, to run repeatedly:
 
 delay(2000);
 
 opc = Serial.read(); //Aquí si lee el valor que ingreso en el monitor serial
 
 switch(opc){
 
   case '1':
   
     Serial.println("Ingrese el valor de R1");
     
     r1 = Serial.read();
     
     R1 = r1 - 48; //Aquí no le importa si ingreso un valor o no, solo imprime los mensajes
     
     Serial.println("Ingrese el valor de R2");
     
     r2 = Serial.read();
     
     R2 = r2 - 48;
     
     Serial.println("Ingrese el valor de R3");
     
     r3 = Serial.read();
     
     R3 = r3 - 48;
     
     RT = R1 + R2 + R3;
     
     Serial.print("Su RT es de: ");
     Serial.println(RT);
   
   break;
   
   case '2':
   
     Serial.println("Ingrese el valor de R1");
     
     r1 = Serial.read();
     
     R1 = r1 - 48;
     
     Serial.println("Ingrese el valor de R2");
     
     r2 = Serial.read();
     
     R2 = r2 - 48;
     
     Serial.println("Ingrese el valor de R3");
     
     r3 = Serial.read();
     
     R3 = r3 - 48;
     
     RT = 1/((1/R1) + (1/R2) + (1/R3));
     
     Serial.print("Su RT es de: ");
     Serial.println(RT);
   
   break;
   
 
 }

}

surbyte

Que ocurre @RicardoMeraz821 con las advertencias que te he puesto por privado y aquí publicamente?
Lee las normas del foro (ver post#1) y edita tu código usando etiquetas!!
Se que eres nuevo pero pon un poco de atención a lo que se te solicita.
Los códigos no van como simple texto que copie y pegué, van con etiquetas de código.


En cuanto lea el código correctamente te responderé.

RicardoMeraz821

Gracias por las llamadas de atención, de ahora en adelante pondré mayor atención antes de hacer un post.

Aquí dejo el código en el formato correcto y espero me puedan ayudar, gracias, un saludo.
Code: [Select]

char opc, r1, r2, r3;
int R1, R2, R3, RT;

void setup() {
  // put your setup code here, to run once:

  Serial.begin(9600);

}

void loop() {
  // put your main code here, to run repeatedly:
 
  delay(2000);
 
  opc = Serial.read(); //Aquí si lee el valor que ingreso en el monitor serial
 
  switch(opc){
 
    case '1':
   
      Serial.println("Ingrese el valor de R1");
     
      r1 = Serial.read();
     
      R1 = r1 - 48; //Aquí no le importa si ingreso un valor o no, solo imprime los mensajes
     
      Serial.println("Ingrese el valor de R2");
     
      r2 = Serial.read();
     
      R2 = r2 - 48;
     
      Serial.println("Ingrese el valor de R3");
     
      r3 = Serial.read();
     
      R3 = r3 - 48;
     
      RT = R1 + R2 + R3;
     
      Serial.print("Su RT es de: ");
      Serial.println(RT);
   
    break;
   
    case '2':
   
      Serial.println("Ingrese el valor de R1");
     
      r1 = Serial.read();
     
      R1 = r1 - 48;
     
      Serial.println("Ingrese el valor de R2");
     
      r2 = Serial.read();
     
      R2 = r2 - 48;
     
      Serial.println("Ingrese el valor de R3");
     
      r3 = Serial.read();
     
      R3 = r3 - 48;
     
      RT = 1/((1/R1) + (1/R2) + (1/R3));
     
      Serial.print("Su RT es de: ");
      Serial.println(RT);
   
    break;
   
 
  }

}

Go Up