Ayuda con código en arduino

Publicado en 'Programación' por almopo1, 8 Dic 2017.





  1. almopo1

    almopo1 Miembro frecuente

    Registro:
    20 Set 2016
    Mensajes:
    64
    Likes:
    0
    Temas:
    29




    Necesito hacer que el código tenga un limite de intentos, 5 exactamente, ademas necesito hacer que se encienda 5 leds para indicar el número de intentos y otros 5 leds para indicar que se ganó o perdió.

    Este es mi avance:

    Código:
    double aleatorio;
    
    int intentos;
    
    double numero_introducido;
    
    double math_random_int(int a,int b) {
      if (a > b) {
        int c = a;
        a = b;
        b = c;
      }
      return (double)random(a,b+1);
    }
    void setup()
    {
      randomSeed(analogRead(0));
      Serial.begin(9600);
    
        aleatorio = math_random_int(1, 10);
      intentos = 4;
      Serial.println(String("En que numero estoy pensando?"));
    
    }
    
    
    void loop()
    {
    
        if ((Serial.available()>0)) {
          numero_introducido = atof((Serial.readStringUntil('\n')).c_str());
          if ((aleatorio == numero_introducido)) {
            Serial.println(String("HAS ACERTADO"));
            while(true);
    
          } else {
            if ((aleatorio > numero_introducido)) {
              Serial.println(String("El numero que estoy pensado es mayor")+String(((intentos=intentos - (1)(" intentos")))));
    
            } else {
              Serial.println(String("El numero que estoy pensado es Menor")+String(((intentos=intentos - (1)(" intentos")))));
    
            }
    
          }
    
        }
    Necesito su ayuda por favor.

    Gracias.
     


  2. Acaelus

    Acaelus Miembro de bronce

    Registro:
    1 May 2016
    Mensajes:
    1,257
    Likes:
    222
    Temas:
    18
    Te falta acotar donde están los leds, y cuál sería tu método de introducción de los números?
     
  3. almopo1

    almopo1 Miembro frecuente

    Registro:
    20 Set 2016
    Mensajes:
    64
    Likes:
    0
    Temas:
    29
    Los leds pueden estar en cualquier parte, solo que divididos en 5, 5 para indicar el numero de intentos y los otros 5 para indicar si se ganó o perdió, y pues sobre la introducción de números es por puerto serial, espero que me puedas ayudar, gracias.
     
  4. Acaelus

    Acaelus Miembro de bronce

    Registro:
    1 May 2016
    Mensajes:
    1,257
    Likes:
    222
    Temas:
    18
    No es cuestión de los leds pueden estar en cualquier parte, es cuestión de hacerle saber al arduino cómo prender los leds y que pines están usando
     
  5. gnox

    gnox Miembro de bronce

    Registro:
    3 Ene 2013
    Mensajes:
    2,288
    Likes:
    910
    Temas:
    79
    Ese "while (true);" :stop:, tienes que sacarlo afuera y darle condición de repetición , asi como esta estas dejando un loop infinito, seria algo como :
    Código:
    void loop()
    {
      int cnt = 0;
      while (cnt < intentos) {
           /* .. lo que quieras que se repita */
          cnt++;
       }
    }
    
     
  6. almopo1

    almopo1 Miembro frecuente

    Registro:
    20 Set 2016
    Mensajes:
    64
    Likes:
    0
    Temas:
    29
    Ese es el problema, no se como hacer que prendan...

    Gracias, lo tendrè en cuenta
     
  7. Acaelus

    Acaelus Miembro de bronce

    Registro:
    1 May 2016
    Mensajes:
    1,257
    Likes:
    222
    Temas:
    18
    te recomiendo que empieces a leer guías y a buscar proyectos similares