καλημέρα-καλησπέρα,
εδώ Σάκης έτοιμος για όλα! Κι εσύ το ίδιο, ελπίζω!
Γιατί σήμερα θα ασχοληθούμε με δύο καυτά θέματα: κίνηση και ενέργεια!
Όλοι σχεδόν παραδέχονται ότι η κίνηση είναι ένδειξη ζωής. Εξαίρεση αποτελούν οι καθηγητές που δεν θέλουν να περπατάνε τα παιδιά μέσα στην τάξη! Αλλά ας μην το συζητήσουμε τώρα αυτό... Εμείς είμαστε υπέρ της κίνησης και της υπερκίνησης και όλων των κινήσεων!
Τι λες να συνδέσουμε στο arduino για να πετύχουμε κίνηση; Έλα, πες το! Δεν σε ακούει κανείς... Τι; μια ρόδα; Εντάξει, να το δεχτώ, αν και ομολογώ ότι είναι προχωρημένη σκέψη!
Λοιπόν φίλε μου, αυτό που πρέπει να συνδέσουμε στο arduino για να επιτύχουμε κίνηση, είναι για παράδειγμα ένας σερβοκινητήρας.
Τι μπορεί να κάνει ένας σερβοκινητήρας (servo motor): να στρέφει αυτό το άσπρο πτερυγιάκι που βλέπεις στο σχήμα μεταξύ συγκεκριμένων θέσεων (0o - 180ο). Εσύ του λες την γωνία περιστροφής κι εκείνο σε υπακούει χαλαρά!
Τι δεν μπορεί να κάνει: να περιστρέφεται συνεχώς γύρω-γύρω (0o - 360o). Εντάξει, μην τα θέλουμε κι όλα....
Και τώρα θα μου πείς ότι η ρόδα θα μπορούσε να μπει πάνω στο πτερύγιο του κινητήρα κι έτσι να γυρνάει προς τα όπου επιθυμείς! Είδες; είχες δίκιο τελικά!
Λοιπόν, βάλε κάτι πάνω στο πτερύγιο του servo και δοκίμασε να το ελέγξεις με τον ακόλουθο κώδικα. Φίλε, καλή επιτυχία!
Νομίζω ότι σου χρωστάω μερικές εξηγήσεις ακόμη για το τι είναι αυτός ο μικρός κύλινδρος που υπάρχει στο κύκλωμα. Είναι ένας πυκνωτής! Άγνωστη λέξη, ε; Χμ! ναι... έχεις δίκιο! Εδώ λοιπόν μπαίνουμε στο δεύτερο καυτό θέμα: ενέργεια!
Οι κινητήρες είναι γνωστοί ως αδηφάγα όντα. Τι; κι άλλη άγνωστη λέξη; Χμ! ναι... Αδηφάγος είναι αυτός που τρώει πολύ, που καταπίνει τεράστιες ποσότητες από τα πάντα!
Ε, λοιπόν, ο σερβοκινητήρας παρουσιάζει που και που μια τέτοια συμπεριφορά! Απαιτεί από το arduino τόση ενέργεια που το arduino δεν μπορεί να του την δώσει. Ε, και τότε το μοτεράκι τρελαίνεται, αντιδρά, δεν υπακούει, περιστρέφεται προς όπου του έρθει, και κάνει και πολλά ακόμη τέτοια ανάρμοστα πράγματα....
Συμβουλές του τύπου δεν έχουν εφαρμογή εδώ, ούτε αυτού του τύπου φυσικά, και καλύτερα ας αποφύγουμε αυτού του τύπου προς το παρόν...
Ας κάνουμε κάτι απλούστερο: ας βάλουμε δίπλα στο μοτεράκι μια μικρή αποθήκη ενέργειας. Έναν πυκνωτή! O πυκνωτής θα φροντίσει να υπάρχει η απαιτούμενη ενέργεια την κατάλληλη στιγμή.
Ε, αν δεν τα καταφέρει κι ο πυκνωτής, τότε θα καταφύγουμε σε ... δραστικές λύσεις για να λύσουμε το πρόβλημα της ενέργειας: όχι, δεν θα κάνουμε πόλεμο! Θα χρησιμοποιήσουμε εξωτερική τροφοδοσία, τεράστια μπαταρία, ηλιακή ενέργεια και ό,τι άλλο θέλεις!
Να σου πω την αλήθεια, βαρέθηκα να βλέπω αυτό το πραγματάκι να στριφογυρνάει τόση ώρα. Εσύ; Προχωράμε λοιπόν!
Προτείνω να φτιάξεις έναν γερανό ο οποίος να ανεβάζει και να κατεβάζει ένα φορτίο με την βοήθεια ενός servo. Εσύ θα ελέγχεις το servo με την βοήθεια ενός ποτενσιόμετρου. Χε, χε, κι άλλη άγνωστη λέξη, ε; Είναι η μέρα σήμερα!
Το ποτενσιόμετρο είναι μια μεταβλητή αντίσταση. Συνδέεται σε ένα αναλογικό pin του arduino.
Θυμάσαι την διαφορά μεταξύ ψηφιακών και αναλογικών pins; Ωραία!
Και φυσικά, φυσικά, το ποτενσιόμετρο θα συνδεθεί στο arduino ως;;;; Ναι! Είσοδος!
Kαι κάτι άλλο: στο παραπάνω κύκλωμα έχω παραλείψει τον πυκνωτή. Σκόπιμα! Φίλε μου, είσαι αρκετά έμπειρος πλέον για να αποφασίσεις μόνος σου αν θα τον προσθέσεις ή όχι. Σε τέτοιες αποφάσεις ζωής δεν πρέπει να σε επηρεάζει κανείς! Δική σου είναι η απόφαση αν θα ρισκάρεις να κάψεις το arduino σου!
Λειτουργεί ο γερανός; Τέλεια! Στείλε μου φωτογραφίες και βίντεο! Το mail μου είναι [email protected]
Μια ιδέα για να συνεχίσεις:
- Μπορείς να συνδέσεις 3 leds στον γερανό: πράσινο, κόκκινο, κίτρινο (ας πούμε).
Το πράσινο θα ανάβει όταν το servo είναι στην μέση. Το κόκκινο θα ανάβει όταν θα έχει στρίψει αρκετά προς τα δεξιά. Το κίτρινο θα ανάβει όταν ο γερανός θα έχει στρίψει αρκετά προς τα αριστερά.
και η στρατηγική που σου προτείνω:
Ο έλεγχος της θέσης του servo θα βασιστεί στην γωνία περιστροφής σε σχέση με την κατασκευή που έχεις φτιάξει.
Φίλε, καλή επιτυχία!!
περιμένω νέα σου στο codebender
τα ξαναλέμε σε μια εβδομάδα
Σάκης