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!
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.