Richiamare variabile da una libreria

ook cercherò di esser il più chiaro possibile vi posto anche i mie file di programmazione per risolvere questo quesito.

Allora io nel mio software .cpp ho ricreato questo software per far calcolare al arduino dei valori per visualizzarli sul mio diodo led RGB, in pratica faccio fare 6 cicli for che tramite tre variabili diverse(r,g,b) calcolino dei valori analoghi e casuali per un ciclo casuale. io queste tre variabili numeriche devo visualizzarle sul sistema principale per dar poi la funzione analogWrite(rosso, r); dato che la classe in libreria dovrebbe continuare a calcolare io in ogni momento che desidero vedere il mio colore diverso basterebbe soltanto dargli un comando di tipo analogWrite e la variabile che ogni volta sara sempre diversa

questi sono i codici cpp.

#include "RGB.h"

#define FADESPEED 1 // DEFINIRE LA VELOCITA DI CAMBIAMENTO COLORE LAMPADA IN mS
#define REDPIN 5
#define GREENPIN 6
#define BLUEPIN 3
int r, g, b; // VARIABILI INTERNE r,g,b;
int rossorandom;
int verderandom;
int blurandom;

void RGB::ledrosso (void){ // INIZIO FUNZIONE DI CICLI VOID SETUP

pinMode(REDPIN, OUTPUT);
}

void RGB::ledverde (void){

pinMode(GREENPIN, OUTPUT);
}

void RGB::ledblu (void){

pinMode(BLUEPIN, OUTPUT);
}
// FINE FUNZIONE DI CICLI VOID SETUP

void RGB::cambio_colori(void){ // INIZIO CODICE DI CICLO PER CAMBIO COLORE

// fade from blue to violet
for (r = 0; r < 256; r++) {
delay(FADESPEED);
rossorandom = r;
blurandom = b;
verderandom = g;

}
// fade from violet to red
for (b = 255; b > 0; b--) {
delay(FADESPEED);
rossorandom = r;
blurandom = b;
verderandom = g;
}
// fade from red to yellow
for (g = 0; g < 256; g++) {
delay(FADESPEED);
rossorandom = r;
blurandom = b;
verderandom = g;
}
// fade from yellow to green
for (r = 255; r > 0; r--) {
delay(FADESPEED);
rossorandom = r;
blurandom = b;
verderandom = g;
}
// fade from green to teal
for (b = 0; b < 256; b++) {
delay(FADESPEED);
rossorandom = r;
blurandom = b;
verderandom = g;
}
// fade from teal to blue
for (g = 255; g > 0; g--) {
delay(FADESPEED);
rossorandom = r;
blurandom = b;
verderandom = g;
}

il file .h

#ifndef RGB_h
#define RGB_h
#include "Arduino.h"

class RGB
{

public:

void ledrosso (void);
void ledverde (void);
void ledblu (void);
void cambio_colori(void);
void variabili_colori(void);
byte REDPIN;
byte GREENPIN;
byte BLUEPIN;
int rossorandom;
int verderandom;
int blurandom;

};
#endif

ed in fine il file arduino

#include <RGB.h>
RGB rgb;

void setup()
{
rgb.ledrosso();
rgb.ledverde();
rgb.ledblu();

}

void loop()
{
rgb.cambio_colori();
analogWrite(REDPIN, rossorandom);
analogWrite(GREENPIN, verderandom);
analogWrite(BLUEPIN, blurandom);
}

perqualsiasi chiarimento chiedetemi pure grazie mille a tutti e buona domenica :slight_smile: