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

EyeRobot - το ρομποτικό λευκό μπαστούνι: 10 βήματα (με εικόνες)
EyeRobot - το ρομποτικό λευκό μπαστούνι: 10 βήματα (με εικόνες)

Βίντεο: EyeRobot - το ρομποτικό λευκό μπαστούνι: 10 βήματα (με εικόνες)

Βίντεο: EyeRobot - το ρομποτικό λευκό μπαστούνι: 10 βήματα (με εικόνες)
Βίντεο: Fastest 100 meters by a bipedal robot - 24.73 seconds 🤖 2024, Ιούλιος
Anonim
EyeRobot - το ρομποτικό λευκό μπαστούνι
EyeRobot - το ρομποτικό λευκό μπαστούνι

Περίληψη: Χρησιμοποιώντας το iRobot Roomba Create, έχω πρωτοτυπώσει μια συσκευή που ονομάζεται eyeRobot. Θα καθοδηγήσει τυφλούς και άτομα με προβλήματα όρασης μέσα σε ακατάστατα και πυκνοκατοικημένα περιβάλλοντα χρησιμοποιώντας το Roomba ως βάση για να παντρέψει την απλότητα του παραδοσιακού λευκού μπαστούνι με το ένστικτο ενός σκύλου που βλέπει τα μάτια. Ο χρήστης υποδεικνύει την επιθυμητή του κίνηση πιέζοντας και περιστρέφοντας διαισθητικά τη λαβή. Το ρομπότ λαμβάνει αυτές τις πληροφορίες και βρίσκει ένα σαφές μονοπάτι σε ένα διάδρομο ή σε ένα δωμάτιο, χρησιμοποιώντας σόναρ για να κατευθύνει τον χρήστη προς την κατάλληλη κατεύθυνση γύρω από στατικά και δυναμικά εμπόδια. Στη συνέχεια, ο χρήστης ακολουθεί πίσω από το ρομπότ καθώς καθοδηγεί τον χρήστη προς την επιθυμητή κατεύθυνση από την αισθητή δύναμη που γίνεται αισθητή μέσω της λαβής. Αυτή η ρομποτική επιλογή απαιτεί λίγη εκπαίδευση: σπρώξτε για να πάτε, τραβήξτε για να σταματήσετε, στρίψτε για να στρίψετε. Η προνοητικότητα που παρέχουν οι ανιχνευτές εμβέλειας είναι παρόμοια με έναν σκύλο που βλέπει τα μάτια και είναι ένα σημαντικό πλεονέκτημα έναντι της συνεχούς δοκιμής και σφάλματος που σηματοδοτεί τη χρήση του λευκού μπαστούνι. Ωστόσο, το eyeRobot εξακολουθεί να παρέχει μια πολύ φθηνότερη εναλλακτική λύση από τα σκυλιά -οδηγούς, τα οποία κοστίζουν πάνω από $ 12, 000 και είναι χρήσιμα μόνο για 5 χρόνια, ενώ το πρωτότυπο κατασκευάστηκε για πολύ κάτω από $ 400. Είναι επίσης ένα σχετικά απλό μηχάνημα, που απαιτεί μερικούς φθηνούς αισθητήρες, διάφορα ποτενσιόμετρα, κάποιο υλικό και φυσικά, ένα Roomba Create.

Βήμα 1: Επίδειξη βίντεο

Επίδειξη βίντεο
Επίδειξη βίντεο

Έκδοση υψηλής ποιότητας

Βήμα 2: Επισκόπηση λειτουργίας

Επισκόπηση λειτουργίας
Επισκόπηση λειτουργίας

Έλεγχος χρηστών: Η λειτουργία του eyeRobot έχει σχεδιαστεί για να είναι όσο το δυνατόν πιο διαισθητική για να μειώσει ή να εξαλείψει πολύ την εκπαίδευση. Για να ξεκινήσει η κίνηση, ο χρήστης πρέπει απλώς να αρχίσει να βαδίζει προς τα εμπρός, ένας γραμμικός αισθητήρας στη βάση του ραβδιού θα πάρει αυτή την κίνηση και θα αρχίσει να κινεί το ρομπότ προς τα εμπρός. Χρησιμοποιώντας αυτόν τον γραμμικό αισθητήρα, το ρομπότ μπορεί στη συνέχεια να ταιριάξει την ταχύτητά του με την επιθυμητή ταχύτητα του χρήστη. Το eyeRobot θα κινείται όσο γρήγορα θέλει ο χρήστης. Για να υποδείξει ότι είναι επιθυμητή η στροφή, ο χρήστης πρέπει απλώς να στρίψει τη λαβή και εάν είναι δυνατή μια στροφή, το ρομπότ θα απαντήσει ανάλογα.

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

Βήμα 3: Αισθητήρες εύρους

Αισθητήρες εύρους
Αισθητήρες εύρους

Ultrasonics: Το eyeRobot φέρει 4 υπερηχητικά εύρεσης εύρους (MaxSonar EZ1). Οι αισθητήρες υπερήχων τοποθετούνται σε τόξο στο μπροστινό μέρος του ρομπότ για να παρέχουν πληροφορίες σχετικά με αντικείμενα μπροστά και στο πλάι του ρομπότ. Ενημερώνουν το ρομπότ για το εύρος του αντικειμένου και το βοηθούν να βρει μια ανοιχτή διαδρομή γύρω από αυτό το αντικείμενο και να επιστρέψει στην αρχική του διαδρομή.

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

Βήμα 4: Αισθητήρες θέσης μπαστούνι

Αισθητήρες θέσης μπαστούνι
Αισθητήρες θέσης μπαστούνι

Γραμμικός αισθητήρας: Για να ταιριάζει το eyeRobot με την ταχύτητα του χρήστη, το eyeRobot αντιλαμβάνεται αν ο χρήστης πιέζει ή καθυστερεί την κίνηση προς τα εμπρός. Αυτό επιτυγχάνεται με την ολίσθηση της βάσης του μπαστούνι κατά μήκος μιας τροχιάς, καθώς ένα ποτενσιόμετρο ανιχνεύει τη θέση του μπαστούνι. Το eyeRobot χρησιμοποιεί αυτήν την είσοδο για να ρυθμίσει την ταχύτητα του ρομπότ. Η ιδέα του eyeRobot να προσαρμόζεται στην ταχύτητα του χρήστη μέσω ενός γραμμικού αισθητήρα εμπνεύστηκε πραγματικά από το οικογενειακό χλοοκοπτικό. Η βάση του μπαστούνι συνδέεται με ένα μπλοκ οδηγών που κινείται κατά μήκος μιας ράγας. Επισυνάπτεται στο μπλοκ οδηγού ένα ποτενσιόμετρο διαφάνειας που διαβάζει τη θέση του μπλοκ οδηγού και το αναφέρει στον επεξεργαστή. Για να επιτρέψει στο ραβδί να περιστραφεί σε σχέση με το ρομπότ, υπάρχει μια ράβδος που τρέχει μέσα από ένα ξύλο, σχηματίζοντας ένα περιστρεφόμενο ρουλεμάν. Αυτό το ρουλεμάν στη συνέχεια συνδέεται με έναν μεντεσέ για να επιτρέψει στο ραβδί να προσαρμοστεί στο ύψος του χρήστη.

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

Βήμα 5: Επεξεργαστής

Επεξεργαστής
Επεξεργαστής

Επεξεργαστής: Το ρομπότ ελέγχεται από ένα Zbasic ZX-24a που κάθεται σε μια Robodyssey Advanced Motherboard II. Ο επεξεργαστής επιλέχθηκε για την ταχύτητα, την ευκολία χρήσης, το προσιτό κόστος και τις 8 αναλογικές εισόδους. Συνδέεται με μια μεγάλη πρότυπη πλάκα ψωμιού για να επιτρέπει γρήγορες και εύκολες αλλαγές. Όλη η ισχύς για το ρομπότ προέρχεται από το τροφοδοτικό στη μητρική πλακέτα. Το Zbasic επικοινωνεί με το roomba μέσω του λιμένα cargo bay και έχει τον πλήρη έλεγχο των αισθητήρων και των κινητήρων του Roomba.

Βήμα 6: Επισκόπηση κώδικα

Επισκόπηση κώδικα
Επισκόπηση κώδικα

