Διασύνδεση αισθητήρα LDR με Arduino Nano

Diasyndese Aisthetera Ldr Me Arduino Nano



Το Light Dependent Resistor έχει μια τεράστια εφαρμογή σε έργα που εξαρτώνται από το φως. Με τη βοήθεια ενός μικροελεγκτή όπως το Arduino Nano, το LDR μπορεί να χρησιμοποιηθεί για τον έλεγχο διαφόρων συσκευών με βάση το επίπεδο έντασης φωτός. Αυτός ο οδηγός καλύπτει τα βασικά του LDR και τις εφαρμογές του με το Arduino Nano.

Τα περιεχόμενα αυτού του άρθρου περιλαμβάνουν:







1: Εισαγωγή στον αισθητήρα LDR



2: Εφαρμογές LDR με Arduino Nano



3: Διασύνδεση LDR με Arduino Nano





συμπέρασμα

1: Εισαγωγή στον αισθητήρα LDR

ΕΝΑ μεγάλο δεξιά ρε εξαρτημένη R Ο esistor (LDR) είναι ένας τύπος αντίστασης που αλλάζει την αντίστασή του με βάση την ένταση του φωτός στο οποίο εκτίθεται. Στο σκοτάδι η αντίστασή του είναι πολύ υψηλή, ενώ στο έντονο φως η αντίστασή του είναι πολύ χαμηλή. Αυτή η αλλαγή στην αντίσταση καθιστά το καλύτερο για έργα ανίχνευσης φωτός.




Το LDR δίνει αναλογική τάση εξόδου που θα διαβαστεί από το Arduino ADC στις αναλογικές ακίδες. Ο ακροδέκτης αναλογικής εισόδου στο Arduino χρησιμοποιεί ένα ADC για να μετατρέψει την αναλογική τάση από το LDR σε ψηφιακή τιμή. Το ADC έχει εύρος από 0 έως 1023, με το 0 να αντιπροσωπεύει το 0V και το 1023 να αντιπροσωπεύει τη μέγιστη τάση εισόδου (συνήθως 5 V για το Arduino).

Το Arduino θα διαβάσει τις αναλογικές τιμές χρησιμοποιώντας το analogRead() λειτουργία στον κώδικά σας. Η συνάρτηση analogRead() παίρνει τον αριθμό της αναλογικής εισόδου ως όρισμα και επιστρέφει την ψηφιακή τιμή.


Τα φωτόνια ή τα σωματίδια φωτός παίζουν καθοριστικό ρόλο στη λειτουργία των LDR. Όταν το φως πέφτει στην επιφάνεια ενός LDR, τα φωτόνια απορροφώνται από το υλικό, το οποίο στη συνέχεια ελευθερώνει ηλεκτρόνια στο υλικό. Ο αριθμός των ελεύθερων ηλεκτρονίων είναι ευθέως ανάλογος με την ένταση του φωτός και όσο περισσότερα ηλεκτρόνια απελευθερώνονται, τόσο μικρότερη γίνεται η αντίσταση του LDR.

2: Εφαρμογές LDR με Arduino Nano

Ακολουθεί η λίστα με μερικές κοινές εφαρμογές του LDR με το Arduino:

    • Αυτόματος έλεγχος φωτισμού
    • Διακόπτης που ενεργοποιείται με φως
    • Ένδειξη στάθμης φωτός
    • Νυχτερινή λειτουργία σε συσκευές
    • Συστήματα ασφαλείας με βάση το φως

3: Διασύνδεση LDR με Arduino Nano

Για να χρησιμοποιήσετε ένα LDR με το Arduino Nano, πρέπει να δημιουργηθεί ένα απλό κύκλωμα. Το κύκλωμα αποτελείται από το LDR, μια αντίσταση και το Arduino Nano. Το LDR και η αντίσταση συνδέονται σε σειρά, με το LDR συνδεδεμένο στην αναλογική ακίδα εισόδου του Arduino Nano. Ένα LED θα προστεθεί στο κύκλωμα που μπορεί να ελέγξει τη λειτουργία του LDR.

3.1: Σχηματική

Η παρακάτω εικόνα είναι το σχηματικό του Arduino Nano με αισθητήρα LDR.

3.2: Κωδ

Μόλις ρυθμιστεί το κύκλωμα, το επόμενο βήμα είναι να γράψετε τον κώδικα για το Arduino Nano. Ο κωδικός θα διαβάσει την αναλογική είσοδο από το LDR και θα τον χρησιμοποιήσει για τον έλεγχο ενός LED ή άλλης συσκευής με βάση διαφορετικά επίπεδα φωτισμού.

int LDR_Val = 0 ; /* Μεταβλητή για αποθήκευση της τιμής της φωτοαντίστασης */
αισθητήρας int =A0; /* Αναλογική καρφίτσα Για φωτοαντίσταση */
ενθ οδήγησε = 12 ; /* Πείρο εξόδου LED */
ρύθμιση κενού ( ) {
Serial.begin ( 9600 ) ; /* Ρυθμός Baud Για σειριακή επικοινωνία */
    pinMode ( led, OUTPUT ) ; /* Πείρο LED σειρά όπως και παραγωγή */
}
κενό βρόχο ( ) {
LDR_Val = αναλογικήΑνάγνωση ( αισθητήρας ) ; /* Αναλογικό ανάγνωση Τιμή LDR */
Σειρά.εκτύπωση ( 'Τιμή εξόδου LDR: ' ) ;
Serial.println ( LDR_Val ) ; /* Εμφάνιση LDR Output Val σε σειριακή οθόνη */
αν ( LDR_Val > 100 ) { /* Εάν η ένταση του φωτός είναι ΥΨΗΛΗ */
Serial.println ( ' Μεγάλη ένταση ' ) ;
digitalWrite ( led, LOW ) ; /* Η λυχνία LED παραμένει σβηστή */
}
αλλού {
/* Αλλού αν Η ένταση του φωτός είναι ΧΑΜΗΛΗ Η λυχνία LED θα παραμείνει αναμμένη */
Serial.println ( 'ΧΑΜΗΛΗ ΈΝΤΑΣΗ' ) ;
digitalWrite ( led, ΥΨΗΛΟ ) ; /* LED Turn ON Η τιμή LDR είναι πιο λιγο από 100 */
}
καθυστέρηση ( 1000 ) ; /* Διαβάζει αξία μετά από κάθε 1 δευτ */
}


Στον παραπάνω κώδικα χρησιμοποιούμε ένα LDR με Arduino Nano που θα ελέγχει το LED χρησιμοποιώντας την αναλογική είσοδο που προέρχεται από το LDR.

Οι τρεις πρώτες γραμμές κώδικα δηλώνουν μεταβλητές για την αποθήκευση του τιμή φωτοαντίστασης , ο αναλογική ακίδα για τη φωτοαντίσταση και το LED ακίδα εξόδου.

Στο εγκατάσταση () λειτουργία, η σειριακή επικοινωνία ξεκινά με ρυθμό baud 9600 και η ακίδα LED D12 έχει οριστεί ως έξοδος.

Στο βρόχος() συνάρτηση, η τιμή της φωτοαντίστασης διαβάζεται χρησιμοποιώντας τη συνάρτηση analogRead(), η οποία είναι αποθηκευμένη στο LDR_Val μεταβλητός. Στη συνέχεια, η τιμή της φωτοαντίστασης εμφανίζεται στη σειριακή οθόνη χρησιμοποιώντας τη συνάρτηση Serial.println().

Ενα αν-αλλιώς Η δήλωση χρησιμοποιείται για τον έλεγχο του LED με βάση την ένταση φωτός που ανιχνεύεται από τη φωτοαντίσταση. Εάν η τιμή της φωτοαντίστασης είναι μεγαλύτερη από 100, σημαίνει ότι η ένταση φωτός είναι ΥΨΗΛΗ και η λυχνία LED παραμένει σβηστή. Ωστόσο, εάν η τιμή της φωτοαντίστασης είναι μικρότερη ή ίση με 100, σημαίνει ότι η ένταση φωτός είναι ΧΑΜΗΛΗ και η λυχνία LED ανάβει.

Τέλος, το πρόγραμμα περιμένει για 1 δευτερόλεπτο χρησιμοποιώντας τη συνάρτηση delay() πριν διαβάσει ξανά την τιμή της φωτοαντίστασης. Αυτός ο κύκλος επαναλαμβάνεται επ' αόριστον, κάνοντας το LED να ανάβει και να σβήνει με βάση την ένταση φωτός που ανιχνεύεται από τη φωτοαντίσταση.

3.3: Έξοδος κάτω από Dim Light

Η ένταση φωτός είναι μικρότερη από 100, επομένως το LED θα παραμείνει αναμμένο.

3.4: Έξοδος υπό Bright Light

Καθώς αυξάνεται η ένταση του φωτός, η τιμή LDR θα αυξηθεί και η αντίσταση LDR θα μειωθεί, οπότε το LED θα σβήσει.

συμπέρασμα

Το LDR μπορεί να συνδεθεί με το Arduino Nano χρησιμοποιώντας αναλογικό pin. Η έξοδος LDR μπορεί να ελέγξει την αίσθηση φωτός σε διάφορες εφαρμογές. Είτε χρησιμοποιείται για αυτόματο έλεγχο φωτισμού, συστήματα ασφαλείας με βάση το φως ή απλώς για ένδειξη στάθμης φωτός, το LDR και το Arduino Nano μπορούν να συνδεθούν για να δημιουργήσουν έργα που ανταποκρίνονται στις αλλαγές στην ένταση του φωτός.