Σάββατο 6 Μαρτίου 2021

Τηλεκατευθυνόμενο bluetooth με arduino

Οι περισσότεροι συνομήλικοι άνδρες και όχι μόνο, στα παιδικά τους χρόνια έχουν παίξει με τηλεκατευθυνόμενα αυτοκινητάκια. Εγώ μικρός όχι μόνο έπαιξα πολύ με αυτά και υπήρξα μέγας μπαταριοφάγος, αλλά με ενέπνευσαν κιόλας! Μου κίνησαν την περιέργεια πως θα μπορούσα να τα αναβαθμίσω ή να τα επισκευάσω όταν χαλούσαν. Όλο αυτό πιστεύω οτι ήταν και ένας από τους λόγους (μαζί με τα υπόλοιπα ερεθίσματα από τον πατέρα μου) που με έκαναν να θελήσω να σπουδάσω ηλεκτρονικός.



Στο παρών post λοιπόν θα σας παρουσιάσω μια μετατροπή που έκανα σε ένα παλιό τηλεκατευθυνόμενο αυτοκινητάκι που είχα ωστε να μπορώ να το χειρίζομαι από το κινητό μου μέσω bluetooth. Η υλοποίηση αυτή βέβαια έγινε με τι άλλο, φυσικά με ένα Arduino! To Arduino Uno για την ακρίβεια.

Την ιδέα της υλοποίησης σκέφτηκα μετά από την ανακάλυψη ενός εξαιρετικού καναλιού στο youtube του Ηλία Λάμπρου. Ο Ηλίας Λάμπρου είναι ηλεκτρολόγος μηχανικός που διδάσκει στο ΤΕΙ Άρτας. Ο ίδιος έχει φτιάξει μια εξαιρετική mobile εφαρμογή  με την οποία μπορούμε να ελέγξουμε το Arduino μας μέσω bluetooth, wifi, lan, αλλά και αλλους ακόμα τρόπους που εφαρμόζονται στη βοιομηχανία, με μερικά απλά βήματα χωρίς να χρειαζόμαστε ιδιαίτερες ειδικευμένες γνώσεις. Η εφαρμογή βρίσκεται ελεύθερη στο Play Store και μπορείτε να την κατεβάσετε πληκτρολογώντας την λέξη "Virtuino".

Να τα πάρουμε λοιπόν από την αρχή.

Αρχικά θα χρειαστούμε ένα τηλεκατευθυνόμενο αυτοκινητάκι. Εγώ πήρα το τηλεκατευθυνόμενο που είχα μικρός απο το οποίο είχα χάσει και το χειριστήριο. Το συγκεκριμένο παίρνει 4 Χ ΑΑ μπαταρίες και άρα δουλεύει με 6 Volt. Είναι δηλαδή μια χαρά για να τροφοδοτήσει απευθείας το arduino.


Στην συνέχεια χρειαζόμαστε φυσικά ένα Arduino Uno που θα ελέγχει όλες τις λειτουργίες


Ένα bluetooth module HC-05 ή HC-06 για την επικοινωνία



Έναν servo motor SG 90 για τον έλεγχο του τιμονιού αριστερά - δεξιά



Μερικές αντιστάσεις 2.2ΚΩ ή εκει κοντά




Καλωδιάκια για τις συνδέσεις (αυτά που ενδείνυνται για arduino θα σας βολέψουν πολύ και θα χρειαστείτε και με αρσενικές και θυλικές απολίξεις).



Εγώ χρησιμοποίησα και μερικά led και ένα buzzer 6V για κόρνα


Πρώτα απ' 'ολα θα χρειαστεί να κάνετε την προετοιμασία που παρουσιάζει παρακάτω ο Ηλίας Λάμπρου. Θα χρειαστεί να εγκαταστήσετε το προγραμμα για το arduino στον υπολογιστή σας και να ακολουθήσετε βήμα βήμα τις οδηγείες του βίντεο. Θα χρειαστεί όλη σας η προσοχή για να γίνουν όλα ακριοβώς όπως αναφέρει το video! Ίσως χρειαστεί να το ανοίξετε και σε ένα άλλο παράθυρο για να βλέπετε καλύτερα. 

Εάν τελειώσατε έχετε κάνει όλο το δύσκολο κομμάτι! Η επικοινωνία κινητού και arduino επιτεύχθηκε!

Τώρα μένει να συνδέσουμε τα περιφερειακά μας όπως το σχέδιο παρακάτω



Στο παραπάνω σχέδιο υπάρχει ελεύθερο το pin 6 διότι στο δικό μου arduino είχε καεί. Εσείς μπορείτε να το χρησιμοποιήσετε κάνοντας την αντίστοιχη προσθήκη στον κώδικα

Στην συνέχεια πρέπει να συνδεθεί ο κινητήρας του αμαξιού με τα ρελέ. Η σύνδεση θα γίνει όπως το παρακάτω σχέδιο



Όπως αναγράφεται και στην εικόνα με αυτόν τον τρόπο θα μπορούμε να ελέγχουμε με ασφάλεια την φορά της περιστροφής του κινητήρα. Οι άκροδέκτες του κινητήρα συνδέονται στην επαφή com των relay.


Αφού λοιπόν συνδεθεί και ο κινητήρας στο κύκλωμα είμαστε έτοιμοι από πλευράς hardware! Στην συνέχεια θα πρέπει να κάνουμε κάποιες μετατροπές στην εφαρμογή του κινητού για να ελέγχουμε τα περιφερειακά. Θα πρέπει να φτιάξουμε μερικά κουμπάκια στην εφαρμογή όπως περίπου στην παρακάτω εικόνα




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


Στην συνέχεια πρέπει να περάσουμε τον εμπλουτισμένο κώδικα στην πλακέτα του Arduino. Στην πραγματικότητα είναι ο κώδικας του Ηλία Λάμπρου με μερικές προσθήκες από εμένα για τον έλεγχο του σερβοκινητήρα, των ρελέ και των άλλων περιφερειακών.

>>Τον κώδικα μπορείτε να τον κατεβάσετε από εδώ<<


Εάν έχετε κάνει όλες τις συνδέσεις όπως περιγράψαμε και έχετε έτοιμη την εφαρμογή στο κινητό και τον κώδικα περασμένο στο arduino δεν μένει παρα να παίξει σωστά!!

Ένα tip για την αποφυγή ενδεχόμενων τρεμοπαιγμάτων του σερβοκινητήρα όταν η εφαρμογή κάνει την τακτική επικοινωνία της με το module είναι να μεγαλώσετε τον χρόνο επικοινωνίας από την εφαρμογή από 1 sec σε ένα τριψήφιο νούμερο ωστε να μην σας επηρεάζει. Εγώ το ρύθμισα 999 sec.


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

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




Σας προτείνω να προσπαθήσετε να υλοποιήσετε το project, είναι πολύ ενδιαφέρον και εξάπτει την φαντάσία για το τι άλλο μπορούμε να χειριστούμε από το κινητό μας!!


Για οποιαδήποτε απορία επικοινωνήστε μαζί μου και ευχαρίστως να βοηθήσω εάν μπορώ.

Δεν υπάρχουν σχόλια:

Δημοσίευση σχολίου