Δευτέρα 6 Μαρτίου 2023

Φωτοαντίσταση - Arduino

 H τιμή μιας φωτοαντίστασης μεταβάλλεται με το φως. Δηλαδή όσο πέφτει φως πάνω της ελευθερώνονται ηλεκτρόνια, συνεπώς γίνεται πιο αγώγιμη, επομένως η τιμή της  (σε Ω)μειώνεται. Αυτό σημαίνει, φυσικά, ότι η τιμή του ρεύματος που την διαρρέει αυξάνει (Ι=V/R). Προφανώς η πτώση τάσης V στην φωτοαντίσταση  μειώνεται. Η πτώση τάσης στην κανονική αντίσταση, όμως, αυξάνεται, αφού η αντίσταση διαρρέεται από περισσότερο ρεύμα. 

Στο παρακάτω πρόβλημα στόχος είναι να δίνεται εντολή από το Arduino να ανάψει μία LED, όταν η τιμή του ρεύματος πέσει κάτω από μία τιμή.

Στο κύκλωμα ελέγχου βάζουμε μία φωτοαντίσταση και μία αντίσταση 10KΩ  σε σειρά.

  •  Το άκρο της φωτοαντίστασης συνδέεται με τα 5V  του Arduino.
  • Το κοινό άκρο αντίστασης και φωτοαντίστασης συνδέεται στην αναλογική είσοδο A0  του Arduino.
  • Το άκρο της αντίστασης συνδέεται με την γείωση.



Ο παρακάτω κώδικας δίνει εντολή να ανάψει η LED (συνδέστε κύκλωμα LED στο pin 3) όταν η τιμή που διαβάζει η αναλογική είσοδος A0 (αντιστοίχιση τάσης 0-5V σε αριθμό από 0 ως 1024) είναι μικρότερη από 200 (περίπου 0,97V). Μετράμε την πτώση τάσης στην κανονική αντίσταση.

Η τιμή 200 μπορεί να αλλάξει, αναλόγως τη φωτεινότητα που θέλουμε, παρακολουθώντας τις τιμές της σειριακής.


int presistor = A0; // Photoresistor at Arduino analog pin A0

 int ledPin=3;       // Led pin at Arduino pin 9

                                     

//Variables

int value;          // Store value from photoresistor (0-1023)


void setup(){

 pinMode(ledPin, OUTPUT);  // Set lepPin - 9 pin as an output

 pinMode(presistor, INPUT);// Set pResistor - A0 pin as an input (optional)

 Serial.begin(9600);

}


void loop(){

  value = analogRead(presistor);

  Serial.print(value);

  Serial.println();

  //You can change value "25"

  if (value > 200

  ){

    digitalWrite(ledPin, LOW);  //Turn led off

  }

  else{

    digitalWrite(ledPin, HIGH); //Turn led on

  }


  }


Δεν υπάρχουν σχόλια:

Δημοσίευση σχολίου

Σημείωση: Μόνο ένα μέλος αυτού του ιστολογίου μπορεί να αναρτήσει σχόλιο.