Αποφυγή εμποδίων: Για την αποφυγή εμποδίων το eyeRobot χρησιμοποιεί μια μέθοδο όπου αντικείμενα κοντά στο ρομπότ ασκούν μια εικονική δύναμη στο ρομπότ που το απομακρύνει από το αντικείμενο. Με άλλα λόγια, τα αντικείμενα απομακρύνουν το ρομπότ από τον εαυτό τους. Κατά την εφαρμογή μου, η εικονική δύναμη που ασκείται από ένα αντικείμενο είναι αντιστρόφως ανάλογη με το τετράγωνο της απόστασης, οπότε η δύναμη της ώθησης αυξάνεται καθώς το αντικείμενο πλησιάζει και δημιουργεί μια μη γραμμική καμπύλη απόκρισης: PushForce = ResponseMagnitudeConstant/Distance2Οι ωθήσεις που προέρχονται από κάθε αισθητήρα προστίθενται μαζί. οι αισθητήρες στην αριστερή πλευρά σπρώχνουν δεξιά και αντίστροφα, για να πάρουν ένα διάνυσμα για το ταξίδι του ρομπότ. Οι ταχύτητες των τροχών αλλάζουν στη συνέχεια, έτσι ώστε το ρομπότ να στραφεί προς αυτό το διάνυσμα. Για να διασφαλιστεί ότι τα αντικείμενα που είναι νεκρά μπροστά από το ρομπότ δεν εμφανίζουν "καμία απόκριση" (επειδή οι δυνάμεις και στις δύο πλευρές ισορροπούν), τα αντικείμενα στο νεκρό μέτωπο ωθούν το ρομπότ στην πιο ανοιχτή πλευρά. Όταν το ρομπότ περάσει το αντικείμενο, χρησιμοποιεί τους κωδικοποιητές του Roomba για να διορθώσει την αλλαγή και να επιστρέψει στο αρχικό διάνυσμα.

Ακολουθώντας τον τοίχο: Η αρχή του παρακάτω τοίχου είναι να διατηρείται η επιθυμητή απόσταση και παράλληλη γωνία με έναν τοίχο. Προβλήματα προκύπτουν όταν το ρομπότ στρέφεται σε σχέση με τον τοίχο επειδή ο μοναδικός αισθητήρας αποδίδει άχρηστες ενδείξεις εύρους. Οι ενδείξεις εύρους επηρεάζονται τόσο από τη γωνία των ρομπότ στον τοίχο όσο και από την πραγματική απόσταση από τον τοίχο. Προκειμένου να προσδιοριστεί η γωνία και έτσι να εξαλειφθεί αυτή η μεταβλητή, το ρομπότ πρέπει να έχει δύο σημεία αναφοράς που μπορούν να συγκριθούν για να πάρουν τη γωνία των ρομπότ. Επειδή το eyeRobot έχει μόνο τη μία πλευρά που βλέπει το εύρος ευρεσιτεχνίας IR, για να επιτευχθούν αυτά τα δύο σημεία πρέπει να συγκρίνει την απόσταση από το εύχρηστο εύρος με την πάροδο του χρόνου καθώς το ρομπότ κινείται. Στη συνέχεια, καθορίζει τη γωνία του από τη διαφορά μεταξύ των δύο μετρήσεων καθώς το ρομπότ κινείται κατά μήκος του τοίχου. Στη συνέχεια, χρησιμοποιεί αυτές τις πληροφορίες για να διορθώσει την ακατάλληλη τοποθέτηση. Το ρομπότ μεταβαίνει σε λειτουργία τοίχου κάθε φορά που έχει έναν τοίχο δίπλα του για ένα ορισμένο χρονικό διάστημα και βγαίνει από αυτόν όποτε υπάρχει κάποιο εμπόδιο στο δρόμο του, το οποίο το απομακρύνει από την πορεία του ή εάν ο χρήστης χρησιμοποιεί τη λαβή περιστροφής για να φέρει το ρομπότ μακριά από τον τοίχο.

Βήμα 7: Λίστα μερών

Λίστα μερών
Λίστα μερών

Απαιτούμενα μέρη: 1x) Roomba create1x) Μεγάλο φύλλο ακρυλικού2x) Sharp GP2Y0A02YK IR rangefinder4x) Maxsonar EZ1 υπερηχητικό εύρος εύρεσης 1x) Μικροεπεξεργαστής ZX-24a1x) Robodyssey Advanced Motherboard II1x) Slide potentiometer1ometer) unge turning 1 Μεντεσέδες, πείροι, βίδες, παξιμάδια, αγκύλες και σύρματα

Βήμα 8: Κίνητρο και βελτίωση

Κίνητρο και βελτίωση
Κίνητρο και βελτίωση

Κίνητρο: Αυτό το ρομπότ σχεδιάστηκε για να καλύψει το προφανές κενό ανάμεσα στον ικανό αλλά ακριβό σκύλο οδηγό και το φθηνό αλλά περιορισμένο λευκό μπαστούνι. Στην ανάπτυξη ενός εμπορεύσιμου και πιο ικανού Robotic White Cane, το Roomba Create ήταν το τέλειο όχημα για το σχεδιασμό ενός γρήγορου πρωτοτύπου για να διαπιστώσει εάν η ιδέα λειτούργησε. Επιπλέον, τα βραβεία θα παρέχουν οικονομική υποστήριξη για το σημαντικό κόστος κατασκευής ενός πιο ικανού ρομπότ.

