Ας φτιάξουμε ένα ρομπότ, μέρος πρώτο

Έρχεται ο χειμώνας με πολλές βροχές, κρύο και βαρεμάρα. Μπορείς να αρχίσεις πλέξιμο, κέντημα, σκι ή οτι άλλο θέλεις. Μπορείς επίσης να φτιάξεις το δικό σου ρομπότ και αυτό θα κάνουμε σήμερα και σε δύο-τρεία ακόμη άρθρα. Ετοιμάστε δάχτυλα και πληκτρολόγια, κολλητήρια και κατσαβίδια, πορτοφόλια και PayPal, γιατί θα φτιάξουμε το ολοδικό μας ρομπότ. Δεν νομίζω να προλάβουμε στο πρώτο άρθρο πολλά αλλά θα δούμε πως θα βγει. Δεν έχω ιδέα από δαύτα. Όχι εντάξει ψυχραιμία κάτι ψιλοξέρω αλλά τα περισσότερα τα μαθαίνω τώρα και στην πορεία. Τα υλικά για το δικό μου ρομπότ είναι στον δρόμο και για να γλυκάνω την αναμονή είπα να ανεβάζω πρόοδο αλλά και πως το σχεδίασα και το έφτιαξα. Φυσικά θα αναλύω αηδιαστικά έτσι ώστε κάποιος με βασικές γνώσεις να πάρει καμιά ιδέα ή και γιατί όχι να φτιάξει και αυτός το δικό του ρομπότ από το μηδέν. Χωρίς πολλά-πολλά, ξεκινάμε;

Για αρχή θα πρέπει να αποφασίσουμε τι θέλουμε να κάνει αυτό το ρομπότ… Χμμ… Προφανώς δεν θα μπορεί να κάνει και πολλά και φυσικά δεν θα συγκρίνεται με τον Asimo. Μια καλή αρχή και χωρίς να έχει πολλά έξοδα (αν δεν θες στο μέλλον να εξελιχθεί) είναι ένα ρομπότ που αποφεύγει εμπόδια και ναι, αυτό θα κάνουμε. Για αρχή. Μετά θα έχει και συνέχεια. Μπορείτε να το πάρετε σαν απειλή αυτό. Το ρομπότ αυτό θα είναι ικανό να κινείται (φυσικά!) και μόλις βρεθεί σε κάποιο εμπόδιο να μπορεί να το αποφεύγει, για αρχή λίγο «χαζά» αλλά στο μέλλον θα δούμε πως μπορεί να γίνει λίγο εξυπνότερο. Α ναι, θα έχει ρόδες και όχι πόδια.

Θα βασιστούμε πάνω στο Arduino και στις αμέτρητες βιβλιοθήκες και shields που υπάρχουν για αυτό. Το πρόγραμμα μας όπως το υπολογίζω στο μυαλό μου θα είναι γύρω στις 50, το πολύ, γραμμές και με την μισή δουλειά να έχει γίνει από τους διάφορους προγραμματιστές των βιβλιοθηκών. Αυτό βέβαια δε σημαίνει ότι δε θα αναλύσουμε πως λειτουργεί και πως δουλεύει η κάθε βιβλιοθήκη ούτε ότι δε θα το πάμε ένα βήμα πιο πέρα εμείς. Θα προσπαθήσουμε να το κάνουμε λίγο γενικό μιας και υπάρχουν αρκετοί συνδιασμοί hardware και ο καθένας έχει τον δικό του τρόπο λειτουργίας. Ας πάρουμε ένα-ένα όλα τα «κομμάτια» που θα χρειαστούμε. Θα προσπαθήσουμε να μην φτιάξουμε τίποτα μόνοι και θα καταφύγουμε σε εύκολες λύσεις. Ναι, ανεβαίνει αρκετά το κόστος αλλά το αποτέλεσμα είναι πολύ καλύτερο από ένα κομμάτι ξύλο με ρόδες και φυσικά θα μπορούμε να αναβαθμίσουμε αρκετά ευκολότερα, αν φυσικά θέλουμε!

Μέχρι τώρα έχω ανακαλύψει δύο μαγαζιά, το ένα είναι το DFRobot που έχει κυρίως δικά του προϊόντα, από απλές πλακέτες και ρόδες μέχρι ολόκληρα, επαγγελματικά ρομπότ (με τιμές έως και 4 ψηφία). Από εκεί επέλεξα τα περισσότερα εξαρτήματα για το ρομπότ μου όπως το σασί αλλά και την custom έκδοση του Arduino που θα χρησιμοποιήσω. Το δεύτερο μαγαζί και αυτό που πραγματικά με έσωσε είναι το RobotShop της Ευρώπης. Έχει προϊόντα από πάρα (μα πάρα) πολλά μαγαζία και δεν μένει μόνο στα hobby robots, αλλά ξεφεύγει σε αρκετά πολύπλοκα μηχανήματα με αρκετά μηδενικά στις τιμές τους. Με λίγα λόγια είναι μεγάλο και έχει τεράστια ποικιλία. Πρώτο καλό του RobotShop, στέλνει από Γαλλία που σημαίνει ότι γλιτώνεις τραβήγματα με τελωνείο, δεύτερο καλό ότι έχει όλα τα προϊόντα του DFRobot (που βρίσκεται κάπου στην άπω ανατολή) και σε γλιτώνει από ένα μήνα υπομονής αλλά και όπως είπαμε τελωνείο και βόλτες στο αεροδρόμιο.

0. Σασί

Όλα όσα φτιάξουμε χρειάζονται μια βάση. Μπορούμε είτε να την φτιάξουμε μόνοι όπως είπαμε πριν, είτε να την αγοράσουμε έτοιμη. Το δεύτερο κατά την γνώμη μου είναι καλύτερο, πιο «καθαρό» και φυσικά είμαστε σίγουροι ότι δε θα φεύγουν ρόδες και δε θα διαλύεται κατά την λειτουργία. Επίσης η τιμή ενός έτοιμου σασί είναι αρκετά χαμηλή, οπότε δεν βρίσκω λόγο να μην το αγοράσει κανείς. Εξαιρούνται φυσικά όσοι έχουν laser cutter και κόβουν plexiglass και ξύλο, τότε εντάξει. Εδώ έχουμε δύο επιλογές. Θέλουμε το ρομπότ να είναι με δύο ή με τέσσερις ρόδες; Αν θέλουμε ένα απλό ρομπότ που απλώς αποφεύγει εμπόδια, τότε ένα σασί με δύο ρόδες μας αρκεί. Στο DFRobot υπάρχουν αρκετά σασί και ξεκινούν από 20€, στο eBay επίσης υπάρχει αρκετό υλικό (βλ. keyword: robot chassis και τα related του).

Για το δικό μου ρομπότ επέλεξα το σασί με τις τέσσερις ρόδες από το DFRobot. Καθαρά προσωπική επιλογή ή και βίτσιο. Εδώ να σημειώσουμε ότι καλό θα ήταν το σασί να υποστηρίζει wheel encoders, ειδικά αν στοχεύουμε σε μελλοντική εξέλιξη και αναβάθμιση. Με τα wheel encoders, το ρομπότ θα μπορεί να καταλάβει πόσο έχουν γυρίσει οι ρόδες του με ακρίβεια. Για παράδειγμα αν προχωράει μπροστά, μέσα από τους wheel encoders θα μπορεί να βρει ότι μετακινήθηκε 10 εκατοστά. Ξαναλέω, αν κοιτάμε για ένα απλό ρομπότ δεν μας ενδιαφέρουν αυτά, αφού απλώς θα κουτουλάει στον τοίχο.

1. Μυαλό

Όπως είπαμε θα χρησιμοποιήσουμε το Arduino σαν κεντρικό επεξεργαστή. Προσωπικά επέλεξα το DFRobot RoMeo που πρόκειται για μια custom έκδοση της πλακέτας του Arduino με διάφορα εξαρτήματα για ρομπότ ενσωματωμένα πάνω στην πλακέτα. Επιπλέον έχει θέσεις για βύσματα όπου μπορείς να συνδέσεις όλα τα εξαρτήματα που θα έχεις στο ρομπότ σου. Δεν θα χρειάζεται δηλαδή να μπλέκεις με breadboard, καλώδια που πετάνε, βγαίνουν και άλλα τέτοια ωραία.

Φυσικά μπορούμε να χρησιμοποιήσουμε το κλασικό Arduino αλλά θα χρειαστούμε μια «motor shield». Shield στο Arduino είναι οι πλακέτες που μπαίνουν πάνω από αυτό και του προσθέτουν δυνατότητες. Τα μοτέρ είναι αρκετά «βαριά» εξαρτήματα και έτσι το Arduino χρειάζεται εξωτερικό hardware για να τα ελέγχει. Η «motor shield» κάνει αυτή ακριβώς την δουλειά. Η πρώτη «motor shield» και αυτή που θα χρησιμοποιήσουμε σχεδιάστηκε από την γνωστή ladyada και στο eBay μπορούμε να βρούμε κλώνο της γύρω στα 8€. Το DFRobot RoMeo όπως είπαμε έχει ενσωματωμένο αυτό το hardware οπότε γλιτώνουμε ήδη μια shield!

