Go Down

Topic: Como guardar datos obtenidos por un sensor RGB? (Read 74 times) previous topic - next topic

danielgaviria23

Hola, estoy trabajando en mi proyecto de grado y quiero guardar los datos que me genera un sensor RGB en una matriz o algo, con el fin de caracterizarlo, y luego poder llamarlos por el nombre que les he puesto, por ejemplo:
el sensor RGB me entrega 3 variables para cada lectura que hace de un color cualquiera (color X), de manera que en el serial.print yo visualizo el valor de cada una de las 3 variables para cada color X. Así:


Supongamos que se lee un color1:


Serial print:

R=2500   G=3000  B=1500


Y otro color2 me lo muestra el serialprint:

R=1000  G=2300  B=1250

Entonces yo quiero guardar esos datos para cada color para luego llamarlos o tenerlos ahí guardados para caracterizarlo, con el fin de que cuando se obtenga esa lectura en el sensor el programa me diga es el Color1 o Color2 o el ColorX que tenga guardado, entonces quiero que me quede

(R=2500   G=3000  B=1500) esto es igual a Color1

(R=1000  G=2300  B=1250) guardar esto como Color2

y asi sucesivamente para cada color que se guarde



Lucario448

Primero: aparte de los valores RGB, ¿hay algo más que deba almacenar?
Segundo: ¿es solo para el momento de ejecución (se borran al reinicio) o debe ser persistente (se mantienen aún después del reinicio)?

danielgaviria23

únicamente esas tres variables significativas para cada color y me interesa para el momento de ejecución del programa. gracias

Lucario448

En ese caso define un tipo de dato que contenga los tres colores primarios:
Code: [Select]
typedef struct {
  unsigned int red;
  unsigned int green;
  unsigned int blue;
} Color;


Luego crea un vector de este tipo de dato:
Code: [Select]
Color paleta[10];

Así, puedes leer o modificar individualmente los valores RGB de cada Color; conservando la conveniencia de los vectores:
Code: [Select]
Serial.print(paleta[i].red);
paleta[i].blue = newBlue;





PD: Cada elemento Color ocupa 6 bytes en memoria RAM, así que tómalo en cuenta al definir el tamaño del vector y no quedarte sin suficiente espacio.

Go Up