Βελτίωση: Το ποσό που έμαθα για την κατασκευή αυτού του ρομπότ ήταν σημαντικό και εδώ θα προσπαθήσω να εκθέσω όσα έμαθα καθώς προχωράω στην προσπάθεια κατασκευής ενός ρομπότ δεύτερης γενιάς: 1) Αποφυγή εμποδίων - Έμαθα πολλά για εμπόδια σε πραγματικό χρόνο αποφυγή. Κατά τη διαδικασία κατασκευής αυτού του ρομπότ έχω περάσει από δύο εντελώς διαφορετικούς κώδικες αποφυγής εμποδίων, ξεκινώντας από την αρχική ιδέα της δύναμης αντικειμένου, έπειτα μεταβαίνοντας στην αρχή της εύρεσης και αναζήτησης του πιο ανοιχτού διανύσματος και, στη συνέχεια, επιστρέφοντας στην ιδέα της δύναμης αντικειμένου με η βασική συνειδητοποίηση ότι η απόκριση του αντικειμένου πρέπει να είναι μη γραμμική. Στο μέλλον θα διορθώσω το λάθος μου που δεν έκανα διαδικτυακή έρευνα για μεθόδους που χρησιμοποιούσα προηγουμένως πριν ξεκινήσω το έργο μου, καθώς τώρα μαθαίνω μια γρήγορη αναζήτηση στο Google θα είχε αποδώσει πολυάριθμες σπουδαίες εργασίες για το θέμα. 2) Σχεδιασμός του ραβδιού αισθητήρες - Ξεκινώντας αυτό το έργο σκέφτηκα ότι η μόνη επιλογή μου για έναν γραμμικό αισθητήρα ήταν να χρησιμοποιήσω ένα δοχείο και ένα είδος γραμμικού ρουλεμάν. Τώρα συνειδητοποιώ ότι μια πολύ απλούστερη επιλογή θα ήταν να συνδέσετε απλά το πάνω μέρος της ράβδου σε ένα χειριστήριο, έτσι ώστε να σπρώχνετε το μπαστούνι προς τα εμπρός και να πιέζετε το χειριστήριο προς τα εμπρός. Επιπλέον, ένας απλός καθολικός σύνδεσμος θα επέτρεπε τη μετατροπή του στύλου στον άξονα περιστροφής πολλών σύγχρονων χειριστηρίων. Αυτή η εφαρμογή θα ήταν πολύ πιο απλή από αυτήν που χρησιμοποιώ αυτήν τη στιγμή.3) Δωρεάν τροχοί περιστροφής - Αν και αυτό θα ήταν αδύνατο με το Roomba, τώρα φαίνεται προφανές ότι ένα ρομπότ με ελεύθερους τροχούς περιστροφής θα ήταν ιδανικό για αυτό το έργο. Ένα ρομπότ που κυλά παθητικά δεν θα απαιτούσε κινητήρες και μικρότερη μπαταρία και έτσι θα ήταν ελαφρύτερο. Επιπλέον, αυτό το σύστημα δεν απαιτεί γραμμικό αισθητήρα για να ανιχνεύει την ώθηση των χρηστών, το ρομπότ απλά θα κυλιόταν με την ταχύτητα των χρηστών. Το ρομπότ θα μπορούσε να περιστραφεί κατευθύνοντας τους τροχούς σαν αυτοκίνητο, και αν χρειαζόταν να σταματήσει ο χρήστης θα μπορούσαν να προστεθούν φρένα. Για την επόμενη γενιά eyeRobot θα χρησιμοποιήσω σίγουρα αυτήν την πολύ διαφορετική προσέγγιση. 4) Δύο αισθητήρες με απόσταση για τον τοίχο - Όπως συζητήθηκε νωρίτερα, τα προβλήματα εμφανίστηκαν όταν προσπαθούσαμε να ακολουθήσουμε τον τοίχο με έναν μόνο αισθητήρα προς την πλευρά του, έτσι ήταν απαραίτητο να μετακινήσουμε το ρομπότ μεταξύ των μετρήσεων για την επίτευξη διαφορετικών σημείων αναφοράς. Δύο αισθητήρες με απόσταση μεταξύ τους θα απλοποιούσαν πολύ τον τοίχο. 5) Περισσότεροι αισθητήρες - Αν και αυτό θα κόστιζε περισσότερα χρήματα, ήταν δύσκολο να προσπαθήσω να κωδικοποιήσω αυτό το ρομπότ με τόσο λίγα παράθυρα στον κόσμο έξω από τον επεξεργαστή. Θα είχε κάνει τον κώδικα πλοήγησης πολύ πιο ισχυρό με μια πληρέστερη σειρά βυθομέτρων (αλλά φυσικά οι αισθητήρες κοστίζουν χρήματα, τα οποία δεν είχα τότε).

