- Απαιτούμενο υλικό:
- Ενότητα αισθητήρα IR:
- Διάγραμμα κυκλώματος και επεξήγηση:
- Προγραμματισμός του Raspberry Pi:
- Εργαζόμενος:
Όπως όλοι γνωρίζουμε, το Raspberry Pi είναι μια υπέροχη πλατφόρμα ανάπτυξης με βάση τον μικροεπεξεργαστή ARM Με την υψηλή υπολογιστική του δύναμη μπορεί να επιτελέσει θαύματα στα χόμπι ηλεκτρονικών ή μαθητές. Όλα αυτά μπορούν να γίνουν μόνο αν ξέρουμε πώς να το κάνουμε να αλληλεπιδρά με τον πραγματικό κόσμο. Υπάρχουν πολλοί αισθητήρες που μπορούν να ανιχνεύσουν συγκεκριμένες παραμέτρους από τον πραγματικό κόσμο και να τον μεταφέρουν σε έναν ψηφιακό κόσμο. Έχουμε καλύψει πολλά έργα Raspberry Pi με πολλούς αισθητήρες. Το Raspberry Pi είναι επίσης ένα πλεονέκτημα για έργα IoT, καθώς είναι ένας υπολογιστής με μέγεθος τσέπης με ενσωματωμένο Wi-Fi, με δυνατότητες μικροελεγκτή.
Σε αυτό το σεμινάριο θα μάθουμε πώς μπορούμε να διασυνδέσουμε έναν αισθητήρα υπερύθρων με Raspberry pi. Αυτοί οι αισθητήρες χρησιμοποιούνται συνήθως σε μικρά ρομπότ, όπως ρομπότ ακολούθων γραμμών, ρομπότ αποφυγής Edge κ.λπ. Με απλά λόγια, μπορεί να ανιχνεύσει την παρουσία αντικειμένων πριν από αυτό και επίσης να διαφοροποιήσει το λευκό και το μαύρο χρώμα. Ακούγεται δροσερό, σωστά;
Ας μάθουμε λοιπόν πώς να συνδέσουμε αυτόν τον αισθητήρα με το Raspberry Pi. Σε αυτό το έργο, όταν δεν υπάρχει αντικείμενο μπροστά από τον αισθητήρα υπερύθρων, τότε το κόκκινο LED παραμένει αναμμένο και μόλις βάλουμε κάτι μπροστά από τον αισθητήρα υπερύθρων, τότε το κόκκινο LED σβήνει και το πράσινο LED ανάβει. Αυτό το κύκλωμα μπορεί επίσης να χρησιμεύσει ως κύκλωμα συναγερμού ασφαλείας.
Απαιτούμενο υλικό:
- Raspberry Pi 3 (οποιοδήποτε μοντέλο)
- Μονάδα αισθητήρα IR
- Πράσινα και κόκκινα φώτα LED
- Ψωμί
- Σύνδεση καλωδίων
Ενότητα αισθητήρα IR:
Οι αισθητήρες υπερύθρων (αισθητήρες υπερύθρων) είναι μονάδες που ανιχνεύουν την παρουσία αντικειμένων πριν από αυτά. Εάν το αντικείμενο υπάρχει, δίνει 3.3V ως έξοδο και αν δεν είναι παρόν, δίνει 0 volt. Αυτό γίνεται εφικτό με τη χρήση ενός ζεύγους IR (πομπός και δέκτη), ο πομπός (IR LED) θα εκπέμπει μια ακτίνα IR που θα ανακλάται εάν υπάρχει κάποιο αντικείμενο πριν από αυτό. Αυτή η ακτίνα IR θα ληφθεί πίσω από τον δέκτη (Photodiode) και η έξοδος θα γίνει υψηλή μετά την ενίσχυση χρησιμοποιώντας έναν σύνδεσμο op-amp LM358. Μπορείτε να μάθετε περισσότερα για το κύκλωμα μονάδας αισθητήρα IR εδώ.
Ο αισθητήρας IR που χρησιμοποιείται σε αυτό το έργο φαίνεται παραπάνω. Όπως όλοι οι αισθητήρες IR έχει τρεις ακίδες που είναι 5V, Gnd και Out αντίστοιχα. Η μονάδα τροφοδοτείται από τον πείρο 5V από το Raspberry Pi και ο πείρος εξόδου είναι συνδεδεμένος στο GPIO14 του Raspberry Pi. Το ποτενσιόμετρο στο πάνω μέρος της μονάδας μπορεί να χρησιμοποιηθεί για τη ρύθμιση της εμβέλειας του αισθητήρα IR.
Διάγραμμα κυκλώματος και επεξήγηση:
Το διάγραμμα κυκλώματος για τη σύνδεση του Raspberry Pi με τον αισθητήρα IR φαίνεται παρακάτω. Όπως μπορείτε να δείτε, το διάγραμμα κυκλώματος είναι πολύ απλό. Έχουμε τροφοδοτήσει απευθείας τη μονάδα IR από το 5V και το Ground Pin του Raspberry Pi. Ο πείρος εξόδου της μονάδας IR συνδέεται με το GPIO14. Έχουμε χρησιμοποιήσει επίσης δύο LED (πράσινο και κόκκινο) για να δείξουμε την κατάσταση του αντικειμένου. Αυτά τα δύο LED συνδέονται στα GPIO3 και GPIO2 αντίστοιχα.
Δεδομένου ότι οι ακίδες GPIO του Raspberry Pi είναι 3.3V, δεν είναι υποχρεωτική η τρέχουσα περιοριστική αντίσταση. Ωστόσο, εάν είναι επιθυμητό, μπορεί να προστεθεί αντίσταση αξίας 470 ohms μεταξύ του πείρου γείωσης των LED και του Raspberry Pi. Όλο το κύκλωμα τροφοδοτείται από έναν φορτιστή 5V μέσω της θύρας micro USB του Raspberry pi
Σημείωση: Κατά τη σύνδεση οποιουδήποτε αισθητήρα, βεβαιωθείτε ότι η γείωση του αισθητήρα είναι συνδεδεμένη με τη γείωση του MCU ή του MPU (εδώ Raspberry Pi). Μόνο τότε θα μπορούν να επικοινωνούν.
Προγραμματισμός του Raspberry Pi:
Εδώ χρησιμοποιούμε τη γλώσσα προγραμματισμού Python για τον προγραμματισμό RPi. Υπάρχουν πολλοί τρόποι προγραμματισμού του Raspberry Pi. Σε αυτό το σεμινάριο χρησιμοποιούμε το Python 3 IDE, καθώς είναι το πιο χρησιμοποιημένο. Το πλήρες πρόγραμμα Python δίνεται στο τέλος αυτού του σεμιναρίου. Μάθετε περισσότερα για το Πρόγραμμα και τον κώδικα εκτέλεσης στο Raspberry Pi εδώ.
Θα μιλήσουμε για λίγες εντολές που πρόκειται να χρησιμοποιήσουμε στο πρόγραμμα PYHTON,
Πρόκειται να εισαγάγουμε αρχείο GPIO από τη βιβλιοθήκη, η παρακάτω λειτουργία μας επιτρέπει να προγραμματίζουμε τις καρφίτσες GPIO του PI. Μετονομάζουμε επίσης "GPIO" σε "IO", οπότε στο πρόγραμμα όποτε θέλουμε να αναφερθούμε στις καρφίτσες GPIO θα χρησιμοποιήσουμε τη λέξη "IO".
εισαγάγετε RPi.GPIO ως IO
Μερικές φορές, όταν οι ακίδες GPIO, τις οποίες προσπαθούμε να χρησιμοποιήσουμε, μπορεί να κάνουν κάποιες άλλες λειτουργίες. Σε αυτήν την περίπτωση, θα λάβουμε προειδοποιήσεις κατά την εκτέλεση του προγράμματος. Η παρακάτω εντολή λέει στο PI να αγνοήσει τις προειδοποιήσεις και να συνεχίσει το πρόγραμμα.
IO.setwarnings (Λάθος)
Μπορούμε να παραπέμψουμε τους ακροδέκτες GPIO του PI, είτε με τον αριθμό καρφίτσας επί του σκάφους είτε με τον αριθμό λειτουργίας τους. Όπως το «PIN 29» στον πίνακα είναι «GPIO5». Λοιπόν, λέμε εδώ ότι θα αντιπροσωπεύσουμε το pin εδώ με «29» ή «5».
IO.setmode (IO.BCM)
Ορίζουμε 3 ακίδες ως καρφίτσες εισόδου / εξόδου. Οι δύο ακίδες εξόδου θα ελέγχουν το LED και ο ακροδέκτης εισόδου θα διαβάσει σήμα από τον αισθητήρα υπερύθρων.
IO.setup (2, IO.OUT) #GPIO 2 -> Κόκκινο LED ως έξοδος IO.setup (3, IO.OUT) #GPIO 3 -> Πράσινο LED ως έξοδος IO.setup (14, IO.IN) #GPIO 14 -> Αισθητήρας IR ως είσοδος
Τώρα πρέπει να σβήσουμε το πράσινο LED και να ανάψουμε το κόκκινο LED όταν το αντικείμενο είναι μακριά. Αυτό μπορεί να γίνει ελέγχοντας τον ακροδέκτη GPIO14.
if (IO.input (14) == True): #object είναι πολύ μακριά IO.output (2, True) #Red led ON IO.output (3, False) # Green led OFF
Ομοίως, πρέπει να ανάψουμε το πράσινο LED και να σβήσουμε το κόκκινο LED όταν το αντικείμενο είναι κοντά.
if (IO.input (14) == False): #object είναι κοντά στο IO.output (3, True) #Green led ON IO.output (2, False) # Red led OFF
Η παρακάτω εντολή χρησιμοποιείται ως βρόχος για πάντα, με αυτήν την εντολή οι δηλώσεις μέσα σε αυτόν τον βρόχο θα εκτελούνται συνεχώς.
Ενώ 1:
Εργαζόμενος:
Μόλις δημιουργήσετε τον κωδικό python, εκτελέστε τον χρησιμοποιώντας την εντολή run. Εάν το πρόγραμμα εκτελείται χωρίς σφάλματα, θα πρέπει να εμφανιστεί η ακόλουθη οθόνη.
Θα πρέπει επίσης να δείτε το κόκκινο χρώμα LED να πηγαίνει ψηλά όταν δεν υπάρχει αντικείμενο μπροστά από τον αισθητήρα όπως φαίνεται παρακάτω.
Τώρα, φέρτε κάτι κοντά στο LED και θα πρέπει να παρατηρήσετε ότι το κόκκινο LED σβήνει και το πράσινο ανάβει. Πλήρης εργασία μπορείτε να βρείτε στο παρακάτω βίντεο.
Ελπίζω να καταλάβατε το έργο και να μπορούσατε να δημιουργήσετε κάτι χρήσιμο με αυτό. Εάν υπάρχουν ερωτήσεις, δημοσιεύστε τα στην ενότητα σχολίων παρακάτω ή στο φόρουμ.