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

Ρομπότ αυτοκίνητο με Bluetooth, κάμερα και MIT App Inventor2: 12 βήματα (με εικόνες)
Ρομπότ αυτοκίνητο με Bluetooth, κάμερα και MIT App Inventor2: 12 βήματα (με εικόνες)

Βίντεο: Ρομπότ αυτοκίνητο με Bluetooth, κάμερα και MIT App Inventor2: 12 βήματα (με εικόνες)

Βίντεο: Ρομπότ αυτοκίνητο με Bluetooth, κάμερα και MIT App Inventor2: 12 βήματα (με εικόνες)
Βίντεο: Arduino mobile control Robot car 2024, Ιούλιος
Anonim
Image
Image
Ανταλλακτικά και Λογισμικό
Ανταλλακτικά και Λογισμικό

Θέλατε ποτέ να φτιάξετε το δικό σας ρομπότ αυτοκίνητο; Λοιπόν … αυτή είναι η ευκαιρία σας !!

Σε αυτό το Instructable θα σας καθοδηγήσω πώς να φτιάξετε ένα ρομπότ αυτοκίνητο που ελέγχεται μέσω Bluetooth και MIT App Inventor2. Να γνωρίζετε ότι είμαι αρχάριος και ότι αυτό είναι το πρώτο μου ένστικτο, γι 'αυτό να είστε ευγενικοί στα σχόλιά σας.

Υπάρχουν πολλά διδακτικά, αλλά σε αυτό έχω προσπαθήσει να συνδυάσω πολλές δυνατότητες όπως: ροή κάμερας, αποφυγή εμποδίων, αισθητήρας εμβέλειας υπερήχων, σαρωτή Larson (με Charlieplexing) και παρακολούθηση της μπαταρίας σε μια εφαρμογή Android !!

Ας ξεκινήσουμε λοιπόν και να γνωρίσουμε τον Φράνκι (χρησιμοποιεί ιδέες από πολλά μέρη…. Έπειτα Robo Frankenstein)

Βήμα 1: Ανταλλακτικά και Λογισμικό

Ανταλλακτικά και Λογισμικό
Ανταλλακτικά και Λογισμικό
Ανταλλακτικά και Λογισμικό
Ανταλλακτικά και Λογισμικό

Εδώ, στην πόλη μου, είναι δύσκολο να αποκτήσω όλα τα μέρη, επομένως μπόρεσα να πάρω τα περισσότερα από το www.aliexpress.com

Εκτιμώ ότι το έργο μπορεί να κατασκευαστεί για 25 - 30 USD χωρίς να λαμβάνεται υπόψη το παλιό κινητό.

  • Πλαίσιο αυτοκινήτου: 3 τροχοί, 2 κινητήρες 6V (9 USD)
  • Arduino Nano (2 USD)
  • Bluetooth HC-05 (3 έως 4 USD)
  • L293D οδηγός κινητήρα για οδήγηση κινητήρων τροχών (1,50 USD για παρτίδα 5 τεμαχίων)
  • Παλιά κινητή συσκευή με κάμερα και Wi-Fi
  • Αισθητήρας υπερήχων HC-SR04 για μέτρηση σε κοντινό αντικείμενο (1 USD)
  • 6 LED για σαρωτή Larson
  • ATtiny85 για σαρωτή Larson (1 USD)
  • Breadboard (1 USD)
  • Καλώδια
  • Αντίσταση 100K Ohm (4)
  • Αντίσταση 1K Ohm (2)
  • Αντίσταση 2K Ohm (1)
  • Αντίσταση 270 Ohm (3)
  • Βομβητής

Λογισμικό:

  • Arduino IDE
  • Κάμερα IP (για παλιά κινητά Android)
  • MIT App Inventor2: Αυτή η εφαρμογή είναι υπέροχη αλλά λειτουργεί μόνο για λειτουργικό σύστημα Android (χωρίς Iphone … συγγνώμη!)

Βήμα 2: Διαδικασία κατασκευής

Διαδικασία Κατασκευής
Διαδικασία Κατασκευής
Διαδικασία Κατασκευής
Διαδικασία Κατασκευής
Διαδικασία Κατασκευής
Διαδικασία Κατασκευής
Διαδικασία Κατασκευής
Διαδικασία Κατασκευής

Το σασί του αυτοκινήτου είναι πολύ εύκολο να συναρμολογηθεί. Διαθέτει 2 κινητήρες 6V που τροφοδοτούν τους πίσω τροχούς και 4 μπαταρίες.

