Salve, ho deciso di aprire un 3d ufficiale per il sensore di colore auocostruito che sto cercando di realizzare. Il principio si basa sulla luce riflessa da una superficie colpita da una sorgente luminosa avente tre diversi colori (almeno all'inizio) e una fotoresistenza inserita in un semplice partitore con una resistenza da 1k.
Ecco il codice:
int redled = 2; // RGB rosso collegato al pin 2
int greenled = 3; // RGB verde collegato al pin 3
int blueled = 4; // RGB blu collegato al pin 4
int lightread = 0; // fotoresistenza collegata all'entrata analogica 0
void setup() {
Serial.begin(9600);
pinMode(redled, OUTPUT);
pinMode(greenled, OUTPUT);
pinMode(blueled, OUTPUT);
}
void loop() {
lightread = analogRead (0);
digitalWrite(redled, LOW); //spegne tutti i led
digitalWrite(greenled, LOW); //spegne tutti i led
digitalWrite(blueled, LOW); //spegne tutti i led
delay(500);
digitalWrite(redled, HIGH);
delay(500);
Serial.print("R= ");
Serial.println(lightread);
delay(500);
digitalWrite(redled, LOW);
digitalWrite(greenled, HIGH);
delay(500);
Serial.print("G= ");
Serial.println(lightread);
delay(500);
digitalWrite(greenled, LOW);
digitalWrite(blueled, HIGH);
delay(500);
Serial.print("B= ");
Serial.println(lightread);
Serial.println("-");
delay(500);
}
ll problema è che così facendo mi restituisce sulla seriale lo stesso valore per ogni lettura, in ogni ciclo, mentre vorrei che ogni lettura restituisse il valore necessario. E il mio primo programmino serio, abbiate pietà di me
Grazie