Questa pagina è dedicata a tutti i progetti che si possono realizzare con le fotoresistenze.
Il collegamento sulla breadboard è il seguente:
Lo sketch da utilizzare è il seguente:
int luminosita;
int ledPin = 10;
void setup()
{Serial.begin(9600);
Serial.println("--- VALORI LUMINOSITA' ---");
Serial.println();
}
void loop()
{luminosita = analogRead(A0); //Lettura della luminosità dal pin A0
luminosita = luminosita/4; //Adeguamento del valore della luminosità
analogWrite(ledPin,luminosita); //Inserimento del valore letto dal pin A0 al led
if (Serial.available())
{Serial.print(luminosita);
Serial.println();
}
delay(100);
}
Una pagina interessante da vedere è:
* * * * *
Lo sketch può anche essere scritto più semplicemente così:
int sensorPin = A0;
int sensorValue = 0;
int sensorValue = 0;
void setup()
{
Serial.begin(9600);
}
{
Serial.begin(9600);
}
void loop()
{
sensorValue = analogRead(sensorPin);
Serial.println(sensorValue);
delay(100);
}
{
sensorValue = analogRead(sensorPin);
Serial.println(sensorValue);
delay(100);
}
* * * * *
Altro schema di collegamento:
* * * * *
Questo invece è il montaggio della fotoresistenza con un led; appena la luce diminuisce il led si accende e viceversa.
Lo sketch è il seguente:
int led = 8;
void setup()
{
Serial.begin(9600);
}
Serial.begin(9600);
}
void loop()
{
int v = analogRead(A0);
Serial.println(v);
{
int v = analogRead(A0);
Serial.println(v);
if (v > 90)
{
digitalWrite(led, HIGH);
}
else
{
digitalWrite(led, LOW);
}
delay(500);
}
{
digitalWrite(led, HIGH);
}
else
{
digitalWrite(led, LOW);
}
delay(500);
}
* * * * *
Una ulteriore modifica possibile è quella di inserire un buzzer (sul pin 10) che suonerà quando la luminosità ambientale diminuirà. Lo sketch è questo:
int led = 8;
void setup()
{
Serial.begin(9600);
}
Serial.begin(9600);
}
void loop()
{
int v = analogRead(A0);
Serial.println(v);
{
int v = analogRead(A0);
Serial.println(v);
if (v > 90)
{
digitalWrite(led, HIGH);
tone(10, 1000, 500);
}
else
{
digitalWrite(led, LOW);
noTone(10);
}
delay(500);
}
{
digitalWrite(led, HIGH);
tone(10, 1000, 500);
}
else
{
digitalWrite(led, LOW);
noTone(10);
}
delay(500);
}
Nessun commento:
Posta un commento