Το αυτοκίνητο ρομπότ ελέγχεται μέσω Bluetooth και Wi-Fi. Το Bluetooth ελέγχει τις σειριακές επικοινωνίες μεταξύ του Car και του MIT App inventor2 και το Wi-Fi χρησιμοποιείται για την επικοινωνία με την κάμερα (παλιό κινητό) που είναι εγκατεστημένη μπροστά από το αυτοκίνητο.

Για αυτό το έργο, χρησιμοποίησα δύο σειρές μπαταριών: το arduino τροφοδοτείται από μπαταρία 9V και οι κινητήρες του αυτοκινήτου από 6V (τέσσερις μπαταρίες AA 1.5V).

Το Arduino Nano είναι ο εγκέφαλος αυτού του έργου που ελέγχει το αυτοκίνητο, τον βομβητή, τον υπερηχητικό αισθητήρα εμβέλειας HC-SR04, το Bluetooth HC-05, τον σαρωτή Larson (ATtiny85) και παρακολουθεί τις μπαταρίες. Η μπαταρία 9V πηγαίνει στο Vin (καρφίτσα 30) και ο πείρος 27 του Arduino δίνει ρυθμιζόμενη ισχύ 5V στο breadboard. Πρέπει να συνδέσετε όλους τους χώρους από όλα τα IC και τις μπαταρίες μαζί.

Επισυνάπτεται, το διάγραμμα κυκλώματος το έκανε στο Excel (Συγγνώμη…. Την επόμενη φορά θα δοκιμάσω το Fritzing). Έχω συνδέσει τα πάντα χρησιμοποιώντας πινακίδες και αρσενικά σε αρσενικά καλώδια, το δικό μου μοιάζει με φωλιά αρουραίων.

Βήμα 3: Πρόγραμμα οδήγησης κινητήρα L293D

Πρόγραμμα οδήγησης κινητήρα L293D
Πρόγραμμα οδήγησης κινητήρα L293D
Πρόγραμμα οδήγησης κινητήρα L293D
Πρόγραμμα οδήγησης κινητήρα L293D

Το L293D είναι ένα τετράπλευρο πρόγραμμα οδήγησης μισού Η υψηλής τάσης, σχεδιασμένο να παρέχει αμφίδρομα ρεύματα κίνησης έως 600 mA σε τάσεις 4,5V έως 36V. Χρησιμοποιείται για την οδήγηση των τροχών του αυτοκινήτου.

Τροφοδοτείται από μια μπαταρία 6V (τέσσερις 1.5V AA) για τους κινητήρες και χρησιμοποιεί 5V για τη λογική που προέρχεται από ρυθμιζόμενα 5V (pin 27) στο Arduino Nano. Οι συνδέσεις φαίνονται στο συνημμένο σχήμα.

Δεν ήταν ανάγκη να το εγκαταστήσετε σε μια ψύκτρα.

Βήμα 4: Bluetooth HC-05

HC-05 Bluetooth
HC-05 Bluetooth

Το HC-05 Bluetooth τροφοδοτείται από 5V (arduino pin 27), αλλά είναι σημαντικό να κατανοήσουμε ότι το λογικό επίπεδο είναι 3.3V, δηλαδή επικοινωνίες (Tx και Rx) με 3.3V. Αυτός είναι ο λόγος για τον οποίο το Rx πρέπει να ρυθμιστεί με μέγιστο 3,3V, το οποίο μπορεί να επιτευχθεί με μετατροπέα μετατόπισης στάθμης ή, όπως στην περίπτωση αυτή, με διαχωριστή τάσης χρησιμοποιώντας αντιστάσεις 1Κ και 2Κ όπως φαίνεται στο κύκλωμα.

Βήμα 5: Παρακολούθηση μπαταρίας

Προκειμένου να παρακολουθήσω τα επίπεδα της μπαταρίας, έχω ορίσει διαχωριστές τάσης για να μειώσω τα επίπεδα τάσης κάτω από 5V (μέγιστο εύρος Arduino). Ο διαιρέτης τάσης μειώνει την τάση που μετριέται εντός της περιοχής των αναλογικών εισόδων Arduino.

Χρησιμοποιούνται οι αναλογικές είσοδοι A4 και A6 και χρησιμοποιούνται υψηλές αντιστάσεις (100K ohms) για να μην αδειάσουν πολύ οι μπαταρίες κατά τη διαδικασία μέτρησης. Πρέπει να συμβιβαστούμε, εάν οι αντιστάσεις είναι πολύ χαμηλές (10K ohm), λιγότερο εφέ φόρτωσης, η ανάγνωση τάσης είναι πιο ακριβής, αλλά πιο τρέχουσα σχεδίαση. εάν είναι πολύ υψηλές (1M ohms), περισσότερο εφέ φόρτωσης, η ένδειξη τάσης είναι λιγότερο ακριβής, αλλά λιγότερο ρεύμα.

Η παρακολούθηση της μπαταρίας γίνεται κάθε 10 δευτερόλεπτα και εμφανίζεται απευθείας στο κινητό του ελεγκτή σας.

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

Επιτρέψτε μου να εξηγήσω τον ακόλουθο τύπο:

// Διαβάστε την τάση από τον αναλογικό πείρο Α4 και κάντε βαθμονόμηση για το Arduino:

τάση1 = (analogRead (A4)*5.0/1024.0)*2.0; //8.0V

Ο πίνακας Arduino nano περιέχει 8 κανάλια, 10-bit μετατροπέα αναλογικού σε ψηφιακό. Η συνάρτηση analogRead () επιστρέφει έναν αριθμό μεταξύ 0 και 1023 που είναι ανάλογος της ποσότητας τάσης που εφαρμόζεται στον πείρο. Αυτό δίνει μια ανάλυση μεταξύ των μετρήσεων: 5 βολτ / 1024 μονάδες ή, 0,0049 βολτ (4,9 mV) ανά μονάδα.

Ο διαιρέτης τάσης μειώνει στο μισό την τάση και, για να πάρει την πραγματική τάση, πρέπει να πολλαπλασιάσει με 2 !!

ΣΗΜΑΝΤΙΚΟ: Είμαι βέβαιος ότι υπάρχει ένας πιο αποτελεσματικός τρόπος τροφοδοσίας ενός arduino από τον τρόπο που το κάνω !! Ως αρχάριος έμαθα τον δύσκολο τρόπο. Η καρφίτσα Arduino Vin χρησιμοποιεί έναν γραμμικό ρυθμιστή τάσης που σημαίνει ότι, με μπαταρία 9V, θα κάψετε ένα μεγάλο κομμάτι της ισχύος στον ίδιο τον γραμμικό ρυθμιστή! ΟΧΙ καλα. Το έκανα με αυτόν τον τρόπο επειδή ήταν γρήγορο και μόνο επειδή δεν ήξερα καλύτερα … αλλά να είστε σίγουροι ότι στην έκδοση Robo Frankie 2.0 θα το κάνω σίγουρα διαφορετικά.

Σκέφτομαι (δυνατά) ότι ένα DC DC Step Up Switching Power Supply και μια Li-ion επαναφορτιζόμενη μπαταρία μπορεί να είναι ένας καλύτερος τρόπος. Η ευγενική σας πρόταση θα είναι κάτι παραπάνω από ευπρόσδεκτη…

Βήμα 6: Αισθητήρας υπερήχων HC-SR04

HC-SR04 Αισθητήρας υπερήχων
HC-SR04 Αισθητήρας υπερήχων

Το HC-SR04 είναι ένας αισθητήρας εύρους υπερήχων. Αυτός ο αισθητήρας παρέχει μέτρηση από 2cm έως 400cm με ακρίβεια έως 3mm. Σε αυτό το έργο, χρησιμοποιείται για την αποφυγή εμποδίων όταν φτάνει τα 20 εκατοστά ή λιγότερο και επίσης για τη μέτρηση της απόστασης σε οποιοδήποτε αντικείμενο, το οποίο αποστέλλεται πίσω στο κινητό σας τηλέφωνο.

Υπάρχει ένα κουμπί στην οθόνη του κινητού σας στο οποίο πρέπει να κάνετε κλικ για να ζητήσετε απόσταση από ένα κοντινό αντικείμενο.

Βήμα 7: Σαρωτής Larson

Larson Scanner
Larson Scanner
Larson Scanner
Larson Scanner
Larson Scanner
Larson Scanner

Wantedθελα να συμπεριλάβω κάτι διασκεδαστικό, οπότε συμπεριέλαβα το Larson scanner που μοιάζει με το K. I. T. T. από τον Knight Rider.

Για τον σαρωτή Larson έχω χρησιμοποιήσει το ATtiny85 με charlieplexing. Το Charlieplexing είναι μια τεχνική για την οδήγηση μιας πολυπλεγμένης οθόνης στην οποία χρησιμοποιούνται σχετικά λίγες ακίδες εισόδου/εξόδου σε έναν μικροελεγκτή για την οδήγηση μιας σειράς LED. Η μέθοδος χρησιμοποιεί τις λογικές δυνατότητες τριών καταστάσεων των μικροελεγκτών προκειμένου να αποκτήσει αποτελεσματικότητα έναντι της παραδοσιακής πολυπλεξίας.

Σε αυτήν την περίπτωση χρησιμοποιώ 3 ακίδες από το ATtiny85 για να ανάψω 6 LED !!

Θα μπορούσατε να ανάψετε τα LED "X" με Ν ακίδες. Χρησιμοποιήστε τον ακόλουθο τύπο για να εξαγάγετε πόσες λυχνίες LED μπορείτε να οδηγήσετε:

X = N (N-1) LED με N ακίδες:

3 ακίδες: 6 LED.

4 ακίδες: 12 LED.

5 ακίδες: 20 LED… παίρνετε την ιδέα;-)

Το ρεύμα ρέει από θετικό (άνοδο) σε αρνητικό (κάθοδο). Η άκρη του βέλους είναι κάθοδος.

Είναι σημαντικό να σημειωθεί ότι η ακίδα 1 (στον κωδικό Arduino IDE) αναφέρεται στη φυσική ακίδα 6 στο ATtiny85 (ανατρέξτε στο συνημμένο pinout).

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

Βήμα 8: Κωδικός

Κώδικας
Κώδικας

Επισυνάπτω τον κωδικό που πρέπει να μεταφορτωθεί στο ATtiny85 που ελέγχει τον σαρωτή Larson και τον κωδικό για το Arduino nano's.

Όσο για το Arduino nano, έχω χρησιμοποιήσει μέρος κωδικών από άλλες οδηγίες (εδώ) και έκανα αλλαγές για να ταιριάξω με τις ανάγκες μου. Έχω συμπεριλάβει ένα διάγραμμα ροής (επίσης σε λέξη για μια πιο καθαρή εικόνα) του κώδικα για να κατανοήσω καλύτερα πώς λειτουργεί το Switch - Case.

Σημαντικό: Για να ανεβάσετε τον κωδικό CarBluetooth στο Arduino nano, πρέπει να αποσυνδέσετε τα Rx και Tx από τη μονάδα Bluetooth HC-05!

Βήμα 9: Κάμερα

ΦΩΤΟΓΡΑΦΙΚΗ ΜΗΧΑΝΗ
ΦΩΤΟΓΡΑΦΙΚΗ ΜΗΧΑΝΗ
ΦΩΤΟΓΡΑΦΙΚΗ ΜΗΧΑΝΗ
ΦΩΤΟΓΡΑΦΙΚΗ ΜΗΧΑΝΗ

Η εφαρμογή IP Webcam πρέπει να ληφθεί από το play store και να εγκατασταθεί στο παλιό σας κινητό τηλέφωνο. Ελέγξτε για προτιμήσεις βίντεο, προσαρμόστε την ανάλυση ανάλογα και τελικά κατεβείτε στην τελευταία εντολή "Έναρξη διακομιστή" για να ξεκινήσει η μετάδοση. Μην ξεχάσετε να ενεργοποιήσετε το Wi-Fi στο κινητό σας τηλέφωνο !!

Βήμα 10: MIT App Inventor2

MIT App Inventor2
MIT App Inventor2

Το MIT App inventor2 είναι εργαλείο βασισμένο στο σύννεφο που βοηθά στη δημιουργία εφαρμογών στο πρόγραμμα περιήγησης ιστού σας. Αυτή η εφαρμογή (μόνο για κινητά που βασίζονται σε Android) μπορεί στη συνέχεια να μεταφορτωθεί στο κελί σας και να ελέγξει το ρομπότ σας.

Επισυνάπτω.apk και.aia κώδικα για να μπορείτε να δείτε τι έχω κάνει και να τον τροποποιήσετε όπως θέλετε. Έχω χρησιμοποιήσει έναν κωδικό από το διαδίκτυο (MIT App) και έχω κάνει τις δικές μου τροποποιήσεις. Αυτός ο κωδικός ελέγχει την κίνηση του αυτοκινήτου ρομπότ, λαμβάνει σήμα από τον αισθητήρα υπερήχων, ανάβει τα φώτα και ηχεί το βομβητή. Λαμβάνει επίσης σήμα από τις μπαταρίες που μας ενημερώνουν για το επίπεδο τάσης.

Με αυτόν τον κωδικό θα μπορούμε να λαμβάνουμε δύο διαφορετικά σήματα από το αυτοκίνητο: 1) απόσταση από ένα κοντινό αντικείμενο και 2) τάση από τις μπαταρίες του κινητήρα και του arduino.

Προκειμένου να προσδιοριστεί η σειριακή συμβολοσειρά που ελήφθη, έχω συμπεριλάβει μια σημαία στον κώδικα του Arduino που καθορίζει τον τύπο της συμβολοσειράς που έχει σταλεί. Εάν το Arduino στείλει την απόσταση που μετρήθηκε από τον αισθητήρα υπερήχων, τότε στέλνει έναν χαρακτήρα "A" μπροστά από τη χορδή. Κάθε φορά που το Arduino στέλνει επίπεδα μπαταρίας, στέλνει μια σημαία με έναν χαρακτήρα "B". Στον κώδικα MIT App inventors2 έχω αναλύσει τη σειριακή σειρά που προέρχεται από το Arduino και έχω ελέγξει για αυτές τις σημαίες. Όπως είπα, είμαι αρχάριος και είμαι βέβαιος ότι υπάρχουν πιο αποτελεσματικοί τρόποι για να το κάνω αυτό και ελπίζω ότι κάποιος μπορεί να με διαφωτίσει με καλύτερο τρόπο.

Στείλτε το Arduino_Bluetooth_Car.apk στο κινητό σας (μέσω email ή Google Drive) και εγκαταστήστε το.

Βήμα 11: Συνδέστε το κινητό σας στο RC Car σας

Συνδέστε το κινητό σας στο RC Car σας
Συνδέστε το κινητό σας στο RC Car σας
Συνδέστε το κινητό σας στο RC Car σας
Συνδέστε το κινητό σας στο RC Car σας

Πρώτα απ 'όλα, ενεργοποιήστε το wi-fi στο παλιό κινητό (αυτό στο ρομπότ RC).

Στο κινητό σας χειριστήριο ενεργοποιήστε το wi-fi, το Bluetooth και ανοίξτε το Arduino_Bluetooth_Car.apk που μόλις εγκαταστήσατε. Στο τέλος της οθόνης (μετακινηθείτε προς τα κάτω εάν δεν μπορείτε να το δείτε) θα δείτε δύο κουμπιά: Συσκευές και ΣΥΝΔΕΣΗ. Κάντε κλικ στην επιλογή Συσκευές και επιλέξτε το Bluetooth από το RC Car σας (θα πρέπει να είναι κάτι HC 05), στη συνέχεια κάντε κλικ στο CONNECT και θα δείτε το μήνυμα CONNECTED στο αριστερό κάτω μέρος της οθόνης σας. Την πρώτη φορά, θα σας ζητηθεί κωδικός πρόσβασης (πληκτρολογήστε 0000 ή 1234).

Υπάρχει ένα πλαίσιο όπου πρέπει να πληκτρολογήσετε τη διεύθυνση IP του παλιού σας κυττάρου (κινητό τηλέφωνο που βρίσκεται στο αυτοκίνητό σας RC), στην περίπτωσή μου είναι

Αυτός ο αριθμός IP μπορεί να εντοπιστεί στο δρομολογητή Wi-fi. Πρέπει να μπείτε στη διαμόρφωση του δρομολογητή σας, να επιλέξετε Λίστα συσκευών (ή κάτι παρόμοιο ανάλογα με τη μάρκα του δρομολογητή σας) και θα πρέπει να μπορείτε να δείτε την παλιά σας κυψελοειδή συσκευή, να κάνετε κλικ σε αυτήν και να εισαγάγετε αυτόν τον αριθμό IP σε αυτό το πλαίσιο.

Στη συνέχεια, επιλέξτε CAMERA και θα πρέπει να ξεκινήσετε την προβολή της ροής της κάμερας από το RC Car σας.

Βήμα 12: Τελείωσες

Τελείωσες!
Τελείωσες!

Τελείωσες! Ξεκίνα να παίζεις με αυτό

Μελλοντικές αλλαγές: Θα αλλάξω την μπαταρία 9V με μπαταρίες ιόντων λιθίου για να τις επαναφορτίσω και να χρησιμοποιήσω ρυθμιστή τάσης ενίσχυσης DC-DC, επίσης θέλω να ενισχύσω την οθόνη της μπαταρίας συμπεριλαμβάνοντας εξομάλυνση (μέσος όρος) των αναλογικών μετρήσεων. Δεν σχεδιάζει να συμπεριλάβει τον Α. Ι. Ακόμη …;-)

Έχω συμμετάσχει στον πρώτο μου διδακτικό διαγωνισμό … οπότε ψηφίστε;-)

Συνιστάται: