Ardumotive Arduino Greek Playground
  • Home
    • About us
    • License
  • Arduino
    • Tutorials
    • Workshop
  • Raspberry Pi
  • DIY 3D Printer
  • News
    • Events >
      • Unboxing & Review
    • Blog
The 1st Arduino Playground in Greece - Open Source Hardware

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

Available Languages
Picture
Picture

Εισαγωγή

Picture
Η φωτοαντίσταση είναι μια μεταβλητή αντίσταση η τιμή της οποίας αλλάζει ανάλογα με το φως που πέφτει πάνω σε αυτή. Τη φωτοαντίσταση τη συναντάμε σε κυκλώματα τα οποία θέλουν με κάποιο τρόπο να αναγνωρίσουν αν το περιβάλλον είναι φωτεινό ή σκοτεινό. Για παράδειγμα λάμπες που ανάβουν αυτόματα σε χαμηλό φωτισμό. 
Στον οδηγό αυτό θα μάθετε να χρησιμοποιείτε μια φωτοαντίσταση με και χωρίς το Arduino uno.

Πως λειτουργεί η φωτοαντίσταση

Picture
Ας δούμε πως μια φωτοαντίσταση αντιδρά στο φως. Κατασκευάστε το παραπάνω κύκλωμα και παρατηρήστε πως αλλάζει η φωτεινότητα του led ανάλογα τον φωτισμό. Η τιμή της αντίστασης μικραίνει όταν στον χώρο υπάρχει πολύς φωτισμός, με αποτέλεσμα το led να είναι πολύ φωτεινό. Αντίθετα, η τιμή της αντίστασης μεγαλώνει όσο μικραίνει ο φωτισμός, με αποτέλεσμα το led να σβήνει στο σκοτάδι.  
Στη συνέχεια θα δούμε πως μπορούμε να αντιστρέψουμε την κατάσταση αυτή με την χρήση του Arduino.

Τα υλικά που θα χρειαστούμε

Για το tutorial αυτό θα χρειαστούμε:
  • Arduino uno
  • Breadboard
  • Φωτοαντίσταση
  • LED
  • 220 Ω και 10 KΩ αντιστάσεις

Το κύκλωμα

Picture
Οι συνδέσεις είναι αρκετά εύκολες, δείτε την παραπάνω εικόνα με το σχηματικό του κυκλώματος σε breadboard.

Ο κώδικας

Ο κώδικας για το "led & photoresistor" βρίσκεται παρακάτω.
Πως λειτουργεί ο κώδικας:
  • Διαβάζουμε την αναλογική τιμή απ΄ την φωτοαντίσταση (0-1023)
    -> value=analogRead(pResistor)
  • Έλεγχος τιμής αν είναι μεγαλύτερη απο π.χ. 25
  • Ενεργοποίηση/απενεργοποίηση του led ανάλογα 
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
/* Use a photoresistor (or photocell) to turn on an LED in the dark
   More info and circuit schematic: http://www.ardumotive.com/how-to-use-a-photoresistor-en.html
   Dev: Michalis Vasilakis // Date: 8/6/2015 // www.ardumotive.com */
   

//Constants
const int pResistor = A0; // Photoresistor at Arduino analog pin A0
const int ledPin=9;       // 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)
}

void loop(){
  value = analogRead(pResistor);
  
  //You can change value "25"
  if (value > 25){
    digitalWrite(ledPin, LOW);  //Turn led off
  }
  else{
    digitalWrite(ledPin, HIGH); //Turn led on
  }

  delay(500); //Small delay
}
Κατεβάστε τον κώδικα απ' εδώ και ανοίξτε το αρχείο με το Arduino IDE.
photoresistor_tutorial.zip
File Size: 0 kb
File Type: zip
Download File

Μπορείτε να κάνετε τις δικές σας παρεμβάσεις στον κώδικα πατώντας δοκιμάστε για παράδειγμα να αλλάξετε την τιμή "25" και παρατηρήστε πως αυτό αλλάζει το πρόγραμμα.

Συγχαρητήρια!

Μόλις ολοκληρώσατε άλλο ένα "How to" tutorial και μάθατε πως να χρησιμοποιείτε την φωτοαντίσταση.
Ελπίζω να σας άρεσε, αν θέλετε μπορείτε να αφήσετε το σχόλιο σας παρακάτω.
Picture

Search Engine

Picture

Licence 

Picture

Help us to grow up!

Picture


Donate us
About us
License
Cookies policy

Visit the biggest Arduino Shop in Greece!

Picture
find us on dwrean.net
find us on Codebender
find us on Instructables
Developed and designed by Vasilakis Michalis Copyright © 2013 Ardumotive All Rights Reserved
All trademarks referenced herein are properties of their
Powered by Create your own unique website with customizable templates.
Design by DivTag Templates