- Απαιτούμενα συστατικά:
- Ενότητα RF:
- Επεξήγηση εργασίας:
- Επεξήγηση κυκλώματος:
- Εγκατάσταση wiringPi Library στο Raspberry Pi:
- Επεξήγηση προγραμματισμού:
Σε αυτήν τη συνεδρία θα αναπτύξουμε ένα τηλεχειριστήριο RF χρησιμοποιώντας το Raspberry Pi, το οποίο μπορεί να χρησιμοποιηθεί για τον ασύρματο έλεγχο των συσκευών. Μπορούμε να ενεργοποιήσουμε και να απενεργοποιήσουμε τις συσκευές χρησιμοποιώντας αυτό το τηλεχειριστήριο RF. Έχουμε αναπτύξει προηγουμένως πολλά έργα χρησιμοποιώντας RF Module όπως RF Controlled Robot, Hand Gesture Controlled Robot κ.λπ., ελέγξτε τα για να κατανοήσετε τη λειτουργία του RF Module.
Απαιτούμενα συστατικά:
Πλευρά πομπού:
- Πομπός RF (ASK Hybrid Transmitter)
- HT12E IC
- 4 Πιέστε τα κουμπιά
- 750k αντίσταση
- Μπαταρία 9 Volt
Πλευρά δέκτη:
- Raspberry Pi
- LCD 16x2
- 10Κ ΔΟΧΕΙΟ
- Πίνακας ψωμιού
- Αντίσταση 1K (πέντε)
- 33Κ αντίσταση
- HT12D IC
- Δέκτης RF (Υβριδικός δέκτης ASK)
- LED (πέντε)
- 10Κ αντίσταση (τέσσερα)
- Καλώδιο σύνδεσης
- Παροχή ηλεκτρικού ρεύματος
Ενότητα RF:
Αυτή είναι μια μονάδα ASK Hybrid Transmitter και δέκτη που λειτουργεί με συχνότητα 433Mhz. Αυτή η μονάδα διαθέτει κρυσταλλικό σταθεροποιητή ταλαντωτή για διατήρηση ακριβούς ελέγχου συχνότητας για βέλτιστη εμβέλεια. Εκεί πρέπει να χρειαζόμαστε μόνο μία κεραία εξωτερικά για αυτήν την ενότητα.
Αυτή η ενότητα είναι πολύ οικονομικά αποδοτική όταν απαιτείται επικοινωνία RF μεγάλης εμβέλειας. Αυτή η ενότητα δεν αποστέλλει δεδομένα χρησιμοποιώντας την επικοινωνία UART του υπολογιστή ή του μικροελεγκτή απευθείας επειδή υπάρχει πολύς θόρυβος σε αυτήν τη συχνότητα και την αναλογική τεχνολογία της. Μπορούμε να χρησιμοποιήσουμε αυτή τη μονάδα με τη βοήθεια κωδικοποιητών και αποκωδικοποιητών που εξάγουν δεδομένα από το θόρυβο.
Το εύρος του πομπού είναι περίπου 100 μέτρα στη μέγιστη τάση τροφοδοσίας και για 5 βολτ το εύρος του πομπού είναι περίπου 50-60 μέτρα με τη χρήση ενός απλού σύρματος μίας κωδικής κεραίας μήκους 17 εκατοστών.
Χαρακτηριστικά πομπού RF:
- Εύρος συχνοτήτων: 433 Mhz
- Ισχύς εξόδου: 4-16dBm
- Παροχή εισόδου: 3 έως 12 volt dc
Καρφίτσα Περιγραφή RF Tx:
- GND - Παροχή εδάφους
- Data In - Αυτή η καρφίτσα δέχεται σειριακά δεδομένα από τον κωδικοποιητή
- Vcc - +5 Volt πρέπει να συνδεθεί σε αυτόν τον πείρο
- Κεραία - Μια τυλιγμένη σύνδεση σε αυτήν την καρφίτσα για σωστή μετάδοση δεδομένων
Χαρακτηριστικά δέκτη RF:
- Ευαισθησία: -105dBm
- Συχνότητα IF: 1MHz
- Χαμηλή κατανάλωση ενέργειας
- Τρέχουσα 3,5 mA
- Τάση τροφοδοσίας: 5 volt
Περιγραφή καρφίτσας RF Rx:
- GND - Έδαφος
- Data In - Αυτός ο πείρος δίνει σειριακά δεδομένα εξόδου στον αποκωδικοποιητή
- Data In - Αυτός ο πείρος δίνει σειριακά δεδομένα εξόδου στον αποκωδικοποιητή
- Vcc - +5 Volt πρέπει να συνδεθεί σε αυτόν τον πείρο
- Vcc - +5 Volt πρέπει να συνδεθεί σε αυτόν τον πείρο
- GND - Έδαφος
- GND - Έδαφος
- Κεραία - Μια τυλιγμένη σύνδεση σε αυτήν την καρφίτσα για σωστή λήψη δεδομένων
Επεξήγηση εργασίας:
Η εργασία αυτού του έργου είναι πολύ εύκολη. Σε αυτό το έργο χρησιμοποιήσαμε τέσσερα κουμπιά στην πλευρά του πομπού (χρησιμεύει ως απομακρυσμένο) για τον έλεγχο των τεσσάρων LED στο τέλος του δέκτη. Όταν πατάμε οποιοδήποτε από τα τέσσερα κουμπιά τότε το Encoder IC κωδικοποιεί το σήμα και το στέλνει στον πομπό RF και ο πομπός RF το μεταδίδει στο περιβάλλον. Τώρα ο δέκτης RF λαμβάνει το μεταδιδόμενο σήμα και το αποκωδικοποιεί χρησιμοποιώντας Decoder IC HT12D και στέλνει την έξοδο 4 bit στο Raspberry Pi. Στη συνέχεια, το Raspberry Pi διαβάζει αυτά τα κομμάτια και εκτελεί σχετικές εργασίες και ανάβει το αντίστοιχο LED. Ένας βομβητής ηχεί για ένα δευτερόλεπτο όταν πατηθεί οποιοδήποτε πλήκτρο Μια οθόνη LCD 16x2 χρησιμοποιείται επίσης για την εμφάνιση της κατάστασης «ON ή OFF» όλων των LED.
Σε αυτό το έργο, χρησιμοποιήσαμε τέσσερα LED μόνο για σκοπούς επίδειξης, μπορούμε να ενεργοποιήσουμε οποιαδήποτε εργασία πατώντας το αντίστοιχο κουμπί στο «RF Remote». Όπως μπορούμε επίσης να συνδέσουμε τις οικιακές συσκευές AC αντί των LED, χρησιμοποιώντας το ρελέ και μπορούμε να ελέγξουμε αυτές τις συσκευές χρησιμοποιώντας το ίδιο «RF Remote» ασύρματα. Έτσι, το ίδιο κύκλωμα μπορεί να λειτουργήσει ως Έργο οικιακού αυτοματισμού με βάση το Raspberry Pi. Έχουμε αναπτύξει προηγουμένως πολλά Έργα Αυτοματισμού που ελέγχονται χρησιμοποιώντας Bluetooth, DTMF, GSM κ.λπ., μπορείτε να τα ελέγξετε όλα εδώ.
Επεξήγηση κυκλώματος:
Το κύκλωμα αυτού του τηλεχειριστηρίου Raspberry Pi RF είναι απλό που περιέχει Raspberry Pi Board, κουμπί και LCD, RF Pair και κωδικοποιητή / αποκωδικοποιητή IC. Το Raspberry Pi ελέγχει την οθόνη LCD, διαβάζει είσοδο και στέλνει έξοδο ανάλογα με την είσοδο. Έχουμε χρησιμοποιήσει το Raspberry Pi 3 εδώ, αλλά οποιοδήποτε μοντέλο Raspberry πρέπει να λειτουργεί. Το κύκλωμα χωρίζεται σε δύο μέρη, το ένα είναι κύκλωμα δέκτη RF και το άλλο είναι κύκλωμα πομπού RF. Και τα δύο κυκλώματα φαίνονται στο παρακάτω διάγραμμα.
Στο τμήμα του δέκτη, οι ακροδέκτες LCD, en, d4, d5, d6, d7 συνδέονται στην καλωδίωσηPi GPIO Pin 11, 10, 6, 5, 4, 1 σε λειτουργία 4-bit. Ο δέκτης RF λαμβάνει το σήμα από τον πομπό RF και το HT12D IC το αποκωδικοποιεί. D8, D9, D10, D11 του HT12D αποκωδικοποιητή IC συνδέονται απευθείας στην καλωδίωσηPI GPIO ακροδέκτης 25, 24, 23 και 22. Οι έξοδοι LED συνδέονται στην καλωδίωσηPi GPIO ακροδέκτες 26, 27, 28 και 29. Ένας βομβητής χρησιμοποιείται επίσης για ειδοποίηση Πιέστηκε το πλήκτρο στο wiringPi GPIO 0.
Το κύκλωμα πομπού RF περιέχει το HT12E Encoder IC και 4 κουμπιά για τον έλεγχο των 4 LED. Στο IC κωδικοποιητή και αποκωδικοποιητή όλες οι γραμμές διευθύνσεων συνδέονται με τη γείωση.
Εγκατάσταση wiringPi Library στο Raspberry Pi:
Όπως και στο Python εισάγουμε το αρχείο εισαγωγής RPi.GPIO ως αρχείο κεφαλίδας IO για να χρησιμοποιήσουμε τις καρφίτσες GPIO του Raspberry Pi, εδώ στη γλώσσα C πρέπει να χρησιμοποιήσουμε τη βιβλιοθήκη wiringPi για να χρησιμοποιήσουμε τις καρφίτσες GPIO στο πρόγραμμα C. Μπορούμε να την εγκαταστήσουμε χρησιμοποιώντας τις παρακάτω εντολές μία προς μία, μπορείτε να εκτελέσετε αυτήν την εντολή από το Terminal ή από ορισμένους πελάτες SSH όπως το Putty (εάν χρησιμοποιείτε Windows). Ανατρέξτε στον οδηγό Ξεκινώντας με το Raspberry Pi για να μάθετε περισσότερα σχετικά με το χειρισμό και τη διαμόρφωση του Raspberry Pi.
sudo apt-get install git-core sudo apt-get update sudo apt-get upgrade git clone git: //git.drogon.net/wiringPi cd wiringPi git pull origin cd wiringPi./build
Δοκιμάστε την εγκατάσταση της βιβλιοθήκης wiringPi, χρησιμοποιήστε τις παρακάτω εντολές:
gpio -v gpio ανάγνωση
Επεξήγηση προγραμματισμού:
Πρώτα απ 'όλα συμπεριλαμβάνουμε αρχεία κεφαλίδας και καθορίζουμε καρφίτσες για LCD και, στη συνέχεια, αρχικοποιούμε μερικές μεταβλητές και καρφίτσες για λήψη ενδείξεων εισόδου και LED.
#περιλαμβάνω
Μετά από αυτό δίνουμε κατεύθυνση σε όλες τις χρησιμοποιημένες καρφίτσες GPIO σε λειτουργίες ρύθμισης () .
άκυρη ρύθμιση () {if (wiringPiSetup () == -1) {clear (); εκτύπωση ("Δεν είναι δυνατή η εκκίνηση"); setCursor (0,1); εκτύπωση ("wiringPi"); } pinMode (led1, OUTPUT); pinMode (led2, OUTPUT); pinMode (led3, OUTPUT); pinMode (led4, OUTPUT);……………….
Στον κώδικα χρησιμοποιήσαμε τη λειτουργία digitalRead για να διαβάσουμε την έξοδο του αποκωδικοποιητή και το digitalWrite για να στείλουμε την έξοδο σε LED ή συσκευή.
…………….. ενώ (1) {setCursor (0,0); εκτύπωση ("D1 D2 D3 D4"); if (digitalRead (d1) == 0) {flag1 ++; setCursor (0,1); if (flag1% 2 == 1) {εκτύπωση ("ON"); digitalWrite (led1, HIGH); }……………..
Εδώ είναι μερικές ακόμη λειτουργίες που έχουν χρησιμοποιηθεί σε αυτό το έργο.
Η λειτουργία void lcdcmd χρησιμοποιείται για την αποστολή εντολών σε LCD και η λειτουργία void εγγραφής χρησιμοποιείται για την αποστολή δεδομένων σε LCD.
Η λειτουργία void clear () χρησιμοποιείται για την εκκαθάριση της οθόνης LCD, το void setCursor χρησιμοποιείται για τη ρύθμιση της θέσης του δρομέα και την άκυρη εκτύπωση για την αποστολή συμβολοσειράς σε LCD.
Η λειτουργία void begin χρησιμοποιείται για την αρχικοποίηση της οθόνης LCD σε λειτουργία 4-bit και το void buzzer () για τον ήχο του βομβητή.
Ελέγξτε τον Πλήρες κωδικό για αυτό το Τηλεχειριστήριο Raspberry RF παρακάτω.