2. Αισθητήρες

Αφού το ρομπότ μας απλά θα αποφεύγει εμπόδια (ξαναλέω για 12338η φορά: ΓΙΑ ΑΡΧΗ!), δεν χρειάζεται να έχει περίεργους αισθητήρες. Αν επιλέξουμε κάποιο από τα προηγούμενο σασί του DFRobot, τότε υπάρχουν ήδη θέσεις για συγκεκριμένους αισθητήρες υπερύθρων. Τους παρακάτω αισθητήρες μπορούμε να τους βρούμε και στα δύο μαγαζία που είπαμε πριν αλλά και στο eBay σε χαμηλότερη τιμή και με δωρεάν έξοδα αποστολής. Επίσης, ο τρόπος που μπορούμε να ελένξουμε αν έχουν εντοπίσει κάποιο εμπόδιο είναι κάτι παραπάνω από γελοίος, με μια απλή κλήση στην συνάρτηση digitalRead() του Arduino.

int read_sensor(int sensor_pin) {
	// Extra stuff here, debouncing, etc.
	return digitalRead(sensor_pin);
}

Τέλος, να σημειώσω ότι επιπλέον δίνουν την δυνατότητα να ρυθμίσεις μέχρι ποιά απόσταση θες να εντοπίζουν εμπόδια, από περίπου 3 έως 80 εκατοστά! Τους συγκεκριμένους τους παρήγγειλα από έναν πωλητή στο eBay και έφτασαν προ ολίγων ημερών. Μπορώ να πω ότι έπαθα πλάκα και από ποιότητα κατασκευής αλλά και από τρόπο λειτουργίας! Είχα τραυματικές εμπειρίες με αισθητήρες υπερύθρων στα παιδικά μου χρόνια, οπότε ναι, ενθουσιάζομαι εύκολα.

Αυτό ήταν, θέλατε και άλλο; Το μόνο που θα πρέπει να προσέξουμε είναι όλα τα εξαρτήματα που θα επιλέξουμε να ταιριάζουν μεταξύ τους ή με κάποιο τρόπο να τα ταιριάξουμε εμείς και φυσικά να επικοινωνούν μεταξύ τους (ένα απλό Google search θα δώσει άμεση απάντηση). Ο κώδικας και η συναρμολόγηση σε λίγες εβδομάδες, όταν αρχίσουν να καταφθάνουν τα εξαρτήματα του ρομπότ μου. Για την ώρα, όλα εξαρτώνται από το RobotShop που δεν έχει stock το DFRobot RoMeo.

