Nota
Ciao, benvenuto nella Community SunFounder Raspberry Pi & Arduino & ESP32 su Facebook! Approfondisci le tue conoscenze su Raspberry Pi, Arduino ed ESP32 insieme ad altri appassionati.
Perché unirti?
Supporto Esperto: Risolvi problemi post-vendita e sfide tecniche con l’aiuto della nostra community e del nostro team.
Impara & Condividi: Scambia suggerimenti e tutorial per migliorare le tue abilità.
Anteprime Esclusive: Ottieni accesso anticipato ai nuovi annunci di prodotti e anteprime.
Sconti Speciali: Approfitta di sconti esclusivi sui nostri prodotti più recenti.
Promozioni Festive e Omaggi: Partecipa a promozioni e omaggi durante le festività.
👉 Pronto a esplorare e creare con noi? Clicca su [Qui] e unisciti oggi!
6.1 Array Sensibile alla Luce¶
Un fotoresistore o fotocellula è una resistenza variabile controllata dalla luce. La resistenza di un fotoresistore diminuisce all’aumentare dell’intensità della luce incidente; in altre parole, esso esibisce fotoconduttività. Un fotoresistore può essere utilizzato in circuiti di rilevamento della luce e in circuiti di attivazione tramite luce o buio.
La resistenza di un fotoresistore varia con l’intensità della luce incidente. Se l’intensità luminosa aumenta, la resistenza diminuisce; se l’intensità diminuisce, la resistenza aumenta. In questo esperimento, useremo otto LED per mostrare l’intensità luminosa. Più alta è l’intensità della luce, più LED si accenderanno. Quando l’intensità luminosa sarà sufficiente, tutti i LED saranno accesi. Quando non ci sarà luce, tutti i LED si spegneranno.
Componenti Necessari
In questo progetto, abbiamo bisogno dei seguenti componenti.
È sicuramente conveniente acquistare un intero kit, ecco il link:
Nome |
ELEMENTI IN QUESTO KIT |
LINK |
|---|---|---|
3 in 1 Starter Kit |
380+ |
Puoi anche acquistarli separatamente dai link qui sotto.
INTRODUZIONE AI COMPONENTI |
LINK PER L’ACQUISTO |
|---|---|
Schema Elettrico
Collegamenti
Codice
Nota
Apri il file
6.1.light_control_led.inonel percorso3in1-kit\basic_project\6.1.light_control_led.Oppure copia questo codice nell”Arduino IDE.
Oppure carica il codice tramite il Arduino Web Editor.
Ora, punta una luce sul fotoresistore e vedrai accendersi alcuni LED. Più intensa è la luce, più LED si accenderanno. Quando lo metti in un ambiente buio, tutti i LED si spegneranno.
Come funziona?
void loop()
{
sensorValue = analogRead(photocellPin); //read the value of A0
ledLevel = map(sensorValue, 300, 1023, 0, NbrLEDs); // map to the number of LEDs
for (int led = 0; led < NbrLEDs; led++)//
{
if (led < ledLevel ) //When led is smaller than ledLevel, run the following code.
{
digitalWrite(ledPins[led], HIGH); // turn on pins less than the level
}
else
{
digitalWrite(ledPins[led],LOW); // turn off pins higher than
}
}
}
Utilizzando la funzione map(), puoi mappare il valore del fotoresistore sui 8 LED, ad esempio, se sensorValue è 560, allora ledLevel è 4, quindi a questo punto, i ledPins[0] fino a ledPins[4] dovrebbero essere accesi, e i ledPins[5] fino a ledPins[7] dovrebbero essere spenti.