Πίνακας περιεχομένων:

Κυκλώματα Raspberry Pi GPIO: Χρήση αναλογικού αισθητήρα LDR χωρίς ADC (μετατροπέας αναλογικού σε ψηφιακό): 4 βήματα
Κυκλώματα Raspberry Pi GPIO: Χρήση αναλογικού αισθητήρα LDR χωρίς ADC (μετατροπέας αναλογικού σε ψηφιακό): 4 βήματα

Βίντεο: Κυκλώματα Raspberry Pi GPIO: Χρήση αναλογικού αισθητήρα LDR χωρίς ADC (μετατροπέας αναλογικού σε ψηφιακό): 4 βήματα

Βίντεο: Κυκλώματα Raspberry Pi GPIO: Χρήση αναλογικού αισθητήρα LDR χωρίς ADC (μετατροπέας αναλογικού σε ψηφιακό): 4 βήματα
Βίντεο: Raspberry Pi Tutorial: LED (Greek) 2024, Νοέμβριος
Anonim
Κυκλώματα Raspberry Pi GPIO: Χρήση αναλογικού αισθητήρα LDR χωρίς ADC (μετατροπέας αναλογικού σε ψηφιακό)
Κυκλώματα Raspberry Pi GPIO: Χρήση αναλογικού αισθητήρα LDR χωρίς ADC (μετατροπέας αναλογικού σε ψηφιακό)

Στις προηγούμενες οδηγίες μας, σας δείξαμε πώς μπορείτε να συνδέσετε τις καρφίτσες GPIO του Raspberry Pi με LED και διακόπτες και πώς οι καρφίτσες GPIO μπορεί να είναι Υψηλές ή Χαμηλές. Τι γίνεται όμως αν θέλετε να χρησιμοποιήσετε το Raspberry Pi με έναν αναλογικό αισθητήρα;

Εάν θέλουμε να χρησιμοποιήσουμε αναλογικούς αισθητήρες με το Raspberry Pi, θα πρέπει να είμαστε σε θέση να μετρήσουμε την αντίσταση του αισθητήρα. Σε αντίθεση με το Arduino, οι ακίδες GPIO του Raspberry Pi δεν μπορούν να μετρήσουν την αντίσταση και μπορούν να αντιληφθούν μόνο εάν η τάση που τους παρέχεται είναι πάνω από μια ορισμένη τάση (περίπου 2 βολτ). Για να ξεπεράσετε αυτό το ζήτημα, μπορείτε να χρησιμοποιήσετε έναν Μετατροπέα Αναλογικού σε ηφιακό (ADC) ή αντ 'αυτού να χρησιμοποιήσετε έναν σχετικά φθηνό πυκνωτή.

Αυτό το Instructable θα σας δείξει πώς μπορεί να γίνει αυτό.

Βήμα 1: Τι θα χρειαστείτε

Αυτό που θα χρειαστείτε
Αυτό που θα χρειαστείτε
Αυτό που θα χρειαστείτε
Αυτό που θα χρειαστείτε
Αυτό που θα χρειαστείτε
Αυτό που θα χρειαστείτε
Αυτό που θα χρειαστείτε
Αυτό που θα χρειαστείτε

- Ένα RaspberryPi με ήδη εγκατεστημένο το Raspbian. Θα χρειαστεί επίσης να έχετε πρόσβαση στο Pi χρησιμοποιώντας οθόνη, ποντίκι και πληκτρολόγιο ή μέσω απομακρυσμένης επιφάνειας εργασίας. Μπορείτε να χρησιμοποιήσετε οποιοδήποτε μοντέλο Raspberry Pi. Εάν διαθέτετε ένα από τα μοντέλα Pi Zero, μπορεί να θέλετε να κολλήσετε μερικές καρφίτσες κεφαλίδας στη θύρα GPIO.

- Μια αντίσταση εξαρτώμενη από το φως (επίσης γνωστή ως LDR ή Photoresistor)

- Κεραμικός πυκνωτής 1 uF

- Ένα Solderless Prototyping Breadboard

- Μερικά καλώδια από άνδρες έως γυναίκες

