Usare una Fotoresistenza con Arduino

Un piccolo “snippet” di codice per utilizzare un fotoresistenza con Arduino.

Il codice è parzialmente tratto da:

Componenti

  • Una resistenza da 10K o una serie di resistenze per ottenere la stessa quantità (come ho fatto io)
  • Un fotoresistemnza (LDR, photoresistor…)
  • Un’interruttore (opzionale, inserito dal sottoscritto)
  • 3 fili ed una piastra per la prototipazione
  • ovviamente un Arduino sarebbe indicato averlo

Schema di collegamento

Codice

int photoRPin = A2;
int minLight;
int maxLight;
int lightLevel;
int adjustedLightLevel;
void setup() {
Serial.begin(9600);
//Setup the starting light level limits
lightLevel=analogRead(photoRPin);
minLight=lightLevel-20;
maxLight=lightLevel;
delay(500);
}
void loop(){
//auto-adjust the minimum and maximum limits in real time
lightLevel=analogRead(photoRPin);
if(minLight>lightLevel){
minLight=lightLevel;
Serial.print("new min: ");
Serial.print(minLight);
Serial.println(";");
}
if(maxLight<lightLevel){
maxLight=lightLevel;
Serial.print("new max: ");
Serial.print(maxLight);
Serial.println(";");
}
//Adjust the light level to produce a result between 0 and 100.
adjustedLightLevel = map(lightLevel, minLight, maxLight, 0, 100);
//Send the adjusted Light level result to Serial port (processing)
Serial.println(adjustedLightLevel);
//slow down the transmission for effective Serial communication.
delay(500);
}

Rispondi