Βήμα 9: Συμπέρασμα

συμπέρασμα
συμπέρασμα

Συμπέρασμα: Το iRobot αποδείχθηκε μια ιδανική πλατφόρμα πρωτοτύπων για πειραματισμό με την ιδέα ενός ρομποτικού λευκού μπαστούνι. Από τα αποτελέσματα αυτού του πρωτοτύπου είναι προφανές ότι ένα ρομπότ αυτού του τύπου είναι πράγματι βιώσιμο. Ελπίζω να αναπτύξω ένα ρομπότ δεύτερης γενιάς από τα μαθήματα που έμαθα από τη χρήση του Roomba Create. Σε μελλοντικές εκδόσεις του eyeRobot, οραματίζομαι μια συσκευή ικανή να κάνει περισσότερα από το να καθοδηγεί ένα άτομο σε ένα διάδρομο, μάλλον ένα ρομπότ που μπορεί να τεθεί στα χέρια των τυφλών για χρήση στην καθημερινή ζωή. Με αυτό το ρομπότ, ο χρήστης θα μιλούσε απλά τον προορισμό του και το ρομπότ θα τον οδηγούσε εκεί χωρίς συνειδητή προσπάθεια από τον χρήστη. Αυτό το ρομπότ θα ήταν αρκετά ελαφρύ και συμπαγές για να ανεβαίνει εύκολα τις σκάλες και θα τοποθετηθεί σε μια ντουλάπα. Αυτό το ρομπότ θα είναι σε θέση να κάνει παγκόσμια πλοήγηση εκτός από την τοπική, έχοντας τη δυνατότητα να καθοδηγεί τον χρήστη από την αρχή στον προορισμό χωρίς την προηγούμενη γνώση ή εμπειρία των χρηστών. Αυτή η ικανότητα θα ξεπερνούσε ακόμη και τον σκύλο -οδηγό, με το GPS και τους πιο προηγμένους αισθητήρες να επιτρέπουν στους τυφλούς να περιηγούνται ελεύθερα στον κόσμο, Nathaniel Barshay, (Εισαγωγή από τον Stephen Barshay) (Ιδιαίτερες ευχαριστίες στον Jack Hitt για το Roomba Create)

Βήμα 10: Κατασκευή και Κωδικός

Κατασκευή και Κώδικας
Κατασκευή και Κώδικας

Μερικές εξωφρενικές λέξεις για την κατασκευή: Το κατάστρωμα κατασκευάζεται από ένα κομμάτι ακρυλικό κομμένο σε κύκλο με άνοιγμα στο πίσω μέρος για να επιτρέψει την πρόσβαση σε ηλεκτρονικά είδη και στη συνέχεια βιδώνεται στις οπές στερέωσης δίπλα στον χώρο φόρτωσης. Ο πίνακας πρωτοτύπων βιδώνεται στην οπή βίδας στο κάτω μέρος του κόλπου. Το Zbasic είναι τοποθετημένο με βραχίονα L με τις ίδιες βίδες με το κατάστρωμα. Κάθε βυθόμετρο βιδώνεται σε ένα κομμάτι ακρυλικό, το οποίο με τη σειρά του προσαρτάται σε ένα βραχίονα L που είναι προσαρτημένο στο κατάστρωμα (οι βραχίονες L κάμπτονται 10 μοίρες προς τα πίσω για καλύτερη εικόνα). Το κομμάτι για τον γραμμικό αισθητήρα βιδώνεται ακριβώς στο κατάστρωμα και το δοχείο είναι τοποθετημένο με αγκύλες L δίπλα του. Μια πιο τεχνική περιγραφή της κατασκευής του γραμμικού αισθητήρα και της ράβδου ελέγχου βρίσκεται στο βήμα 4.

Κωδικός: Έχω επισυνάψει την πλήρη έκδοση του κώδικα ρομπότ. Κατά τη διάρκεια μιας ώρας προσπάθησα να τον καθαρίσω από τις τρεις ή τέσσερις γενιές κώδικα που υπήρχαν στο αρχείο, θα έπρεπε να είναι αρκετά εύκολο να ακολουθηθεί τώρα. Εάν έχετε το ZBasic IDE θα πρέπει να είναι εύκολο να το δείτε, αν όχι χρησιμοποιήστε το σημειωματάριο ξεκινώντας από το αρχείο main.bas και περνώντας από τα άλλα αρχεία.bas.

Συνιστάται: