The GameBoy Robot

arximidis

RetroWannaBe
Joined
24 Δεκ 2011
Μηνύματα
103
Αντιδράσεις
82
Δεν έχετε παίξει ποτέ αυτό το παιχνίδι ;)



Πέρα από την πλάκα καιρό ήθελα να το κάνω αυτό... Άλλωστε ήταν και ένας από τους βασικούς λόγους που είχα αγοράσει το GameBoy τότε (ο άλλος ήταν ο στρατός :D )


Πρόκειται για ένα μικρό αυτοκινούμενο ρομπότ που χρησιμοποιεί ως κύριο και μοναδικό επεξεργαστή το GameBoy Advance SP της Nintendo.


 


Στο βίντεο φαίνεται μια δοκιμή του ελέγxου των κινητήρων. Στο εν λόγω ρομπότ έχω τέσσερις τροχούς που κινούνται απο 4 ανεξάρτητους κινητήρες. Ωστόσο θα μπορούσε να είχε και δύο τροχούς (με δύο κινητήρες κάτι σαν τρίκυκλο) ή ακόμη καλύτερα να είχε ερπύστριες. Σε οποιαδήποτε περίπτωση ο κώδικας παραμένει ίδιος.


Το ρομπότ δεν έχει κάποιον επιπλέον μικροεπεξεργαστή-μικροελεγκτή, πέρα από το GameBoy και το βασικό κύκλωμα φαίνεται στην εικόνα:

https://1.bp.blogspot.com/-fhPwxdZdY...0/DSC_1649.JPG

Αποτελείται απο ένα Motor shield για arduino της adafruit και συγκεκριμένα αυτό: https://www.adafruit.com/product/81

Βασικά χρησιμοποιώ ένα κινέζικο κλώνο.

Το κύκλωμα εισόδων/εξόδων είναι πολύ απλό.

Έχει έναν shift register (καταχωρητή ολίσθησης) εκ των οποίων μόνο οι 6 (από τις 8 συνολικά) εξόδους είναι διαθέσιμες για γενική χρήση. Οι άλλες δύο είναι δεσμευμένες. Στην πραγματικότητα το Moter shield έχει και αυτό έναν shift register (και μάλιστα ακριβώς τον ίδιο) ανεβάζοντας τον αριθμό των εξόδων στις 14. Ωστόσο οι 8 έξοδοι του καταχωρητή του shield χρησιμοποιούνται για τους τέσσερις κινητήρες. Το shield δευσμεύει και μια επιπλέον έξοδο από τον καταχωρητή του κυκλώματος εισόδων/εξόδων (Η μία εκ των δύο που ανέφερα προηγουμένως)

Η τελευταία δεσμευμένη έξοδος χρησιμοποιείται προφανώς για τις εισόδους. Τώρα, για ότι αφορά τις εισόδους είχα ένα δίλλημα. Ψηφιακές ή αναλογικές; Δυστυχώς δεν μπορούσα να έχω και τις δύο περιπτώσεις, αφού δεν υπήρχαν άλλες διαθέσιμες θύρες στην πόρτα του GameBoy (link port). Επέλεξα τις αναλογικές γιατί μπορούν να χρησιμοποιηθούν και ως ψηφιακές, θυσιάζοντας λίγο την ταχύτητα. Θα μπορούσα να κάνω αλχημείες για να βάλω και ψηφιακές, αλλά ήταν υπερβολή.

Έτσι στο κύκλωμα υπάρχει ένας αναλογικός-ψηφιακός μετατροπέας ADC 8 καναλιών, με αποτέλεσμα το ρομπότ να έχει διαθέσιμες συνολικά 8 αναλογικές εισόδους (για αισθητήρες κτλ)

https://1.bp.blogspot.com/-zM2NHNxj0...185552_078.jpg

https://2.bp.blogspot.com/-UJnC5e8N1...0/DSC_1558.JPG

https://4.bp.blogspot.com/-9LIQKq6pZ...0/DSC_1647.JPG

https://2.bp.blogspot.com/-hjIcWiz0R...0/DSC_1648.JPG

https://2.bp.blogspot.com/-yscooGi6R...185552_079.jpg

Χαρακτηριστικά

  • ΚΜΕ: GameBoy Advance SP
  • Κίνηση: Τέσσερις τροχοί κινούμενοι από τέσσερις ανεξάρτητους dc κινητήρες (4x4)
  • Κινητήρες: Τέσσερις dc κινητήρες
  • GPIO: Έξι έξοδοι και οχτώ αναλογικές είσοδοι. Υπάρχουν επίσης 8 + 1 έξοδοι που προορίζονται για τον έλεγχο των κινητήρων. Μία έξοδος χρειάζεται για την επικοινωνία με τον αναλογικό/ψηφιακό μετατροπέα (ADC). Έτσι απομένουν μόνο 6 έξοδοι γενικού σκοπού για οποιαδήποτε χρήση.
  • Αισθητήρες:

    Μάτια: Δύο αναλογικοί πομποδέκτες υπερύθρων στο μπροστινό τμήμα, για αποφυγή εμποδίων (προς τοποθέτηση).
 
Τελευταία επεξεργασία από έναν συντονιστή:
Αυτό το ρομποτάκι το ερωτεύτηκα από την πρώτη στιγμή και είμαι πολύ περίεργη να δω πόσο θα το εξελίξεις.
 
Kambia είπε:
Αυτό το ρομποτάκι το ερωτεύτηκα από την πρώτη στιγμή και είμαι πολύ περίεργη να δω πόσο θα το εξελίξεις.
:D :D:D

Για την ώρα δε σκέφτομαι τίποτα περισσότερο.... Ετοιμάζω ένα Instructable. Επιπλέοιν έχω γράψει μια βιλιοθήκη ώστε να είναι εύκολος ο προγραμματισμός και μην ασχολείσαι με το πως πρέπι να κάνεις μια πόρτα high ή πώς να διαβάσεις μια είσοδο, αλλά και το πως να κινηθείς μπροστά κτλ

Απλα δηλαδή γράφεις analogRead για να διαβάσεις μια πόρτα κτλ , όπως κάνεις και με το arduino
 
Τέλεια. Θα περιμένω το instructable :)
 
Καλημέρα και καλό μήνα σε όλους. Έρχεται ή μάλλον ήρθε το καλοκαιράκι

Λοιπόν, είχα ξεκινήσει ένα instructable αλλά ακόμη το έχω στα draft ανολοκλήρωτο. Δυστυχώς ο χρόνος μου δεν είναι αρκετός (η αλήθεια είναι ότι είναι λίγο βαρετό να γράφω ? )

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

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

Βέβαια υπάρχει ένα σημείο που θα χρειαστούν ηλεκτρικές κολλήσεις για την κατασκευή της πλακέτας εισόδου/εξόδου, αφού δεν υπάρχει έτοιμη στο εμπόριο. Ωστόσο, αν κάποιος δεν μπορεί να την φτιάξει και ενδιαφέρετε,  πιθανόν να δείξω πως μπορεί να τη συναρμολογήσει σε μια διάτρητη πλακέτα breadboard, όπου δε χρειάζονται κολλήσεις

Επίσης.... Σημαντικό... Η κατασκευή του αυτού του ρομπότ ΔΕΝ καταστρέφει και γενικότερα δεν επεμβαίνει στο GameBoy οπότε δεν υπάρχει λόγος ανησυχίας. Όπως είπα όμως θα χρειαστούν κάποια υλικά για την κατασκευή, τα περισσότερα εκ των οποίων θα τα βρείτε στην Ελληνική αγορά. Δυστυχώς όμως μερικά θα πρέπει να τα προμηθευτείτε από το εξωτερικό (δηλαδή από το eBay)
 
Τελευταία επεξεργασία από έναν συντονιστή:
Βήμα 1ο  Υλικά για την κατασκευή

  • 1 x GameBoy Advance φυσικά (Η έκδοση GBA SP πιστεύω είναι η πιο κατάλληλη)
  • 1 x Supercard Mini SD Adapter για το GBA. Με αυτήν θα μπορείτε να γράφετε και να εκτελείτε τα δικά σας προγράμματα στο GBA. Θα χρειαστείτε επίσης μια κάρτα microSD
  • 1 x GameBoy Advance Link cable το οποίο θα χρειαστεί να καταστρέψε...εεε... να μετατρέψετε εννοούσα
  • 1 x σασί για ρομπότ με δύο ή τέσσερις τροχούς (π.χ. από eBay 2WD smart car robot chassis ή 4WD smart car robot chassis ). Υπάρχουν και στην Ελληνική αγορά (4WD smart robot car chassis)
  • 1 x Adafruit motor shield. Θα χρειαστείτε την παλιότερη έκδοση 1.2, που βέβαια έχει καταργηθεί. Ωστοσο μπορείτε να βρείτε εύκολα έναν κλώνο από το eBay και μαλιστα πολύ φθηνότερο (π.χ. L293D motor drive shield). Φυσικά το ίδιο ακριβώς μπορείτε να το βρείτε και στην Ελληνική αγορά (L293D motor shield ή L293D motor shield ). Αν δε θέλετε να το αγοράσετε, σε επόμενο μήνυμα θα σας δείξω τί πρέπει να αγοράσετε επιπλέον για να το φτιάξετε μόνοι σας
  • 2 x Sharp GP2Y0A21YK0F IR αναλογικούς αισθητήρες απόστασης (10 - 80cm). Υπάρχουν τόσο στο eBay όσο και στην Ελληνική αγορά (π.χ. GP2Y0A21YK ή GP2Y0A21YK ή GP2Y0A21YK )
  • 1 x 5V σταθεροποιητή τάσης. Υπάρχουν πολλές επιλογές για αυτό. Μερικοί από αυτούς είναι ρυθμιζόμενοι ώστε να αλλάζετε την τάση στην επιθυμητή με ένα κατσαβίδι. Μια από τις καλύτερες είναι να αγοράσετε αυτόν DC-DC Buck Step Down Converter από το eBay.  Φυσικά θα τον βρείτε και στην Ελληνική αγορά (π.χ. Mini DC-DC Buck Converter Step Down Module ή Mini-360 DC-DC 4.75V-23V to 1V-17V ).
  • 1 x 18650 2x Battery holder (δηλαδή για δύο μπαταρίες Li-ion τύπου 18650). Στην Ελληνική αγορά π.χ. μπαταριοθήκη ή  μπαταριοθήκη
  • 2 x 18650 Li-ion επαναφορτιζόμενες μπαταρίες. Αν θέλατε μπορείτε να χρησιμοποιήσετε επαναφορτιζόμενες μπαταρίες παλαιότερου τύπου (π.χ. Ni-MH). Θεωρώ όμως καλύτερη επιλογή τις λιθίου γιατί θα χρειαστούν μόνο δύο και όχι έξι. Συμβουλή: Αποφύγετε να αγοράσετε μπαταρίες από το eBay, ιδιαίτερα αν βρείτε μπαταρίες με χωρητικότητα μεγαλύτερη από 2500mAh
  • Στρογγυλά velcro για να τοποπθετήσετε το GameBoy στο σασί του ρομπότ. προσωπικά χρησιμοποίησα συνολικά 3. Με αυτήν την μέθοδο δε θα καταστρέψετε το GameBoy  και θα είστε σε θέση να το αποσυνδέετε και να το συνδέετε πάνω στο σασί όποτε θέλετε.


Σημαντικό: Τα link που έχω βάλει είναι ενδεικτικά. Ουδεμία σχέση έχω με τα συγκεκριμένα καταστήματα και για αυτό τον λόγο έχω βάλει διαφορετικά. Ωστόσο αν η εισαγωγή των link δημιουργεί πρόβλημα, μπορείτε να τα διαγράψετε.
 
Τελευταία επεξεργασία από έναν συντονιστή:
Βήμα 2ο  Η πλακέτα Εισόδων/Εξόδων. Τα υλικά για την κατασκευή

Ένα ρομπότ πρέπει να είναι σε θέση να αλληλεπιδρά με το περιβάλλον του. Αυτό σημαίνει ότι χρειάζεται μια βασική μονάδα εισόδων/εξόδων, πάνω στην οποία θα μπορείτε να συνδέετε διάφορους αισθητήρες. Δυστυχώς δεν υπάρχει έτοιμη στο εμπόριο, οπότε αναγκαστικά θα χρειαστεί να τη φτιάξετε μόνοι σας. ?

Δεν είναι και πάρα πολύ δύσκολο να φτιαχτεί, αλλά φυσικά χρειάζεται την απαραίτητη εξοικείωση με τα ηλετρονικά και κυρίως τις ηλεκτρικές κολλήσεις με κολλητήρι και καλάι

Η πλακέτα εκμεταλλέυεται την game link port του GameBoy προκειμένου να του δώσει τη δυνατότητα να επικοινωνεί με τον έξω κόσμο, αφού εξ' ορισμού δεν είναι φτιαγμένο για κάτι τέτοιο.

Στην επόμενη λίστα φαίνονται όλα τα υλικά που θα χρειαστούν για την κατασκευή της:

  • 1 x 74HC595 8bit shift register TTL chip  --- Καταχωρητής ολίσθησης 8bit
  • 1 x MCP3008 8 channel analog to digital converter chip (ADC) --- Μετατροπέας από αναλογικό σε ψηφιακό 8 καναλιών
  • 2 x Βάσεις DIP 16 ακροδεκτών για τα ολοκληρωμένα MCP3008 και 74HC595
  • 1 x BAT45 or BAT85 Schottky diode  --- Δίοδος Schottky
  • 1 x 4K7 (4.7KΩ) Αντίσταση (1/4 Watt)
  • 2 x 100nF Πυκνωτές
  • 2 x θηλυκές συστοιχίες μιας γραμμής 6 ακροδεκτών (6 pin single row female pin headers). Μπορείτε να αγοράσετε μια μεγαλύτερη και να την κόψετε κατάλληλα
  • 1 x θηλυκή συστοιχία μιας γραμμής 8 ακροδεκτών (8 pin single row female pin header). Και πάλι μπορείτε να αγοράσετε μια μεγαλύτερη και να την κόψετε κατάλληλα
  • 1 x κλέμα  για πλακέτα
  • 20 x καλώδια συνδέσεων από αρσενικό σε θυληκό (male to female jumper Breadboard wires)
  • 1 μικρό κομμάτι διάτρητης πλακέτας για κολλήσεις. Αν δεν βρειτε ένα που να κάνει, μπορείτε να πάρετε ένα μεγαλύτερο και να το κόψετε στις επιθυμητές διαστάσεις
  • Μονόκλωνο καλώδιο για τις ηλεκτρικές κολλήσεις, κολλητήρι και καλάι
Επίσης θα χρειαστεί λίγη αφρώδης κολλητική ταινία δύο όψεων για την τοποθέτηση των αισθητήρων απόστασης και του σταθεροποιητή πάνω στο σασί του ρομπότ

Στην περίπτωση που επιθυμείτε να φτιάξετε μόνοι σας το κύκλωμα οδήγησης των κινητήρων και δεν θέλετε να αγοράσετε το shield της Adafruit (ή για την ακρίβεια τον αντίστοιχο κλώνο), στην παρακάτω λίστα φαίνονται τα επιπλέον εξαρτήματα που απαιτούνται για την κατασκευή:

  • 1 x 74HC595 8bit shift register TTL chip  --- Καταχωρητής ολίσθησης 8bit
  • 2 x ολοκληρωμένα L293D. Προτιμήστε την έκδοση L293D (με το γραμμα D στο τέλος) διότι περιλαμβάνει εσωτερικά τις απαραίτητες διόδους προστασίας. Αν όχι θα χρειαστεί να τις τοποθετήσετε εξωτερικά στο κύκλωμα
  • 3 x Βάσεις DIP 16 ακροδεκτών για τα ολοκληρωμένο 74HC595 και L293D
  • 3 x100nF Πυκνωτές
  • 4 x κλέμες  για πλακέτα
 
Τελευταία επεξεργασία από έναν συντονιστή:
Βήμα 3ο  Η πλακέτα Εισόδων/Εξόδων. Το σχηματικό διάγραμμα

Όπως σας είπα η πλακέτα Εισόδων/Εξόδων δεν υπάρχει έτοιμη στο εμπόριο, οπότε θα αναγκαστείτε να τη φτιάξετε μόνοι σας. Εκτός βέβαια αν έχετε κάποιον γνωστό να σας βοηθήσει ?

Παρακάτω σας στέλνω το σχηματικό διάγραμμα της κατασκευής.

Το σχηματικό διάγραμμα περιλαμβάνει και το κύκλωμα οδήγησης των κινητήρων (υποδεικνύεται από την κόκκινη περιοχή). Ωστόσο αν αγοράσετε έτοιμο το shield που σας πρότεινα στον κατάλογο υλικών, δε χρειάζεται να φτιάξετε το εν λόγω τμήμα του σχηματικού. Τις ενώσεις, προφανώς, θα τις κάνετε με εξωτερικά καλώδια. Αυτή την λογική ακολούθησα και εγώ. Έφτιαξα μόνο το κομάτι που αφορά τις εισόδους/εξόδους και για την οδήγηση των κινητήρων χρησιμοποίησα το εμπορικό shield

Η κατασκευή δεν είναι δύσκολη αν γνωρίζεις τι κάνεις. Η μόνη παρατήρηση που έχω, είναι να κολλήσετε τους πυκνωτές των 100nF, που φαίνονται σε κάθε τσιπάκι, όσο το δυνατόν πιο κοντά στους ακροδέκτες τροφοδοσίας του. Δηλαδή,για παράδειγμα, κολλήστε τον πυκνωτή 100nF του τσιπ 74HC595, όσο το δυνατόν πιο κοντά στους ακροδέκτες του 16 (Vcc) και 8 (GND)

schematic.jpg

Σας στέλνω επίσης και  φωτογραφίες από την δική μου κατασκευή, ώστε να δείτε πως περίπου πρέπει να μοιάζει η τελική πλακέτα. Προσέξτε ότι τη θηλυκή συστοιχία 6 ακροδεκτών, για τη σύνδεση με τη Link Port του GameBoy, την αντικατέστησα με μια 4-πλή θηλυκή και αρσενική με τη λογική που φαίνεται στο αυτοκόλλητο καρτελάκι. Αυτό με βόλεψε πάρα πολύ για την ταυτόχρονη διασύνδεση με το GameBoy και την εμπορική πλακέτα οδήγησης των κινητήρων (motor shield)

board_front.JPG

board_back.jpg

edit: To QH που φαίνεται στο αυτοκόλληλο καρτελάκι στη φωτογραφία της πλακέτας είναι το Q7S (ακροδέκτης 9) του πρώτου 74ΗC595 στο σχηματικό διάγραμμα (το πάνω δηλαδή).

Επίσης σας στέλνω και τα datasheet όλων των ολοκληρωμένων που χρησιμοποιούνται στο κύκλωμα, για να μπορείτε να δείτε τους ακροδέκτες τους

 
Υπενθυμίζω ότι στην περίπτωση που αγοράσετε την εμπορική πλακέτα οδήγησης των κινητήρων (motor shield), δε χρειάζεται να αγοράσετε τα δύο L293D και από το 74HC595 χρειάζεται να αγοράσετε μόνο ένα
 
Τελευταία επεξεργασία από έναν συντονιστή:
Βήμα 4ο  Τροποποιώντας το καλώδιο διασύνδεσης δύο παικτών

Ήρθε η ώρα να καταστρέψετε... εεε... να τροποποιήσετε ήθελα να πω, το καλώδιο διασύνδεσης δύο παικτών του GameBoy (GameBoy Link cable). Εδώ θέλει λίγη προσοχή ποιο καλώδιο να αγοράσετε. Θα πρέπει το βύσμα να έχει όλους τους διαθέσιμους εσωτερικούς ακροδέκτες, όπως φαίνεται στην επόμενη φωτογραφία:

Game_Link_Cord_For_Nintendo_GameBoy_Color_GBC_Cable_3.jpg

Ενώ, για παράδειγμα, στο επόμενο δεν υπάρχουν:

images.jpeg

Θα πρέπει, λοιπόν, να υπάρχουν και τα έξι εσωτερικά βυσματάκια που αντιστοιχούν στα 3V3, SI, SCK, SO, SD και GND.

2068794857_ea650dfffe.jpg


Προσοχή: Στο GameBoy Advance  το 5V,  που φαίνεται στην προηγούμενη φωτογραφία πάνω στο καλώδιο, είναι στην πραγματικότητα το 3V3 και αυτό γιατί το GameBoy Advance λειτουργεί με τάση 3,3 Volt και όχι με 5V. Οπότε μην το μπερδέψετε με το αντίστοιχο Vcc (=5V) που φαίνεται στο σχηματικό διάγραμμα του προηγούμενου μηνύματος. Εκείνο αφορά την τροφοδοσία της πλακέτας εισόδων/εξόδων (και όντως είναι Vcc = 5V) και δεν έχει καμία σχέση με το αντίστοιχο του GameBoy.Το κύκλωμα του ρομπότ δεν τροφοδοτεί το GameBoy. Το τελευταίο λειτουργεί με τη δική του εσωτερική επαναφορτιζόμενη μπαταρία. Οπότε λίγη προσοχή μην τα μπερδέψετε...

Αφού λοιπόν αγοράσετε το καλώδιο, "κλάψτε" το, γιατί θα πρέπει να το διαλύσετε.

Με ένα κοπίδι, με πολύ προσοχή, κόψτε το πλαστικό κάλυμμα του καλωδίου, ώστε να ελευθερωθεί το εσωτερικό πλαστικό βύσμα. Το σιδεράκι που το καλύπτει μπορείτε να το κρατήσετε, αν και δε θα κάθεται και θα βγαίνει. Βοηθάει ωστόσο να κουμπώνει καλύτερα το βύσμα πάνω στο GameBoy. Εγω, δεν το κράτησα αλλά και πάλι δεν είχα πρόβλημα, αφού το σημείο σύνδεσης δεν μετακινείται, οπότε και δεν βγαίνει από τη θέση του. Άρα δεν υπάρχει πρόβλημα είτε το κρατήσετε, είτε όχι.

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

cab-2x3pn2.54-drw-fst-5p-1.jpg


Οπότε μπορείτε να την κολλήσετε απ' ευθείας πάνω στο βύσμα. Το αποτέλεσμα θα είναι όπως στις επόμενες φωτογραφίες

linkcable2.jpg

linkcable3.jpg

Προσοχή: Το ίδιο όπως και προηγουμένως. Το Vcc που βλέπετε πάνω στο βύσμα είναι στην πραγματικότητα το 3V3 και καμία σχέση δεν έχει με το αντίστοιχο Vcc στο σχηματικό διάγραμμα, παρά μόνο στο σημείο που λέει 3V3. Δηλαδή το Vcc που φαίνεται στο καρτελάκι πάνω στο βύσμα, πρέπει να συνδεθεί με το 3V3 που φαίνεται στο σχηματικό. Αν και, όπως είπα, το κύκλωμα δεν τροφοδοτεί το GameBoy, τα 3,3Volt χρειάζονται για την απαραίτητη μετατροπή του 5V σήματος της πλακέτας εισόδων/εξόδων, σε αντίστοιχο σήμα στάθμης 3,3Volt που δέχεται το GameBoy

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

Προσωπικά κόλλησα όλα τα απαραίτητα καλώδια σε μια αντίστοιχη αρσενική συστοιχία. Μετά απλά συνδέω την αρσενική με την θηλυκή. Έτσι αν για κάποιο λόγο χαλάσει η αρσενική συστοιχία (π.χ. από τις πιθανές αλλαγές στις κολλήσεις), δεν θα "κλάψω" του βύσμα του GameBoy που είναι ακριβότερο και δυσεύρετο

IMG_20180622_000401.jpg

IMG_20180622_000534_HHT.jpg

IMG_20180622_000727.jpg
 
Τελευταία επεξεργασία από έναν συντονιστή:
Βήμα 5ο  Σύνδεση των πλακετών

Υγεία σε όλους!

Συνεχίζουμε την περιγραφή με τις απαραίτητες καλωδιώσεις. Σε αυτό το μήνυμα θα περιγράψω τον τρόπο που πρέπει να συνδεθεί η πλακέτα εισόδων/εξόδων με την πλακέτα των κινητήρων (motor shield), σε περίπτωση που δεν την φτιάξετε μόνοι σας και την αγοράσετε έτοιμη από το εμπόριο.

Για όλα τα παρακάτω καλό είναι να έχετε μπροστά σας και το σχεδιάγραμμα της συνολικής πλακέτας, όπως αυτό παρουσιάστηκε στο βήμα 3

Λοιπόν... όπως έχω ήδη πει, το "κάτω" μέρος του σχεδιαγράμματος (δηλαδή αυτό που εσωκλείεται στο κόκκινο πλαίσιο) είναι στην ουσία το motor shiled (που στην περίπτωσή μας το έχουμε έτοιμο από το εμπόριο). Το "πάνω" κομμάτι είναι στην ουσία το τμήμα με τις ψηφιακές εξόδους και τις αναλογικές εισόδους. Στην επόμενη εικόνα φαίνεται το "πάνω" μέρος του σχεδιαγράμματος, όπως το υλοποίησα εγώ σε μια διάτρητη πλακλέτα

IMG_20180627_122911.jpg

Παρατηρήστε το ταμπελάκι κάτω δεξιά. Το SC, το SI (που κρύβεται από το πράσινο καλώδιο), το 3V3, το SD και το SO θα πρέπει να συνδεδούν με τα αντίστοιχα SCK,SI,3V3,SD και SO του καλωδίου διασύνδεσης δύο παικτών του GameBoy (GameBoy Link cable), το οποίο και περιγράψαμε στο προηγούμενη βήμα. Το QH που βλέπετε, δεν συνδέεται με το GameBoy, αλλα με την πλακέτα των κινητήρων. Στην ουσία πρόκειται για το Q7S (pin 9) του "πάνω" 74HC595 του σχηματικού διαγράμματος.

Αυτό το QH λοιπόν, θα πρέπει να το συνδέσετε στο pin 8 του motor shield με ένα καλώδιο

Επιπλέον... Είπαμε ότι το SC και το SO συνδέονται στο καλώδιο του GameBoy. Ωστόσο ταυτόχρονα πρέπει να συνδεθούν και στο motor shield (βλέπε σχηματικό). Πιο συγκεκριμένα... Το SC με το pin 4 του motor shield και το SO με το pin 12 αντιστοίχως.

Επίσης θα πρέπει να συνδέσετε το pin 1 (Q1) του "πάνω" 74HC595 (όπως φαινεται στο σχηματικό) με τα pin 3, 5, 6 και 11 του motor shield ταυτόχρονα. Πληροφοριακά, στην προηγούμενη εικόνα, φαίνεται αυτή η σύνδεση με το καλώδιο που είναι λιγο πιο κάτω από το Α7 και λίγο πιο πάνω από το D3 από τα αντίστοιχα ταμπελάκια.

Ακόμη θα πρέπει να συνδέσετε το pin 7 του motor shield με το GND. Μπορείτε να χρησιμοποιήσετε μια από τις υποδοχές GND που έχει ήδη το motor shield

Όλες οι προηγούμενες συνδέσεις φαίνονται στην επόμενη εικόνα

IMG_20180627_122832.jpg

Τέλος θα πρεπει να τροφοδοτήσετε και την πλακέτα με τα απαραίτητα 5V, όπως προκύπτουν από την έξοδο του σταθεροποιητή. Αν θυμάστε, στον κατάλογο υλικών είχαμε προσθέσει και έναν σταθεροποιητή τάσης (DC-DC Buck Step Down Converter ). Αυτός συνδέεται απ' ευθείας με τις μπαταρίες στην είσοδο (μέσω φυσικά του διακόπτη on-off) και στην έξοδο παράγει μια 5V σταθερή τάση. Βασικά με ενα μικρό κατσαβίδι εσείς θα ρυθμίσετε τον σταθεροποητή ώστε να βγάζει 5V στην έξοδο, αφού αυτός μπορεί να ρυθμίζεται και να βγάζει μια τάση από κοντά στο μηδέν μέχρι κοντά στην συνολική τάση των μπαταριών. Εμείς θέλουμε μια τάση των 5V,  οπότε και θα πρέπει να τη ρυθμίσετε κατάλληλα (θα χρειαστείτε ένα πολύμετυρο για να μετράτε την τάση εξόδου).

Στην επόμενη εικόνα φαίνεται η εν λόγω σύνδεση. Είναι τα καλώδια κόκκινο και μαύρο που πηγαίνουν στην κλέμα

IMG_20180627_122841.jpg

Επίσης, πολύ σημαντικό για την πλακέτα του motor shield (έτσι όπως την έχουμε διασυνδέσει)... Παρατηρήστε το καλώδιο με το κίτρινο θερμοσυστελλόμενο (που μετά στη μια άκρη είναι πραινο και στην άλλη μπλε :) Δεν είχα το ίδιο χρώμα :D ). Με ένα καλώδιο λοιπον, θα πρέπει να συνδέσετε το έναν ακροδέκτη (αυτόν που "κοιτάει" προς την κλέμα) του PWR jumper, με το 5V pin του motor shield (είναι το τρίτο κατα σειρά κοιτώντας από την πλευρά που βρίσκεται η κλέμα)

Τέλος το μωβ καλώδιο που φαίνεται στην εικόνα συνδέεται στο GND της πλακέτας και θα πρέπει επίσης να συνδεθεί με το GND του καλωδίου του GameBoy ώστε να υπάρχει κοινή γείωση. Η πλακέτα εισόδων/εξόδων πρέπει να έχει και αυτή κοινή γείωση, αλλά δεν χρειάζεται έξτρα καλώδιο, αφού ούτως ή άλλως θα πρέπει και αυτήν να την τροφοδοτήσετε απ' ευθέιας με 5V από την έξοδο του σταθεροποιητή, όπως κάνατε και με το motor shield

Και μια συνολική εικόνα των συνδέσεων

IMG_20180627_122812.jpg
 
Τελευταία επεξεργασία από έναν συντονιστή:
Όμορφα και νοικοκυρεμένα :D
 
Βήμα 6ο  Τοποθετώντας το GameBoy στο ρομπότ

Ένα θετικό σημείο της κατασκευής είναι ότι ΔΕΝ χρειάζεται να επέμβετε ή να "πειράξετε" το GameBoy, που θα μπορούσε να οδηγήσει σε πιθανή καταστροφή του. Ευτυχώς το GameBoy σας ΔΕΝ κινδυνεύει ?

Ο λόγος πολύ απλός... Τα μόνα που χρειάζονται για την τοποθέτηση είναι αυτοκόλλητα βέλκρο

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

Αν όμως πάλι για κάποιο λόγο μετανιώσετε και δε θέλετε να χρησιμοποιήσετε το GameBoy στην κατασκευή, απλά ξεκολλάτε τα βέλκρο και ούτε γάτα ούτε ζημιά ?

IMG_20180627_123717.jpg

IMG_20180627_123543.jpg
 
Βήμα 7ο  Το Mini SD Flash  SuperCard Cartridge Adapter για το GBA

Φτάσαμε στο τελευταίο βήμα της κατασκευής πριν ξεκινήσουμε τον προγραμμαρισμό (έχει μερικά πραγματάκια να κάνουμε ακόμη μέχρι να προγραμματίσουμε το ρομπότ)

Πρόκειται για ένα cartridge  για το GameBoy Advance που σας επιτρέπει να φορτώνετε roms παιχνιδιών από μια SD κάρτα. Έτσι αν έχετε αρκετά roms, τότε μπορείτε να τα αποθηκεύσετε στην sd κάρτα και με αυτόν τον τρόπο να γλυτώνετε να κουβαλέτε όλες αυτές τις ξεχωριστές "κασέτες"  των τίτλων που έχετε για το GameBoy Adcance ή ακόμη και για το GameBoy. Εμείς βέβαια το cartridge αυτό θα το χρειαστούμε για να αποθηκεύουμε και να φορτώνουμε το δικό μας κώδικα που θα γράφουμε για το ρομπότ.

Ωστόσο τα πράγματα δεν είναι τόσο απλά, με την έννοια ότι τα roms χρειάζονται μια μικρή τροποποίηση για να μπορέσουν να παίξουν. Το ίδιο θα χρειαστεί και ο δικός μας κώδικας

Λίγη προσοχή χρειάζεται στην SD κάρτα που θα επιλέξετε για το cartridge (αφού αυτό έρχεται χωρίς αυτήν). Γενικά υποστηρίζει κάρτες μέχρι 2GB (προφανώς δυσεύρετες, αλλά υπάρχουν στο eBay), την οποία και πρέπει να διαμορφώσετε σε FAT (δηλαδή FAT16, όχι FAT32 και φυσικά με την καμία σε NTFS), αλλιώς δε θα μπορέσει να τη διαβάσει. Επίσης η κάρτα δεν θα πρέπει να είναι και πολύ γρήγορη γιατί πάλι θα έχετε πρόβλημα. Εγώ για παράδειγμα έχω μια sd 1GB και παρόλο που την διαμόρφωσα σε FAT, δεν την αναγνωρίζει γιατί είναι πιο καινούργια

IMG_20180627_123634.jpg
 
Βήμα 8ο   Ο προγραμματισμός. Το DevKit Advance

Και ήρθε λοιπόν η ώρα του προγραμματισμού. Πιθανόν κάποιοι να μην το γνωρίζουν, αλλά ένα ρομπότ από μόνο του, χωρίς τον απαραίτητο προγραμματισμό, δεν κάνει απολύτως τίποτα. Βέβαια αυτό ακριβώς είναι και η "δύναμή" του. Ο προγραμματισμός είναι αυτός που δίνει ευελιξία στο ρομπότ, αφού ή ίδια μηχανή μπορεί να κάνει διαφορετικά πράγματα απλά αλλάζοντας κάθε φορά τον κώδικα που θα εκτελεί

Για να μπορέσουμε όμως να γράψουμε τον κώδικα (μια διαδικασία για την οποία φυσικά χρησιμοποιούμε τον υπολογιστή μας ? ), θα χρειαστεί να εγκαταστήσουμε πρώτα όλα τα απαραίτητα προγράμματα. Αυτό ακριβώς θα ξεκινήσω να περιγράφω στη συνέχεια

Επειδή τα αρχεία είναι συμπιεσμένα σε μορφή zip, θα χρειατεί ένα πρόγραμμα που να μπορεί να τα αποσυμπιέζει. Ένα τέτοιο δωρεάν πρόγραμμα είναι το 7-zip, το οποίο και μπορείτε να το κατεβάσετε από εδώ: http://www.7-zip.org/download.html


Το βασικό εργαλείο που χρειάζεται για να προγραμματίζουμε το GameBoy (και άρα το ρομπότ ) είναι το DevKit Advance.

DevKit Advance

Επισκεφθείτε τη σελίδα  http://devkitadv.sourceforge.net/ και κάντε κλίκ στο download. Θα σας μεταφέρει στη σελίδα sourceforge, από όπου μπορείτε να καταβέσετε το πρόγραμμα. Εκεί κάντε κλικ στο Windows και μετά στο Release 5 (Beta 3). Κατεβάστε όλα τα αρχεία ζιπ που θα βρείτε εκεί (Σημ: απ' ευθείας link:  https://sourceforge.net/projects/devkitadv/files/...)

Εγκατάσταση του DevKit Advance

Αφού λοιπόν κατεβάσετε όλα τα αρχεία zip,  ακολουθήστε τις ακόλουθες οδηγίες για να εγκαταστήσετε το πρόγραμμα:

  1. Δημιουργείστε έναν κατάλογο, κάτω από τον προγονικό κατάλογο C:\ του σκληρού σας δίσκου, και ονομάστε τον π.χ. files, όπως φαίνεται και στην εικόνα (Μπορείτε να του δώσετε και διαφορετικό όνομα, ωστόσο δε θα πρέπει να περιέχει κενά)FW0PJL3JCGK7O7H.LARGE.jpg
  2. Αντιγράψτε όλα τα αρχεία zip που κατεβάσατε μέσα στο φάκελο που δημιουργήσατε στο προηγούμενο βήμαFDM78INJCGK7O7J.LARGE.jpg
  3. Κάντε δεξί κλικ στο πρώτο αρχείο zip και επιλέξτε 7-zip -> Extract here, όπως φαίνεται στην εικόναFCQJ7V2JCGK7O7K.LARGE.jpg
  4. Κάντε ακριβώς το ίδιο και για όλα τα zip αρχεία στον κατάλογο. Όταν εμφανιστεί ένα παράθυρο που να γράφει Confirm File Replace, επιλέξτε Yes to All  για να αντικαταστήσετε όλα τα αρχεία με τις καινούργιες εκδόσειςFU5SJR2JCGK7O7L.LARGE.jpg
  5. Με την ολοκλήρωση της αποσυμπίεσης όλων των αρχείων θα δημιουργηθεί ένας καινούργιος φάκελος με το όνομα devkitadv-r5-beta-3. Τώρα μπορείτε να διαγράψετε όλα τα zip αρχεία και να μετονομάσετε τον φάκελο που δημιουργήθηκε σε devkitadv, όπως φαίνεται και στην εικόναFRYB0Y9JCGK7O7N.LARGE.jpgFCY2ZUOJCGK7O7O.LARGE.jpg


Αυτό ήταν όλο! Πλέον το devkit Advance είναι εγκατεστημένο στον υπολογιστή σας

FOD8IH5JCGK7O7P.LARGE.jpg
 
Τελευταία επεξεργασία από έναν συντονιστή:
Βήμα 9ο ( προαιρετικό )  VisualBoyAdvance Emulator

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

Εγκατάσταση

Κατευθυνθείτε στη διεύθυνση  https://sourceforge.net/projects/vba/ και απλά πατήστε το Download. Αφού το κατεβάσετε μπορείτε να το αποσυμπιέσετε οπουδήποτε θέλετε στον υπολογιστή σας, αφού το πρόγραμμα δεν απαιτεί κάποια εγκατάσταση

Στην δική μου περίπτωση απλά αντέγραψα το zip αρχείο στον κατάλογο C:\files (που δημιουργτήσαμε στο προηγούμενο βήμα) και μετά το αποσυμπίσεσα με το 7zip, επιλέγοντας extract to VisualBoyAdvance-1.7.2, όπως φαίνεται στις φωτογραφίες. Δεν επέλεξα το "extract here" γιατί σε αυτήν την περίπτωση θα αποσυμπίεζε όλα τα περιεχόμενα αρχεία απ' ευθείας στον κατάλογο C:\files και δε θα δημιουργούσε έναν ξεχωριστό κατάλογο.

FXBV80XJCKUI3HK.LARGE.jpg

FOLXD57JCKUI3HM.LARGE.jpg

FW2RXPFJCKUI3HP.LARGE.jpg
 
Τελευταία επεξεργασία από έναν συντονιστή:
Βήμα 10ο To Gbafix.c

Ένα πράγμα που θα διαπιστώσετε αν αποφασίσετε να γράψετε το δικό σας κώδικα για το GameBoy Αdvance είναι ότι, ενώ το πρόγραμμά σας θα εκτελείται ωραία και καλά στον εξομοιωτή, όταν θα προσπαθήσετε να το τρέξετε στο πραγματικό υλικό (στο GameBoy δηλαδή), αυτό δε θα φορτώνει. Για να μπορέσετε λοιπόν να τρέξετε το πρόγραμμά σας στο GameBoy, θα πρέπει να διορθώσετε το rom που προκύπτει από τη μεταγλώττιση του κώδικα με το devkit Advance. Αυτό μπορεί να γίνει με ένα εργαλείο που λέγεται Gbafix (DevkitPro GBA ROM fix utility). Το πρόβλημα είναι ότι θα το βρείτε σε μορφή πηγαίου κώδικα, που σημαίνει, με τη σειρά του, ότι θα πρέπει πρώτα να το μεταγλωττίσετε (compile). Ευτυχώς δεν είναι δύσκολο. Τη διαδικασία θα σας την περιγράψω με λεπτομέρειες στο επόμενο βήμα, αφού στην περίπτωση που χρησιμοποιείτε τα Windows θα πρέπει πρώτα να εγκαταστήσετε τον gcc

Για την ώρα θα πρέπει να κατεβάσετε τον πηγαίο κώδικα του Gbafix

Κατευθυνθείτε στη σελίδα του github https://github.com/devkitPro/gba-tools... και κάντι κλικ στο κουμπί raw. Αντιγράψτε τον κώδικα και επικολλήστε τον στο σημειωματάριο (notepad) των Windows. Στη συνέχεια αποθηκεύστε το αρχείο με το όνομα gbafix.c  (Σημ: Μην ξεχάσετε να αλλάξετε το πεδίο "Αποθήκευση ως" από "έγγραφα κειμένου (*.txt)" σε "όλα τα αρχεία (*.*)", διαφορετικά το αρχείο θα σωθεί ως gbafix.c.txt, που προφανώς δε θέλουμε )
 
Τελευταία επεξεργασία από έναν συντονιστή:
Βήμα 11ο Μεταγλωττίζοντας το gbafix.c

Προκειμένου να μεταγλωττίσουμε τον πηγαίο κώδικα του gbafix.c σε εκτελέσιμη μορφή, θα χρειαστούμε φυσικά τον κατάλληλο compiler. Στη δική μας περίπτωση είναι ο gcc. Στο Linux είναι προεγκατεστημένος και δεν χρειάζεται να κάνουμε τίποτα επιπλέον. Στα Windows όμως θα πρέπει να τον εγκαταστήσουμε. Η διαδικασία ευτυχώς δεν είναι δύσκολη και την περιγράφω στη συνέχεια

Εγκαθιστώντας το TDM-GCC

Επισκεφθείτε τη σελίδα http://tdm-gcc.tdragon.net/download και από τη λίστα installers κάντε κλικ στην τελευταία 32bit έκδοση του tdm-gcc. Στη δική μου περίπτωση ήταν η tdm-gcc-5.1.0-3.exe. Αυτό θα σας κατευθύνει στην αντίστοιχη σελίδα sourceforge, ώστε να το κατεβάσετε. Μόλις ολοκληρωθεί το κατέβασμα, κάντε διπλό κλικ στο εκτελέσιμο αρχείο που κατεβάσατε, ώστε να ξεκινήσει η διαδικασία της εγκατάστασης. Ακολουθείστε τα επόμενα βήματα

Βήμα 1ο:  Στο αρχικό παράθυρο που θα εμφανιστεί κάντε κλικ στο Create, ώστε να δημιουργήσετε μια καινούργια εγκατάσταση του tdm-gcc. Αφήστε την επιλογή check for updated files on the TDM-GCC server, τσεκαρισμένη (βεβιαωθείτε ότι είστε συνδεδεμένοι στο διαδίκτυο).

test1.png

Βήμα 2ο:  Επιλέξτε την έκδοση MinGW/TDM (32bit) και πατήστε το Next. Διαβάστε την άδεια και μετά ξανά κλικ στο Next

test2.png

Βήμα 3ο:  Επιλέξτε τον φάκελο προορισμού. Μπορείτε να αφήσετε τον προεπιλεγμένο ή να φτιάξετε έναν καινούργιο. Στη δική μου περίπτωση επέλεξα φάκελο προορισμού το c:\files\TDM-GCC-32. Γενικά αποφύγετε έναν φάκελο προορισμού που να περιέχει κενά στο όνομα. πατήστε το Next

test3.png

Βήμα 4ο:  Αφήστε τον επιλεγμένο εξ' ορισμού καθρέπτη (Sourceforge). Κλικ στο Next

test4.png

Βήμα 5ο:  Αφήστε την προτιμώμενη επιλογή (TDM-GCC recommended, C/C++), και κάντε κλικ στο install

test5.png

Βήμα 6ο. Μολις ολοκληρωθεί η εγκατάσταση πατήστε το Next και μετά το finish για να κλείσετε το πρόγραμμα. Είναι σημαντικό να κάνετε επανεκκίνηση στον υπολογιστή σας για να ολοκληρωθεί η διαδικασία με επιτυχία

Δοκιμάζοντας ότι η εγκατάσταση του compiler έγινε σωστά

Μετά την επανεκκίνηση του υπολογιστή καλό είναι να δοκιμάσετε ότι το tdm-gcc έχει εγκατασταθεί με επιτυχία στον υπολογιστή σας. Για να το κάνετε αυτό θα χρειαστεί η κονσόλα των Windows (command prompt). Πατήστε το start button και στην αναζήτηση γράψτε cmd. Στη λίστα θα εμφανιστεί το cmd.exe. Kάντε κλικ σε αυτό. Μολίς φορτώσει η κονσόλα, γράψτε gcc - v και πατήστε το enter. Αν δείτε να εμφανίζεται ένα μήνυμα που να σας πληροφορεί για την έκδοση του compiler, τότε όλα πήγαν καλά
 
Τελευταία επεξεργασία από έναν συντονιστή:
Βήμα 11ο Μεταγλωττίζοντας το gbafix.c  (β μέρος)

Και έφτασε η στιγμή (μετά από τόσο καιρό ? ) να μεταγλωττίσετε επιτέλους αυτό το gbafix.c που κατεβάσατε στο βήμα 10ο

Ευτυχώς η διαδικασία, τώρα που εγκαταστήσατε το TDM-GCC, είναι πολύ απλή

Αρχικά θα πρέπει να μεταφερθείτε στον κατάλογο που αποθηκεύσατε το αρχείο gbafix.c (στην δική μου περίπτωση το αποθήκευσα στο κατάλογο των λήψεων)

gbfix1.png

Για να μεταγλωττίσετε το gbafix.c σε εκτελέσιμη μορφή θα χρειαστείτε και πάλι την κονσόλα των Windows (command prompt). Για να τρέξετε απ' ευθείας την κονσόλα στον κατάλογο που βρισκόσαστε, κρατήστε πατημένο το πλήκτρο shift στο πληκτρολόγιο και κάντε δεξί κλικ στην άσπρη περιοχή του παραθύρου που δείχνει τα περιοχόμενα του φακέλου, αφού πρώτα έχετε βεβαιωθεί ότι δεν είναι επιλεγμένο κάποιο αρχείο ---Σημ: Ισχύει για τις εκδόσεις των Windows από 7 και πάνω (βλ. εικόνα)

gbfix2.png

Από το μενού που εμφανίζεται, επιλέξτε το "Open command window here" (ή "Άνοιγμα παραθύρου εντολών εδώ" ), για να εμφανιστεί η κονσόλα. Στο παράθυρο της κονσόλας γράψτε την εντολή gcc -o gbafix.exe gbafix.c και πατήστε το enter

gbfix3.png

Μετά απο λίγα δευτερόλεπτα η μεταγλώττιση θα ολοκληρωθεί και θα παραχθεί το εκτελέσιμο αρχείο gbafix.exe. Μπορείτε να κλείσετε την κονσόλα των windows τώρα

gbfix4.png

Το τελευταίο βήμα είναι να μεταφέρετε το εκτελέσιμο αρχείο που μόλις δημιουργήσατε (δηλαδή το gbafix.exe) στον φάκελο bin του καταλόγου στον οποίο εγκαταστείσατε το DevKit Advance. Αν θυμάστε από το βήμα 8ο το DevKit Advance το είχατε εγκαταστήσει στον φάκελο files με το όνομα devkitadv. Μέσα σε αυτόν το κατάλογο υπάρχει ο φάκελος bin. Αν δεν αλλάξατε τις ονομασίες των καταλόγων, αυτό σημαίνει ότι θα πρέπει να μεταφέρετε το αρχείο gbafix.exe μέσα στον κατάλογο C:\files\devkitadv\bin, όπως βλέπετε και στην επόμενη εικόνα

gbfix5.png

Αυτό ήταν!

Ολοκληρώθηκαν πλεόν όλα τα απαιτούμενα βήματα  για να μπορούμε να προγραμματίζουμε το GameBoy Advance και το ρομπότ μας. Στα επόμενα 2 ή 3 post, τα οποία και θα είναι τα τελευταία,  θα σας δείξω πως γράφουμε τον κώδικα για το ρομπότ μας και πως το μεταγλωττίζουμε ώστε να εκτελείται στο GameBoy. Θα σας δώσω επιπλέον και τον κώδικα που "τρέχει" το GameBoy στο βίντεο που φαίνεται η πλοήγηση του δικού μου ρομπότ στο χώρο, με ταυτόχρονη αποφυγή των εμποδίων, κάνοντας χρήση των αισθητήρων απόστασης με υπέρυθρες

Μέχρι να έρθει εκείνη η μέρα... εύχομαι υγεία σε όλους!
 
Τελευταία επεξεργασία από έναν συντονιστή:
Πίσω
Μπλουζα