- Απαιτήσεις:
- Λήψη και εγκατάσταση λογισμικών:
- Μέρος υλικού Arduino και διάγραμμα κυκλώματος:
- Μέρος λογισμικού Arduino:
- Εφαρμογή Android για υπερηχητικό ραντάρ:
- Επεξήγηση εργασίας:
Πρόκειται για ένα ενδιαφέρον έργο στο οποίο διερευνούμε τη δύναμη ενός Arduino και Android για τη δημιουργία μιας συσκευής παρακολούθησης που χρησιμοποιεί Arduino και Ultra Sonic Sensor για τη μετάδοση των πληροφοριών σε μια εφαρμογή για κινητά (Android) χρησιμοποιώντας Bluetooth.
Η ασφάλεια και η ασφάλεια είναι το κύριο μέλημά μας από αιώνες. Η εγκατάσταση κάμερας ασφαλείας με νυχτερινή λειτουργία με δυνατότητα κλίσης και πανοραμικής λήψης θα κάψει μια μεγάλη τρύπα στις τσέπες μας. Επομένως, ας φτιάξουμε μια οικονομική συσκευή που κάνει σχεδόν το ίδιο αλλά χωρίς λειτουργίες βίντεο.
Αυτή η συσκευή ανιχνεύει αντικείμενα με τη βοήθεια του υπερηχητικού αισθητήρα και ως εκ τούτου μπορεί να λειτουργήσει ακόμη και κατά τη διάρκεια της νύχτας. Επίσης, τοποθετούμε τον αισθητήρα ΗΠΑ (Ultra Sonic) πάνω από έναν σερβοκινητήρα, αυτός ο σερβοκινητήρας μπορεί είτε να ρυθμιστεί ώστε να περιστρέφεται αυτόματα για σάρωση της περιοχής είτε να περιστρέφεται χειροκίνητα χρησιμοποιώντας την εφαρμογή για κινητά, ώστε να μπορούμε να εστιάσουμε τον αισθητήρα υπερήχων σε την απαιτούμενη κατεύθυνση και την αίσθηση των αντικειμένων που υπάρχουν εκεί. Όλες οι πληροφορίες που ανιχνεύονται από τον αισθητήρα των ΗΠΑ θα μεταδοθούν στο Έξυπνο τηλέφωνό μας χρησιμοποιώντας το Bluetooth Module (HC-05). Λοιπόν, θα λειτουργήσει σαν σόναρ ή ραντάρ.
Ενδιαφέρεις, σωστά;…. Ας δούμε τι θα απαιτούσαμε για να κάνουμε αυτό το έργο.
Απαιτήσεις:
Σκεύη, εξαρτήματα:
- Τροφοδοσία A + 5V (χρησιμοποιώ την πλακέτα Arduino (άλλη) για τροφοδοσία)
- Arduino Mega (Μπορείτε να χρησιμοποιήσετε οτιδήποτε από pro mini έως Yun)
- Servo Motor (οποιαδήποτε βαθμολογία)
- Ενότητα Bluetooth (HC-05)
- Αισθητήρας Ultra Sonic (HC-SR04)
- Breadboard (δεν είναι υποχρεωτικό)
- Σύνδεση καλωδίων
- Android κινητό
- Υπολογιστής για προγραμματισμό
Λογισμικό:
- Λογισμικό Arduino
- Android SDK
- Επεξεργασία Android (Για να δημιουργήσετε εφαρμογή για κινητά)
Μόλις είμαστε έτοιμοι με τα υλικά μας, ας αρχίσουμε να κατασκευάζουμε το υλικό. Έχω χωρίσει αυτό το σεμινάριο σε Arduino Part και το Processing Part για εύκολη κατανόηση. Οι άνθρωποι που είναι νέοι στην επεξεργασία δεν χρειάζεται να φοβούνται πολύ γιατί ο πλήρης κώδικας δίνεται στο τέλος του σεμιναρίου που μπορεί να χρησιμοποιηθεί ως τέτοιος.
Λήψη και εγκατάσταση λογισμικών:
Το Arduino IDE μπορεί να εγκατασταθεί από εδώ. Κατεβάστε το λογισμικό σύμφωνα με το λειτουργικό σας σύστημα και εγκαταστήστε το. Το Arduino IDE θα απαιτήσει από έναν οδηγό να επικοινωνήσει με το Arduino Hardware. Αυτό το πρόγραμμα οδήγησης θα πρέπει να εγκατασταθεί αυτόματα μόλις συνδέσετε την πλακέτα σας με τον υπολογιστή σας. Δοκιμάστε να ανεβάσετε ένα πρόγραμμα αναλαμπής από παραδείγματα για να βεβαιωθείτε ότι το Arduino είναι σε λειτουργία.
Η Επεξεργασία IDE μπορεί να εγκατασταθεί από εδώ. Η επεξεργασία είναι μια εξαιρετική εφαρμογή ανοιχτού κώδικα που μπορεί να χρησιμοποιηθεί για πολλά πράγματα, έχει διάφορους τρόπους. Στην «Λειτουργία Java» μπορούμε να δημιουργήσουμε εφαρμογές υπολογιστών παραθύρων (αρχεία.EXE) και στην «Λειτουργία Android» μπορούμε να δημιουργήσουμε εφαρμογές για κινητά Android (αρχεία.APK) έχει επίσης άλλες λειτουργίες όπως «Λειτουργία Python» όπου μπορείτε να γράψετε προγράμματα python. Αυτό το σεμινάριο δεν θα καλύψει τα βασικά της Επεξεργασίας, επομένως εάν θέλετε να μάθετε τον προγραμματισμό java ή την επεξεργασία κατευθυνθείτε σε αυτό το υπέροχο κανάλι YouTube εδώ.
Μέρος υλικού Arduino και διάγραμμα κυκλώματος:
Αυτό το έργο περιλαμβάνει πολλά εξαρτήματα όπως το Servo Motor, το Bluetooth Module, το Ultrasonic Sensor κ.λπ. Επομένως, αν είστε απόλυτος αρχάριος, θα σας συνιστούσαμε να ξεκινήσετε με κάποιο βασικό σεμινάριο που περιλαμβάνει αυτά τα στοιχεία και στη συνέχεια να επιστρέψετε εδώ. Δείτε τα διάφορα έργα μας σε Servo Motor, Bluetooth Module και Ultrasonic Sensor εδώ.
Όλα τα εξαρτήματα δεν τροφοδοτούνται από το ίδιο το Arduino, επειδή, ο σερβοκινητήρας, η μονάδα Bluetooth και ο αισθητήρας των ΗΠΑ αντλούν συνολικά πολύ ρεύμα, το οποίο δεν θα μπορεί να προμηθεύσει το Arduino. Ως εκ τούτου, συνιστάται αυστηρά να χρησιμοποιείτε οποιαδήποτε εξωτερική τροφοδοσία + 5V. Εάν δεν διαθέτετε εξωτερική τροφοδοσία + 5V, μπορείτε να μοιραστείτε τα εξαρτήματα μεταξύ δύο πλατφορμών Arduino όπως έχω κάνει. Έχω συνδέσει τις ράγες τροφοδοσίας Servos σε μια άλλη πλακέτα Arduino (κόκκινο χρώμα) και έχω συνδέσει τη μονάδα Bluetooth HC-05 και τον αισθητήρα υπερήχων HC-SR04 με το Arduino mega. ΠΡΟΣΟΧΗ: Με την ενεργοποίηση όλων αυτών των μονάδων χρησιμοποιώντας μια πλακέτα Arduino, θα τηγανιστεί ο ρυθμιστής τάσης Arduino.
Το διάγραμμα σύνδεσης για αυτό το έργο Sonar με βάση το Arduino δίνεται παρακάτω:
Μόλις πραγματοποιηθούν οι συνδέσεις, τοποθετήστε τον αισθητήρα ΗΠΑ στον κινητήρα Servo, όπως φαίνεται παρακάτω:
Έχω χρησιμοποιήσει ένα μικρό πλαστικό κομμάτι που ήταν στα σκουπίδια μου και μια διπλή πλαϊνή ταινία για να τοποθετήσω τον αισθητήρα. Μπορείτε να βρείτε τη δική σας ιδέα να κάνετε το ίδιο. Υπάρχουν επίσης σερβο κάτοχοι διαθέσιμοι στην αγορά που μπορούν να χρησιμοποιηθούν για τον ίδιο σκοπό.
Μόλις τοποθετηθεί το Servo και δοθούν οι συνδέσεις, θα πρέπει να μοιάζει με αυτό.
Ακολουθήστε τα σχήματα στην κορυφή, εάν έχετε λάθος συνδέσεις Τώρα ας ξεκινήσουμε να προγραμματίζουμε το Arduino Mega χρησιμοποιώντας το Arduino IDE.
Μέρος λογισμικού Arduino:
Πρέπει να γράψουμε τον κωδικό μας έτσι ώστε να μπορούμε να υπολογίσουμε την απόσταση μεταξύ ενός αντικειμένου και του αισθητήρα Ultra Sonic και να τον στείλουμε στην εφαρμογή για κινητά. Πρέπει επίσης να γράψουμε κώδικα για να σαρώνουμε τον σερβοκινητήρα μας και να ελέγχουμε επίσης τα δεδομένα που λαμβάνονται από τη μονάδα Bluetooth. Αλλά μην ανησυχείτε ότι το πρόγραμμα είναι πολύ πιο απλό από ό, τι μπορείτε να κάνετε εικόνα, χάρη στο Arduino και τις βιβλιοθήκες του. Ο πλήρης κωδικός δίνεται παρακάτω στην ενότητα κώδικα.
Η παρακάτω λειτουργία χρησιμοποιείται για να κάνει τον σερβο κινητήρα να σαρώνει αυτόματα από αριστερά προς τα δεξιά (170 έως 10) και ξανά από δεξιά προς τα αριστερά (10 έως 170). Τα δύο για βρόχους χρησιμοποιούνται για να επιτύχουν το ίδιο. Η συνάρτηση us () καλείται και στις δύο λειτουργίες για τον υπολογισμό της απόστασης μεταξύ του αισθητήρα και του αντικειμένου και τη μετάδοση στο Bluetooth. Δίδεται καθυστέρηση 50 ms για να κάνει το σερβο περιστροφή αργά. Όσο πιο αργά ο κινητήρας περιστρέφεται με ακρίβεια οι μετρήσεις σας.
// ** Λειτουργία για σέρβο για σάρωση ** // void servofun () {Serial.println ("Sweeping"); // για εντοπισμό σφαλμάτων για (posc = 10; posc <= 170; posc ++) // Η χρήση 10 έως 170 μοιρών είναι ασφαλής από 0 έως 180 επειδή ορισμένοι σέρβο ενδέχεται να μην λειτουργούν σε ακραίες αγγέλους {servo.write (posc); // ορίστε τη θέση της καθυστέρησης του σερβοκινητήρα (50). μας(); // μετρήστε την απόσταση των αντικειμένων τραγουδήστε τον αισθητήρα ΗΠΑ} για (posc = 170; posc> = 10; posc--) {servo.write (posc); καθυστέρηση (50) μας(); // μετρήστε την απόσταση των αντικειμένων τραγουδήστε τον αισθητήρα των ΗΠΑ} Serial.println ("Scan Complete"); // για εντοπισμό σφαλμάτων flag = 0; } // ** Λειτουργία σάρωσης στο τέλος του σερβο ** // //
Όπως ειπώθηκε νωρίτερα, ο σερβο κινητήρας μπορεί επίσης να ελεγχθεί χειροκίνητα από το έξυπνο τηλέφωνο. Απλώς σύρετε προς τα δεξιά για να κάνετε τον κινητήρα να κινηθεί προς τα δεξιά και σύρετε προς τα αριστερά για να κάνετε τον κινητήρα να κινηθεί προς τα αριστερά. Η παραπάνω συνάρτηση χρησιμοποιείται για την επίτευξη του ίδιου. Ο άγγελος του σερβο κινητήρα θα ληφθεί απευθείας από τη μονάδα Bluetooth και θα αποθηκευτεί στα μεταβλητά BluetoothData , και στη συνέχεια το σερβο είναι τοποθετημένο στον συγκεκριμένο άγγελο χρησιμοποιώντας τη γραμμή servo.write (BluetoothData).
// ** Λειτουργία ελέγχου του Servo χειροκίνητα ** // void manualservo () {us (); // Λάβετε αξία από τον χρήστη και ελέγξτε το σερβο εάν (Blueboy.available ()) {BluetoothData = Blueboy.read (); Serial.println (BluetoothData); servo.write (BluetoothData); Serial.println ("Γραπτό"); εάν (BluetoothData == 'p') {flag = 0; }}} // __ Λήξη της λειτουργίας χειροκίνητου ελέγχου __ //
Η απόσταση που υπάρχει πριν από το αντικείμενο θα υπολογιστεί με την παρακάτω συνάρτηση. Λειτουργεί με απλούς τύπους που Speed = Απόσταση / χρόνος. Δεδομένου ότι γνωρίζουμε την ταχύτητα του κύματος των ΗΠΑ και τον χρόνο που απαιτείται, η απόσταση μπορεί να υπολογιστεί χρησιμοποιώντας τους παραπάνω τύπους.
// ** Λειτουργία για τη μέτρηση της απόστασης ** // ακυρώστε μας () {int διάρκεια, απόσταση; digitalWrite (trigPin, HIGH); καθυστέρηση μικροδευτερόλεπτα (1000); digitalWrite (trigPin, LOW); διάρκεια = pulseIn (echoPin, HIGH); απόσταση = (διάρκεια / 2) / 29.1; // Υπολογίζει την απόσταση από τον αισθητήρα εάν (απόσταση <200 && απόσταση> 0) Blueboy.write (απόσταση); } // __ Λειτουργία μέτρησης τέλους __ //
Εάν έχετε αμφιβολίες στο πρόγραμμα, μη διστάσετε να χρησιμοποιήσετε την ενότητα σχολίων για τα ερωτήματά σας. Έτσι, όταν είμαστε έτοιμοι με τον κωδικό μας, μπορούμε αμέσως να ρίξουμε τον κώδικα στο υλικό μας. Αλλά η συσκευή παρακολούθησης δεν θα αρχίσει να λειτουργεί έως ότου συνδεθεί με την εφαρμογή Android Ελέγξτε επίσης το βίντεο στο τέλος για πλήρη εργασία.
Εφαρμογή Android για υπερηχητικό ραντάρ:
Εάν δεν θέλετε να δημιουργήσετε τη δική σας εφαρμογή και αντί να θέλετε να εγκαταστήσετε την ίδια εφαρμογή που χρησιμοποιείται σε αυτό το σεμινάριο, μπορείτε να ακολουθήσετε τα παρακάτω βήματα.
1. Μπορείτε να κατεβάσετε απευθείας το αρχείο APK από τον παρακάτω σύνδεσμο. Αυτό το αρχείο APK δημιουργήθηκε για Android έκδοση 4.4.2 και άνω (Kitkat an παραπάνω). Εξαγάγετε το αρχείο APK από το αρχείο zip.
Εφαρμογή Android για υπερηχητικό ραντάρ
2. Μεταφέρετε το αρχείο.Apk από τον υπολογιστή σας στο κινητό σας τηλέφωνο.
3. Ενεργοποιήστε την εγκατάσταση εφαρμογής από Άγνωστες πηγές στις ρυθμίσεις του Android σας.
4. Εγκαταστήστε την εφαρμογή.
Εάν εγκατασταθεί με επιτυχία, θα βρείτε την εφαρμογή με το όνομα "Zelobt" εγκατεστημένη στο τηλέφωνό σας όπως φαίνεται παρακάτω:
Εάν έχετε εγκαταστήσει αυτό το APK, μπορείτε να παραλείψετε το παρακάτω μέρος και να μεταβείτε στην επόμενη ενότητα.
Προγραμματισμός της δικής σας εφαρμογής χρησιμοποιώντας Επεξεργασία:
Είτε μπορείτε να χρησιμοποιήσετε το αρχείο.APK που δίνεται παραπάνω είτε να δημιουργήσετε τη δική σας εφαρμογή χρησιμοποιώντας την Επεξεργασία όπως εξηγείται εδώ. Με λίγες γνώσεις σχετικά με τον προγραμματισμό, είναι επίσης πολύ εύκολο να γράψετε τον δικό σας κωδικό για την εφαρμογή σας Android. Ωστόσο, εάν μόλις ξεκινήσετε, δεν συνιστάται να ξεκινήσετε με αυτόν τον κωδικό, καθώς είναι λίγο υψηλό από το αρχικό επίπεδο.
Αυτό το πρόγραμμα χρησιμοποιεί δύο βιβλιοθήκες, συγκεκριμένα, τη «βιβλιοθήκη Ketai» και τη «βιβλιοθήκη ControlP5» . Η βιβλιοθήκη ketai χρησιμοποιείται για τον έλεγχο όλου του υλικού που υπάρχει στο κινητό μας τηλέφωνο. Σε αυτήν τη βιβλιοθήκη μπορείτε να έχετε εύκολη πρόσβαση σε πράγματα όπως το επίπεδο μπαταρίας των τηλεφώνων σας, οι τιμές του αισθητήρα εγγύτητας, οι τιμές του αισθητήρα επιταχυνσιόμετρου, οι επιλογές ελέγχου Bluetooth κ.λπ. Σε αυτό το πρόγραμμα χρησιμοποιούμε αυτήν τη βιβλιοθήκη για να δημιουργήσουμε μια επικοινωνία μεταξύ των τηλεφώνων Bluetooth και του Arduino Bluetooth (HC-05). Η «βιβλιοθήκη ControlP5» χρησιμοποιείται για τη σχεδίαση γραφημάτων για το σύστημα ραντάρ μας.
Το πλήρες android πρόγραμμα είναι συνδεδεμένο, μπορείτε να το κατεβάσετε από εδώ.
ΠΡΟΣΟΧΗ: Μην ξεχάσετε να εγκαταστήσετε τις παραπάνω βιβλιοθήκες και μην αντιγράψετε επικολλήστε μόνο το τμήμα κώδικα, επειδή ο κώδικας εισάγει εικόνες από φάκελο δεδομένων που συνολικά δίνεται στο παραπάνω συνημμένο. Ως εκ τούτου, κατεβάστε και χρησιμοποιήστε μόνο αυτό.
Μόλις τελειώσετε με το τμήμα κωδικοποίησης και το έχετε συντάξει με επιτυχία, μπορείτε να συνδέσετε απευθείας το κινητό σας τηλέφωνο στον υπολογιστή σας μέσω καλωδίου δεδομένων και να κάνετε κλικ στο κουμπί αναπαραγωγής για να ξεγελάσετε την εφαρμογή στο κινητό σας τηλέφωνο. Ελέγξτε επίσης τα άλλα Έργα επεξεργασίας μας: Παιχνίδι Ping Pong χρησιμοποιώντας το Arduino και το Smart Phone Controlled FM Radio χρησιμοποιώντας το Processing.
Επεξήγηση εργασίας:
Τώρα, είμαστε έτοιμοι με το υλικό και το τμήμα λογισμικού. Ενεργοποιήστε το υλικό σας και συνδέστε το κινητό σας με τη μονάδα Bluetooth. Μόλις αντιστοιχιστεί, ανοίξτε την εφαρμογή "Zelobt" που μόλις εγκαταστήσαμε και τώρα περιμένουμε ένα δευτερόλεπτο και θα πρέπει να παρατηρήσετε ότι η μονάδα Bluetooth (HC-05) συνδέεται αυτόματα με το έξυπνο τηλέφωνό σας. Μόλις ολοκληρωθεί η σύνδεση, θα λάβετε την ακόλουθη οθόνη:
Μπορείτε να παρατηρήσετε ότι λέει συνδεδεμένο με: Όνομα συσκευής (διεύθυνση υλικού) στο πάνω μέρος της οθόνης. Εμφανίζει επίσης τον τρέχοντα άγγελο του σερβο κινητήρα και την απόσταση μεταξύ του αισθητήρα των ΗΠΑ. Ένα μπλε γράφημα απεικονίζεται επίσης στο κόκκινο φόντο με βάση τη μετρούμενη απόσταση. Όσο πιο κοντά γίνεται το αντικείμενο, τόσο πιο ψηλή γίνεται η μπλε περιοχή. Το γράφημα που μετράται όταν μερικά αντικείμενα τοποθετούνται κοντά φαίνεται επίσης στο δεύτερο σχήμα παραπάνω.
Όπως ειπώθηκε νωρίτερα, μπορείτε επίσης να ελέγξετε τον σερβοκινητήρα σας από την εφαρμογή σας για κινητά. Για να το κάνετε αυτό, απλώς κάντε κλικ στο κουμπί διακοπής. Αυτό θα εμποδίσει το σέρβο σας να σαρώνει αυτόματα. Μπορείτε επίσης να βρείτε έναν κυκλικό τροχό στο κάτω μέρος της οθόνης, ο οποίος όταν περιστρέφεται θα περιστρέφεται σε ρολόι ή αντίθετα προς το ρολόι. Σύροντας αυτόν τον τροχό μπορείτε επίσης να κάνετε τον σερβοκινητήρα σας να στρίψει στη συγκεκριμένη κατεύθυνση. Ο τροχός και το γράφημα ενημερώθηκαν κατά την ολίσθηση εμφανίζονται στην παρακάτω εικόνα.
Ο κωδικός Arduino δίνεται παρακάτω και το αρχείο APK για εφαρμογή Android είναι εδώ. Η εργασία του πλήρους έργου φαίνεται στο παρακάτω βίντεο. Ελπίζω να καταλάβετε το έργο. Εάν έχετε τυχόν απορίες, χρησιμοποιήστε την παρακάτω ενότητα σχολίων.