Controllare un led RGB con arduino

(deleted)

Rinominare le variabili? :o Ehm, scusa, ma penso che ci sia qualche confusione proprio su alcuni concetti di programmazione in generale, e di C in particolare... :smiley:
Cerco di spiegarmi.

L'errore te lo dà per via di istruzioni come questa:
RED = A;
Il simbolo "RED" assolutamente NON è una variabile, perché l'hai definita con una direttiva al compilatore:
#define RED 9
Dove il compilatore trova il simbolo "RED" lo sostituisce con 9 e quindi compila. Per cui quello che ti viene fuori con l'istruzione "RED = A;" è un ineseguibile "9 = A;" ossia stai assegnando il valore intero della variabile A al "numero 9"...

Ora rivederti tutto il codice (a quest'ora poi;-)) è un pochino pesante, ma se quelle per te devono essere variabili da passare ad una funzione, non ho capito, perché non imposti le variabili A, B eccetera, visto che sono queste che passi come parametro alla funzione?

Tra parentesi, la funzione la richiami così:
int A_to_B_to_A(A, B, VA, VB, VC); // richiamo la funzione
ma non ha molto senso...
Se la funzione restituisce un intero questo valore lo devi assegnare ad una variabile, ad esempio:
int valore = A_to_B_to_A(A, B, VA, VB, VC); // richiamo la funzione
E poi questa funzione non restituisce alcun valore, in quanto nella sua definizione non c'è alcuna istruzione "return": se non deve restituire nulla perché nella definizione non hai usato "void"?
Ossia:

void A_to_B_to_A(int A,int B,int VA,int VB,int VC) { ...eccetera..

Spero di averti chiarito un poco le idee e non avertele confuse..:wink:
Ciao!

Non usare i pin 0 e 1 perchè ci sta la seriale. Usa altri pin.
Ciao Uwe

(deleted)