Variare colore led con potenziometro

Salve, in attesa dei led rgb per costruire il sensore di colore mi stavo trastullando con alcuni led bicolore che avevo acquistato tempo fa.
Con un potenziometro da 1k riesco a variare l'intensità del led, ma volevo variare, ruotando il potenziometro, il colore del led, dal verde all'arancio al rosso.
Ho provato a far accoppiare alcuni codici ma senza risultato...
avete qualche idea? so che dev'essere molto semplice, ma non ci arrivo proprio :frowning:

int sensorPin[]={x,y};
int sensorValue[] = {0,0};
int led_pin[]={a,b};
void setup()
{
for(int i=0;i<2;i++){
  pinMode(led_pin[i], OUTPUT);
    }
  }

void loop()
{
  for(int i=0;i<2;i++){
   sensorValue[i] = analogRead(sensorPin[i]);
   analogWrite(led_pin[i], sensorValue[i]);
  }
}

questa è la porzione di un codice che avevo scritto per far variare il colore di un rgb con 3 potenziometri... spero di averlo modificato bene per il tuo caso... Devi solo cambiare x,y e a,b con i numeri giusti, salvo errori di stanchezza :smiley: se vuoi ti posto il programma completo domani.

Avevo messo anche un display lcd e ci scrivevo le varie tonalità.

Quello con i tre potenziometri l'ho visto nel playground, ma non è il mio caso :frowning:
Non che mi occorrano anche le varie sfumature, però era per passare il tempo :slight_smile:

Grazie mille per ora, gioco un po' col tuo codice e vediamo cosa esce ^^

io non l'avevo visto nel playground, ci ho perso una giornata perchè non conoscevo la funzione analogWrite :frowning:

Edit
comunque ti aggiungo il codice completo :smiley:

#include <LiquidCrystal.h>
int sensorPin[]={0,1,2};
int sensorValue[] = {0,0,0};
const int led_pin[]={7,8,9};
const int numRows = 2;
const int numCols = 16;

LiquidCrystal lcd(12, 11, 10, 5, 4, 3, 2);

void setup()
{
for(int i=0;i<3;i++){
  pinMode(led_pin[i], OUTPUT);
    }
     lcd.begin(numRows, numCols);

}

void loop()
{
  for(int a=0;a<3;a++){
   sensorValue[a] = analogRead(sensorPin[a]);
   sensorValue[a] = map(sensorValue[a], 0, 1023, 255, 0);
  }
   int thisCol = 0;
   int thisRow = 0;
   lcd.setCursor(thisCol,thisRow);
   lcd.print(" R   G   B");
   thisRow = 1;
   lcd.setCursor(thisCol,thisRow);
      
  for(int i=0;i<3;i++){
  
   if(sensorValue[i]<100){
       lcd.print(" ");
       lcd.print(sensorValue[i]);
       lcd.print("|");   
     }
     if(sensorValue[i]>100) {
       lcd.print(sensorValue[i]);
       lcd.print("|");   
     }
   }
  for(int i=0;i<3;i++){
   analogWrite(led_pin[i], sensorValue[i]);
  }
  
  delay(10);    
   lcd.clear();
}