34 σχόλια στο “Ας φτιάξουμε ένα ρομπότ, μέρος πρώτο”

  1. Καλή αρχή και πολλά μπράβο από εμένα!! Θα σε διαβάζω ανελειπώς!! Αυτό το άρθρο είναι κι ένας λόγος για να μην εγκαταλείψεις την προσπάθεια!! Παμεεεεεεεεεεεεε!!!!!!!!!

    1. Χμμ… Δεν μου πέρασε κάν απ’ το μυαλό να το κάνω. Για να δούμε:

      1) Σασί 2WD – $41 – http://www.dfrobot.com/index.php?route=product/product&path=37&product_id=65
      2) Arduino – $24 – http://www.dfrobot.com/index.php?route=product/product&path=52&product_id=49
      3) Motor shield – $14 – http://www.dfrobot.com/index.php?route=product/product&filter_name=motor&page=2&product_id=59
      4) Sensor – $7.5 x 3 – http://www.dfrobot.com/index.php?route=product/product&path=36_55&product_id=114

      Σύνολο: 101,5 USD
      Σύμφωνα με το Google: 105 U.S. dollars = 75.6920415 Euros

      Χωρίς shipping το οποίο είναι αρκετό, πες ένα 30άρι περίπου.

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

      1. Πρώτον, επειδή δεν έχω ασχοληθεί ποτέ με το να παραγκιλο κάτι απέξω δηλαδή απ άλλη χώρα θα ήθελα να μου εξηγήσεις πως γίνεται αυτό… δεύτερον έχω κάτι στο μυαλό μου για το τι θέλω να φτιάξω αλλά θα ήθελα βοήθεια να επιλέξω καλά πράγματα πχ. Arduino Uno R3 http://www.dfrobot.com/index.php?route=product/product&path=52_104&product_id=610#.UHVHpPYaNnl
        είναι καλό για ότι διποτες ρομπότ δηλαδή να αποφεύγει εμπόδια η και για παραπάνω πράγματα..?? και τέλος θα ήθελα να προσθέσω κάτι τέτοιο στο μέλλον του ρομπότ… 6 DOF Robotic Arm http://www.dfrobot.com/index.php?route=product/product&product_id=192#.UHVI7vYaNnl
        αύτα για τώρα.

        1. Για να παραγγείλεις απ’ το εξωτερικό χρειάζεσαι μια κάρτα VISA (είτε χρεωστική, είτε πιστωτική) την οποία πρέπει να συνδέσεις με έναν λογαριασμό στο PayPal.com.

          Τώρα για το robot, θα σου πρότεινα να βρεις κάποιο kit που τα έχει όλα έτοιμα και να πειραματιστείς πάνω του. Προσωπικά από kit ξεκίνησα και δυσκολεύτηκα αρκετά να επιλέξω κομμάτια για το robot μου. Θέλει εμπειρία και φυσικά να έχεις αποφασίσει τι θες να κάνεις 😉

    1. Μπορείς να ψάξεις οδηγούς στο Internet για το πως φτιάχνεις ρομποτάκια με το Arduino ή να περιμένεις να αξιωθώ να ξανασχοληθώ με το θέμα! 😀

  3. γεια σας!Με λένε Χρήστο και εντυπωσιάστηκα τοσο πολυ απο το αρθρο σας που θέλω να φτιαξω το δικο μου ρομποτ.Θα σας ημουν ευγνωμων αν γραφατε και τη συνεχεια.Μη μας αφηνετε με την ορεξη!!!!

  4. Καλησπέρα φίλε πολύ ενδιαφέρον το θέμα σου.Πότε λες να το συνεχίσεις;[όντως δίκιο έχει ένα παλικάρι μη μείνουμε με την όρεξη :)]

    1. Όπως είπα θα ξανασχοληθώ με το θέμα αυτό αρκετά σύντομα, μέχρι τότε μπορείς να μου στείλεις ένα email να σε βοηθήσω σε ότι θέλεις!

  5. Λέει ότι:

    Κάθε βιβλιοεργαστήριο αυτής της σειράς ασχολείται με ένα συγκεκριμένο θέμα και ολοκληρώνεται πάντα με μία καταπληκτική κατασκευή.
    Σε αυτό το βιβλιοεργαστήριο θα μάθεις πώς λειτουργούν τα ρομπότ και για ποιον λόγο τα στέλνουμε στο διάστημα. Θα ανακαλύψεις τον συναρπαστικό κόσμο της ρομποτικής και πώς η πραγματικότητα ξεπερνάει την επιστημονική φαντασία! Στο τέλος θα κατασκευάσεις κι εσύ ένα καταπληκτικό ρομπότ, το οποίο θα κινείται μόνο του και θα αλλάζει αυτομάτως κατεύθυνση, κάθε φορά που θα συναντά στον δρόμο του εμπόδια.
    Στο βιβλιοεργαστήριο περιέχονται όλα όσα σου χρειάζονται: το μοτέρ, ο αισθητήρας, τα καλώδια κ.λπ.

    1. Δε πρέπει να είναι τόσο πολύπλοκο όσο αυτό στο άρθρο (σίγουρα δε θα προγραμματίζεται), αλλά για αρχή νομίζω είναι ότι πρέπει!

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

  7. Γεια σου φιλε μου θα ηθελα να σε ρωτησω ειμαι 13 και ρωταω αν εχω τις γνωσεις ισως υωρα να φτιαξω ενα ρομποτ και πως και που θα βρω υλικα

    1. Γεια σου Νικόλα.Η δημιουργία ενός ρομπότ με την πλακέτα Arduino είναι πλέον εύκολη υπόθεση(χάρη στο internet).Αν είσαι άπειρος από το Arduino θα σου πρότεινα να φτιάξεις για αρχή ένα ρομπότ το οποίο θα αποφεύγει εμπόδια.

      https://www.youtube.com/watch?v=t3kXWSctj2Q

      Το παλικάρι στο video τα περιγράφει βήμα προς βήμα την υλοποίηση και είναι μια καλή αρχή για έναν αρχάριο.

Αφήστε μια απάντηση

Η ηλ. διεύθυνση σας δεν δημοσιεύεται. Τα υποχρεωτικά πεδία σημειώνονται με *