Γράφει ο Γιώργος Κρανιδιώτης Μαθητής του 3ο Γυμνασίου Κερατσινίου
Περίληψη
Στο παρακάτω άρθρο θα σας δείξω πως να χειριστείτε ενα τηλεκατευθηνόμενο αυτοκίνητο που μπορεί να έχετε χάσει το τηλεχειριστήριο ή να εχει χαλάσει. Δεν θα χρειαστεί να φτιάξουμε καινούγιο χειριστήριο το μόνο που χρειάζεται είναι ένα κινητό τηλέφωνο android που μέσω μιας εφαρμογής και bluetοoth θα το χειρίζεστε.Από το τηλεκατευθυνόμενο θα κρατήσουμε μέσα στο σασί τον κινητήρα προώθησης και διεύθυνσης των τροχών και τα φώτα. Επίσης θα αφαιρέσουμε την προηγούμενη πλακέτα του αυτοκινητού και θα συνδέσουμε τις καινούργιες πλακέτες arduino uno και l298n και ενα αισθητήρα bluetooth.
Hardware
Απαραίτητα Υλικα
- Arduino uno board
- L293D motor driver
- HC-06 Bluetooth module
- RC Car
- 4x leds for lights
- 1x speaker/buzzer for horn sound
Συνδεσμολογίες
Για την δημιουργία του σχεδίου πηγαίνται στο link.
http://users.sch.gr/kgiannaras/fritzing/odigisi-dc-kinitiron-me-arduino-kai-l298n-driver.html
Βήματα υλοποίησης
Βήμα 1:
Ξεβιδώνω τις βίδες κάτω από το αμάξι .
Βήμα 2:
Αφαιρούμε την παλιά πλακέτα και την κεραία .
Για την κεραία αφαιρούμε .
Για την πλακέτα κόβουμε .
Τα καλώδια του μοτέρ .
Τα καλώδια του κινητήρα στροφής .
Τα καλώδια των μπροστινών και πίσω φωτών .
Τα καλώδια της μπαταριοθήκης .
Τέλος ξεβιώνουμε τις βίδες από τη πλακέτα και την αφαιρούμε από το αυτοκίνητο .
Βήμα 3:
Tοποθέτηση των πλακετών πάνω στο αυτοκίνητο .
Αφαιρούμε από το αυτοκίνητο τα καθίσματα ξεβιδώνοντας τις βίδες που έχουν. Για να έχουμε χώρο να βάλουμε τις πλακέτες.
Τοποθετούμε την σιλικόνη
και βάζουμε τις πλακέτες.
Για να καλυφθεί το κενό από τα καθίσματα κολλάμε μια φωτογραφία κάτοψης αυτοκινητού.
Βήμα 4:
Τα δύο καλώδια του κινητήρα κίνησης πάνε στις κλέμες OUT3 και OUT4 του l298n και μετά παίρνουμε δύο καλώδια dupont και βάζουμε τα θυληκά άκρα τους στις ακίδες IN3 και IN4 και τα αρσενικά άκρα τους μπαίνουν στις ακίδες 5 και 6 του arduino.
Τα δύο καλώδια του κινητήρα κίνησης πάνε στις κλέμες OUT1 και OUT2 του l298n και μετά πέρνουμε δύο καλώδια dupont και βάζουμε τα θυληκά άκρα τους στις ακίδες IN1 και IN2 και τα αρσενικά άκρα τους μπαίνουν στις ακίδες 10 και 9 του arduino.
Τα καλώδια της μπαταριοθήκης τα πηγαίνουμε στο l298n το κόκκινο καλώδιο εκεί που λέει +12v και το άσπρο στο GND. Από το GND του l298n παίρνουμε ένα καλώδιο και το πάμε στο GND του arduino και παίρνουμε ένα καλώδιο VIN του l298n και το πάμε στο VIN του arduino
Τα καλώδια των led τα συνδέουμε πρώτα με μια αντίσταση και τα βάζουμε σε ένα GND και στη θύρα 12 και 4.
Το καλώδιο RXD του hc-06 μπαίνει στη θύρα 1(TXD) του arduino , το καλώδιο TXD μπαίνει στη θύρα 0(RXD) , το καλώδιο GND του hc-06 μπαίνει στη κλέμα GND του l298n ,το καλώδιο VCC μπαίνει στο +5v του arduino και το καλώδιο STATE το πάμε στη θύρα 2 του arduino .
Software
Βήματα υλοποίησης
Βήμα 1: Φόρτωση λογισμικού σε Android
Για τον έλεγχο του αυτοκινήτου χρειαζόμαστε μια εφαρμογή Android την οποία κατεβάζουμε από το Play Store με το όνομα Bluetooth Rc Controller. Πριν ανοίξουμε την εφαρμογή ανοίγουμε το bluetooth . Όταν ανοίξουμε την εφαρμογή πάμε στα settings και επιλέγουμε connect to car και κάνουμε σάρωση συσκευών και όταν βρει το hc-06 το επιλέγουμε και τότε μπορούμε να το ελέγχουμε . Εκτός από την επιλογή οδήγησης με κουμπιά υπάρχει η επιλογή οδήγησης με την κίνηση του κινητού χάρη στο γηροσκόπειο του κινητού.
Βήμα 2: Φόρτωση λογισμικού στον Arduino
Για να προγραμματίσουμε την πλακέτα του Arduino πηγαίνουμε στον παρακάτω σύνδεσμο για να εγκαταστήσουμε το πρόγραμμα Sketch στα Windows.
http://users.sch.gr/kgiannaras/arduino/egkatastasi-logismikoy-arduino-ide-sta-windows.html
Μετά κατεβάζουμε το λογισμικό που θα φορτώσουμε στην μνήμη του Arduino επιλέγοντας τον επόμενο σύνδεσμο
http://users.sch.gr/kgiannaras/rc-models/images/projects/rc-cars/sport-car.rar
αποσυμιέζουμε το συμπιεσμένο αρχείο και τον φάκελο που θα δημιουργηθεί τον βάζουμε στο φάκελο arduino που βρίσκεται λογικά μέσα στα documents του υπολογιστή σας. Τέλος επιλέγουμε και φορτώνουμε το αρχείο sport-car.ino με την γνωστή διαδικασία compilation and uploading ή στα ελληνικά μεταγλώττιση και φόρτωση . Τα σήματα που στέλνει το κινητο στο hc-06 και αυτά μεταφέρονται arduino είναι σε γράμματα της αγγλικής αλφαβήτου για να τα μεταφράζει το arduino ετσι όπως λέει ο κώδικας του . Δηλαδή όταν πατάμε το κουμπί για να πάει μπροστά το κινητό στέλνει το γράμμα F , όταν πατάμε το κουμπί για να πάει πίσω στέλνει το γράμμα B , όταν πατάμε το κουμπί για να στρίψει δεξιά το κινητό στέλνει το γράμμα R , όταν πατάμε το κουμπί για να στρίψει αριστερά το κινητό στέλνει το γράμμα L ,όταν πατάμε τα κουμπιά για να στρίψει αριστερά και για να πάει μπροστά το κινητό στέλνει το γράμμα G , όταν πατάμε τα κουμπιά για να στρίψει δεξιά και για να πάει μπροστά το κινητό στέλνει το γράμμα I , όταν πατάμε τα κουμπιά για να στρίψει αριστερά και για να πάει πίσω το κινητό στέλνει το γράμμα H , όταν πατάμε τα κουμπιά για να στρίψει δεξιά και για να πάει πίσω το κινητό στέλνει το γράμμα J ,όταν δεν πατάμε τίποτα δηλαδή να σταματήσει στέλνει το σήμα S , όταν πατάμε το κουμπί για να ανάψουν τα μπροστίνα φώτα στέλνει το γράμμα W , για να σβήσουν το γράμμα w , όταν πατάμε το κουμπί για να ανάψουν τα πίσω φώτα στέλνει το γράμμα U , για να σβήσουν το γράμμα u .
Αποτέλεσμα
Στο τέλος έχουμε ένα rc car τηλεκατευθυνόμενο αυτοκίνητο μέσω της τεχνολογίας bluetooth που παλιά δεν λειτουργούσε ή είχε χαθεί το χειριστήριο του και καταφέραμε να το κάνουμε να ξαναδουλέψει.
πως το δοκίμασα
Το δοκίμασα με ένα κινητό Samsung Galaxy s5 με λογισμικό Android 6.0.1. Επίσης δοκιμάσαμε την εμβέλεια του bluetooth και μέχρι τα 25 μέτρα πήγαινε με την ταχύτητα που είχαμε ορίσει μετά άρχισε και πήγαινε και πιο αργά .
πλεονεκτήματα μειονεκτήματα
πλεονεκτήματα μεγάλη εμβέλεια 25 μέτρα , διάφοροι τρόποι χειρισμού .
μειωνέκτημα ελάττωση ταχύτητας μέτα τα 20 μέτρα , τα φώτα έχουν μικρή φωτεινότητα .
Συμπεράσματα - Βελτιώσεις
Θα μπορούσε να μπεί μία κόρνα γιατί το αμάξι δεν διαθέτει . Θα μπορούσα να προσθέσω ένα led που να ανάβει όταν τελειώνει η μπαταρία αφού τροποιήσουμε το κώδικα. Πρόσθεση επαναφορτιζόμενων μπαταριών. Καλύτερος αισθητήρας bluetooth για καλύτερη απόδοση και εμβέλεια . Αλλαγή κινητήρων για μεγαλύτερη ταχύτητα . Πρόσθεση ειδικού κώδικα και κάμερας για να ανιχνεύει τα εμπόδια και να αποφεύγει .Επιπλέον μπορούμε να προσθέσουμε ένα αισθητήρα υπερήχων για να εντοπίζει εμπόδια και να αποφεύγει τις συγκρούσεις .
Πρώτη βελτίωση
Όπως αναφέρθηκε πιο πάνω μια βελτίωση είναι η πρόσθεση ενός αισθητήρα υπερήχων .Αυτή την βελτίωση θα σας δείξω .
ΥΛΙΚΑ
Αισθητήρας υπερήχων(HC-SR04)
4Χ Καλώδια
PLA πλαστικό 1,75mm
4Χ Βίδες M3x16mm
Οι υπέρηχοι είναι μεγάλα ηχητικά κύματα με συχνότητες υψηλότερες από το ακουστικό όριο της ανθρώπινης ακοής.
Τα ανθρώπινα αυτιά μπορούν να ακούσουν τα ηχητικά κύματα που δονούν στο εύρος από περίπου 20 φορές το δευτερόλεπτο(20Hz) έως περίπου 20.000 φορές το δευτερόλεπτο (20KHz).
Ωστόσο, ο υπέρηχος έχει συχνότητα άνω των 20.000 Hz και κατά συνέπεια δεν ακούγεται από τον άνθρωπο.
Τεχνικά χαρακτηριστικά
Τάση λειτουργίας 5V
Λειτουργικό ρεύμα 15mA
Συχνότητα λειτουργίας 40KHz
Μέγιστη εμβέλεια 4m
Ελάχιστη απόσταση 2cm
Διακριτική ακρίβεια 1cm
Γωνία μέτρησης 15 μοιρών
Σήμα εισόδου ενεργοποίησης 10μS παλμού TTL
Διαστάσεις 45 x 20 x 15 mm
Πως δουλεύει
Όλα ξεκινούν όταν ένας παλμός τουλάχιστον 10 μS (10 μικροδευτερόλεπτα) σε διάρκεια εφαρμόζεται στον ακροδέκτη Trigger. Ο αισθητήρας μεταδίδει μια ηχητική έκρηξη οκτώ παλμών στα 40 KHz. Αυτό το μοτίβο 8 παλμών καθιστά τη «υπερηχητική υπογραφή» από τη συσκευή μοναδική, επιτρέποντας στον δέκτη να διαφοροποιήσει το μεταδιδόμενο μοτίβο από τον περιβαλλοντικό θόρυβο υπερήχων.
Στην περίπτωση, εάν οι παλμοί δεν αντανακλούν, το σήμα Echo έξοδος του αισθητήρα θα λήξει σε χρονικό όριο μετά από 38 mS (38 χιλιοστά του δευτερολέπτου) και θα επιστρέψει χαμηλά (Low) στα 0 βολτ. Έτσι, ένας παλμός 38 mS δεικνύει κανένα εμπόδιο εντός της εμβέλειας του αισθητήρα.
Αν αυτοί οι παλμοί αντανακλώνται πίσω, ο ακροδέκτης Echo σβήνει αμέσως (χαμηλό δυναμικό) μόλις ληφθεί το σήμα. Αυτό παράγει έναν παλμό του οποίου το πλάτος κυμαίνεται μεταξύ 150 μS έως 25 mS, ανάλογα με το χρόνο που χρειάζεται για να ληφθεί το σήμα.
Το πλάτος του λαμβανόμενου παλμού χρησιμοποιείται στη συνέχεια για τον υπολογισμό της απόστασης προς το ανακλώμενο αντικείμενο.
ΑΠΟΣΤΑΣΗ= ΧΡΟΝΟΣ * ΤΑΧΥΤΗΤΑ (Ταχύτητα είναι η γνωστή ταχύτητα του ήχου που ισούται με 340 m /sec)
ή
ΧΡΟΝΟΣ= ΑΠΟΣΤΑΣΗ / ΤΑΧΥΤΗΤΑ
ή
ΤΑΧΥΤΗΤΑ= ΑΠΟΣΤΑΣΗ / ΧΡΟΝΟΣ
ένα μικρό παράδειγμα υπολογισμού απόστασης σύμφωνα με το προηγούμενο animation που δείχνει τον παλμό echo να διαρκεί 500 μs
Θα χρησιμοποιήσουμε τον τύπο ΑΠΟΣΤΑΣΗ= ΧΡΟΝΟΣ * ΤΑΧΥΤΗΤΑ
Ο χρόνος αυτός είναι διπλός και είναι ο χρόνος που διανύουν οι παλμοί από τον αισθητήρα μέχρι το εμπόδιο και περιλαμβάνεται και ο χρόνος επιστροφής μέχρι τον αισθητήρα έτσι εμείς το χρόνο αυτό θα τον διαιρέσουμε δια του 2
Θα μετατρέψουμε την ταχύτητα του ήχου από m /sec σε cm/μs άρα πολλαπλασιάζουμε με το 100 και διαιρούμε με το 1.000.000
340 * 100 / 1.000.000 = 0.034
ΑΠΟΣΤΑΣΗ= ΧΡΟΝΟΣ * ΤΑΧΥΤΗΤΑ κάνουμε αντικατάσταση
ΑΠΟΣΤΑΣΗ=(500 μs)/2 * 0.034 cm/μs κάνουμε την διαίρεση
ΑΠΟΣΤΑΣΗ=250 μs * 0.034 cm/μs κάνουμε την απλοποίηση μs
ΑΠΟΣΤΑΣΗ=250 * 0.034 cm = 8.5 cm
ΣΥΝΔΕΣΜΟΛΟΓΙΑ
Εδώ είναι το σχεδιαστικό αρχείο auto with ultrasonic
ΒΗΜΑ 1
Εκτυπώνουμε το παρακάτω stl αρχείο με έναν 3d εκτυπωτή .
HC-SR04case
ΒΗΜΑ 2
Αφού εκτυπώσετε τα κομμάτια , ανοίξτε στο καπό του αυτοκινήτου και στο 3d κομμάτι που ενώνεται με το αυτοκίνητο , δύο τρύπες 2mm και βιδώστε τα δύο κομμάτια μαζί με 2 βίδες M3x16mm .
ΒΗΜΑ 3
Πριν βάλουμε ετον αισθητήρα θα του λυγήσουμε τις ακίδες για να μπορούμε να συνδέσουμε τα καλώδια .
ΒΗΜΑ 4
Ενώνουμε την θήκη του αισθητήρα με τον αισθητήρα μέσα με 2 βίδες M3x16mm .
ΒΗΜΑ 5
Ανοίγουμε μια τρύπα 7mm για να μπορούν να περάσουν τα καλώδια του αισθητήρα .
ΒΗΜΑ 6
Ενώνουμε τα καλώδια με τον αισθητήρα , τα περνάμε μέσα από την τρύπα και τα ενώνουμε με το arduino .
ΒΗΜΑ 7
Φορτώστε τον κώδικα
auto-hc-sr04