Βήμα 2: Δημιουργήστε το κύκλωμά σας

Δημιουργήστε το κύκλωμά σας
Δημιουργήστε το κύκλωμά σας
Δημιουργήστε το κύκλωμά σας
Δημιουργήστε το κύκλωμά σας

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

Αφού ελέγξετε το κύκλωμά σας, συνδέστε τα καλώδια βραχυκυκλωτή στις ακίδες GPIO του Raspberry Pi ακολουθώντας το παραπάνω διάγραμμα.

Βήμα 3: Δημιουργήστε ένα σενάριο Python για να διαβάσετε την αντίσταση που εξαρτάται από το φως

Δημιουργήστε ένα σενάριο Python για να διαβάσετε την αντίσταση που εξαρτάται από το φως
Δημιουργήστε ένα σενάριο Python για να διαβάσετε την αντίσταση που εξαρτάται από το φως

Θα γράψουμε τώρα ένα σύντομο σενάριο που θα διαβάζει και θα εμφανίζει την αντίσταση του LDR χρησιμοποιώντας την Python.

Στο Raspberry Pi, ανοίξτε το IDLE (Μενού> Προγραμματισμός> Python 2 (IDLE)). Ανοίξτε ένα νέο έργο μεταβείτε στο Αρχείο> Νέο αρχείο. Στη συνέχεια, πληκτρολογήστε (ή αντιγράψτε και επικολλήστε) τον ακόλουθο κώδικα:

εισαγωγή RPi. GPIO ως GPIOimport timempin = 17 tpin = 27 GPIO.setmode (GPIO. BCM) cap = 0.000001 adj = 2.130620985i = 0 t = 0 while True: GPIO.setup (mpin, GPIO. OUT) GPIO.setup (tpin, GPIO. OUT) GPIO.output (mpin, False) GPIO.output (tpin, False) time.sleep (0.2) GPIO.setup (mpin, GPIO. IN) time.sleep (0.2) GPIO.output (tpin, True) ώρα έναρξης = ώρα adj i = i+1 t = t+res αν i == 10: t = t/i print (t) i = 0 t = 0

Αποθηκεύστε το έργο σας ως lightsensor.py (Αρχείο> Αποθήκευση ως) στο φάκελο Έγγραφα.

Τώρα ανοίξτε το Τερματικό (Μενού> Αξεσουάρ> Τερματικό) και πληκτρολογήστε την ακόλουθη εντολή:

python lightsensor.py

Το Raspberry Pi θα εμφανίζει επανειλημμένα την αντίσταση του φωτοαντιστάτη. Εάν τοποθετήσετε το δάχτυλό σας πάνω από τη φωτοαντίσταση, η αντίσταση θα αυξηθεί. Εάν λάμπετε έντονο φως στη φωτοαντίσταση, η αντίσταση θα μειωθεί. Μπορείτε να διακόψετε την εκτέλεση αυτού του προγράμματος πατώντας CTRL+Z.

Βήμα 4: Πώς λειτουργεί

Καθώς ο πυκνωτής φορτίζεται σταδιακά, η τάση που διέρχεται από το κύκλωμα και στον πείρο GPIO αυξάνεται. Μόλις ο πυκνωτής φορτιστεί σε ένα συγκεκριμένο σημείο, η τάση του ανεβαίνει πάνω από τα 2 βολτ και το Raspberry Pi θα αισθανθεί ότι ο ακροδέκτης GPIO 13 είναι Υ HIGHΟΣ.

Εάν αυξηθεί η αντίσταση του αισθητήρα, ο πυκνωτής θα φορτιστεί πιο αργά και το κύκλωμα θα πάρει περισσότερο χρόνο για να φτάσει τα 2 βολτ.

Το παραπάνω σενάριο ουσιαστικά υπολογίζει πόσο χρόνο χρειάζεται για να γυρίσει η ακίδα 13 σε υψηλή θέση και στη συνέχεια χρησιμοποιεί αυτήν τη μέτρηση για να υπολογίσει την αντίσταση του Φωτοαντιστάτη.

Συνιστάται: