Arduino e fotoresistenza

Posted by – 27 aprile 2010

Eccomi di nuovo online! :D Stasera ci occuperemo di collegare una comunissima fotoresistenza ad Arduino e in base alla luce presente si accenderà un Led. Sembra difficile? Non lo è per niente.
Per realizzare tutto ciò, in primis, diamo un’ occhiata ai collegamenti fisici da fare tra i vari componenti. La fotoresistenza e una resistenza da 1kOhm vanno collegati in serie. Fatto questo colleghiamo al piedino lontano dalla resitenza della fotoresistenza (scusate ma sembra un gioco di parole-.-) la 5V di Arduino e dal lato della resistenza colleghiamo il GND. Dopodichè dove il piedino della fotoresistenza è collegato alla resistenza, esattamente lì, colleghiamo al pin digitale 1. Poi ovviamente collegate un Led al pin 13 di Arduino. Posto il pdf di uno schemino fatto da me. Magari si capisce meglio va. :D Schemino collegamenti

E adesso veniamo al codice che spiegherò subito dopo:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
int light;
int ledPin = 13;
int photoresistor = 1;
 
void setup()
{
  Serial.begin(9600);
  pinMode(ledPin, OUTPUT);
}
 
void loop()
{
  light = analogRead(photoresistor);
  light = constrain(light, 970, 1023); //<-- il 970 potete cambiarlo 
  light = map(light, 970, 1023, 0, 255); //in base alle vostre "condizioni"
  analogWrite(ledPin, light);
  Serial.println(light);
}

In pratica tutto questo funziona così. La fotoresistenza, dalla “lettura analogica”, prende un valore tra 0 e 1023. Giocando con la quantità luce di che c’ era in stanza ho realizzato che avrei voluto che il Led si accendesse a 970. La funzione constrain è utilizzata in modo tale che solo i valori tra 970 e 1023 vengano presi in considerazione. In pratica se sono presenti altri valori non compresi in quel range la funzione resitituisce 0. La funzione map è usata per mappare questo valore (che sceglierete voi) ad un valore di PWN (che va da 0 a 255) in modo tale da far accendere il Led.

Benissimo provateci anche voi e per ogni dubbio o osservazione o quello che vi pare non esitate a contattarmi. Vi lascio con un video dimostrativo di tutto ciò. :D Alla prossimaaaaaa :D

3 Comments on Arduino e fotoresistenza

Respond | Trackback

  1. emmett scrive:

    Ciao intanto complimenti per il blog:D. volevo chiederti dove hai preso le varie componenti per arduino,sarei interessato a vedere quello che mi vine fuori se provo ad usarlo anch io:D se puoi, rispondimi sulla mia mail,grazie e ciao:D

  2. tonicooperi scrive:

    Ciao :) Ti ho inviato tutto per e-mail!
    Alla prossima

  3. carlo scrive:

    ciao , se dovessi farlo con 5 fotoresistenze, e le dovessi mettere su una basetta a diciamo 20cm da arduino , potrei portare un neutro e un +5v vicino alle fotoresistenze, collegarci un piede a 5v e l’altro alla resistenza + neutro? o è meglio portare 20 cm di filo fino all’arduino e fare il resto li?

    dici di mettere il contatto esattamente sull’intersezione tra resistenza e neutro , se la metti 1 cm più in la cambia qualcosa?(scusa la domanda forse scema)..
    se metto resistenze diverse su ogniuna delle fotoresistenze funziona lo stesso , o bisogna mettere da 1 k su tutte ?

    p.s. come li fai i disegni degli schemi?c’è qualche programma?

    grazie , ciao .

    carlo.

Respond

Comments

Comments


Switch to our mobile site