Arreglo de datos?

Hola!

Tengo una duda, espero me puedan ayudar.

Supongamos que tengo un sensor "x", puede ser de lo que sea.

Este me estará arrojando datos, por así decirlo, cada 50ms.

Y cuento con 3 variables x1, x2 y x3. Donde x1 va a ser el valor del sensor a los 50ms, x2 a los 100ms y x3 a los 150ms.

Mi duda es: ¿Cómo le asigno dichos valores a las variables?, además, el sensor seguirá tomando valores cada 50ms, entonces al tomar el próximo valor. Mi x1 será a los 100, el x2 a los 150 y x3 a los 200ms y así sucesivamente.

Creo que se hace mediante un arreglo de datos, he ahí la razón del nombre del post. Pero no estoy seguro xD!

Un saludo!

Si, estas en lo correcto, lo indicado es utilizar un arreglo (array).

Saludos

Ya lo conseguí amigo, en efecto fue con un array xD

Dejo el codigo:

#include "SR04.h"
#include "math.h"
#define TRIG_PIN 12
#define ECHO_PIN 11

SR04 sr04 = SR04(ECHO_PIN,TRIG_PIN);

int vol;
int dist;
int values[3];
int index = 0;
String arreglo = "";
unsigned long t = millis();
int x1;
int x2;
int x3;

void setup() {
   Serial.begin(9600);
   delay(1000);
}

void loop() {
  
  if (millis() - t >= 5000)
  {
    
    dist = sr04.Distance();
    values[index++] = dist;
    Serial.println(dist);
    t = millis();
    
    if (index >= 3)
    {
      index = 1;
      x1 = values[0];
      x2 = values[1];
      x3 = values[2];
      Serial.print(x1) + Serial.print("/") + Serial.print(x2) + Serial.print("/") + Serial.println(x3);
      values[0] = values [2];
    }
  }
}

Los Serial.print son para cuestion de "pruebas" para ver si si hacia lo esperado. Y el tiempo lo alargue a 5segundos para poder intercalar entre distancias y corroborar.

Adjunto imagen del funcionamiento:

1 Like