Το προφίλ μας στο Google Plus
0

Ξεφύγετε από το Arduino!

Για τα ηλεκτρονικά σας πρότζεκτ, υπάρχουν πολλοί λόγοι για να στραφείτε στους “bare metal” AVR. Θα σας δώσουμε δύο: Από τη στιγμή που έχετε ήδη ένα Arduino, δεν θα χρειαστεί να αγοράσετε τίποτα. Επίσης, τα απαιτούμενα εργαλεία ανάπτυξης διατίθενται τόσο για Linux, όσο και για Windows. Να σας δώσουμε κι έναν τρίτο λόγο; Ξεπερνώντας τους περιορισμούς που θέτει η χρήση του Arduino, θα μπορείτε να καταπιαστείτε με *πολύ* πιο φιλόδοξες κι εντυπωσιακές κατασκευές.

deltaHacker 025 (τεύχος Οκτωβρίου 2013) | Ξεφύγετε από το Arduino!

Μην μας παρεξηγείτε. Δεν τα βάλαμε με το Arduino, ούτε πιστεύουμε ότι έχουμε εξαντλήσει τη χαρά και τις γνώσεις που προσφέρει η ενασχόληση με αυτό. Πιστεύουμε όμως ότι όσο παίζει κανείς με μια τέτοια πλατφόρμα, αποκτά όλο και περισσότερες γνώσεις, γίνεται πιο απαιτητικός και θέτει συνεχώς υψηλότερους στόχους. Εμείς, για παράδειγμα, έχουμε ορισμένες ιδέες για τα επόμενα τεύχη, οι οποίες απαιτούν μεγαλύτερη ταχύτητα και σαφώς περισσότερους ακροδέκτες. Βλέπετε, το pixel clock σε μια υποτυπώδη κάρτα VGA –και για τη χαμηλότερη δυνατή ανάλυση– ανέρχεται στα 25MHz, ενώ το Arduino τρέχει μόλις στα 16MHz. Εξάλλου, η διασύνδεση με μια εξωτερική μνήμη (για τις ανάγκες μιας frame buffer, λόγου χάρη) απαιτεί παραπάνω port pins από αυτά που προσφέρει το Arduino. Αυτά τα ζητήματα, όμως, καθώς και πολλά άλλα, άκρως ενδιαφέροντα και διδακτικά, θα μας απασχολήσουν στο (κοντινό) μέλλον. Σε αυτό το άρθρο θα δούμε πώς μπορούμε να ξεπεράσουμε τους περιορισμούς που θέτει η πλατφόρμα του Arduino. Στο κάτω-κάτω, ακόμα κι αν δεν σκοπεύετε να υλοποιήσετε τις προχωρημένες κατασκευές που θα παρουσιάσουμε στα επόμενα τεύχη, είμαστε σίγουροι ότι δεν θέλετε να κάνετε σπατάλες. Αναρωτιέστε που κολλάει αυτό; Σκεφτείτε ότι ένας φτηνός (κινέζικος) κλώνος του Arduino κοστίζει περί τα 14 ευρώ, ενώ ο “εγκέφαλός” του κοστίζει μόλις 5 ευρώ. Δεν θα ήταν προτιμότερο αν για κάθε κατασκευή αγοράζαμε *μόνο* τον μικροελεγκτή κι όχι ολόκληρο το Arduino;

Πονάει χέρι, κόβει χέρι!
Η λύση που θα παρουσιάσουμε είναι απλή και αποτελεσματικότατη: Για να ξεπεράσουμε τους περιορισμούς που θέτει το Arduino, θα το καταργήσουμε. Το μεγάλο προτέρημα της δημοφιλούς πλατφόρμας εντοπίζεται στην ευκολία με την οποία μεταφέρονται τα προγράμματά μας από τον υπολογιστή προς τον μικροελεγκτή. Προκειμένου να καταργήσουμε το Arduino, λοιπόν, πρέπει να αντιμετωπίσουμε αυτό ακριβώς το πρόβλημα. Για να μπορούμε να παίζουμε με τον επεξεργαστή του Arduino στην επιθυμητή συχνότητα λειτουργίας και, γενικότερα, να είναι σεταρισμένος με τον τρόπο που απαιτεί η εκάστοτε κατασκευή, πρέπει να βρούμε έναν τρόπο να μεταφέρουμε τα προγράμματά μας στη μνήμη flash του τσιπ. Παρεμπιπτόντως, λύνοντας αυτό το πρόβλημα, θα μπορούμε μετά να παίζουμε και με οποιονδήποτε άλλο συγγενικό μικροελεγκτή. Το Arduino βασίζεται στον atMega328 της οικογένειας AVR, από την Atmel. Η εν λόγω οικογένεια περιλαμβάνει μεταξύ άλλων τις σειρές atTiny, atMega και XMega, που παρουσιάζουν μεγάλη ποικιλία ως προς το πλήθος των ακροδεκτών, τα ενσωματωμένα περιφερειακά, τη μέγιστη συχνότητα λειτουργίας, την ελάχιστη τάση τροφοδοσίας και φυσικά το κόστος — το οποίο είναι πάντα χαμηλότερο από εκείνο ενός Arduino.

Για τη μεταφορά ενός προγράμματος στη μνήμη flash του μικροελεγκτή, δηλαδή για τον “προγραμματισμό” του, όπως συνηθίζουμε να λέμε, προσφέρονται ειδικές συσκευές που ονομάζονται hardware programmers. Καθεμιά εξ αυτών λειτουργεί ως δίαυλος επικοινωνίας μεταξύ του υπολογιστή και του μικροελεγκτή, για τη μεταφορά του κώδικα και ορισμένων βασικών ρυθμίσεων. Περισσότερα γι’ αυτές τις ρυθμίσεις θα πούμε αργότερα. Για την ώρα θα δούμε πώς μπορούμε να μετατρέψουμε το Arduino μας σε έναν hardware programmer, για τους μικροελεγκτές AVR. Επιπρόσθετα, θα γνωρίσουμε τα εργαλεία με τα οποία μπορούμε να μεταγλωττίζουμε τα προγράμματά μας και στη συνέχεια να τα στέλνουμε στο τσιπάκι, μέσω του νέου μας programmer. Τελικά, θα αποκτήσουμε την ελευθερία να χρησιμοποιούμε οποιονδήποτε μικροελεγκτή AVR και να γράφουμε κώδικα σε οποιοδήποτε περιβάλλον (λειτουργικό σύστημα και editor). Με άλλα λόγια, θα ξεπεράσουμε όλους τους περιορισμούς που θέτει η πλατφόρμα του Arduino… με τη βοήθεια ενός Arduino ;)

Διαβάστε ολόκληρο το άρθρο στο deltaHacker 025 (τεύχος Οκτωβρίου 2013).

Το μηνιαίο περιοδικό deltaHacker είναι πλέον ηλεκτρονικό! Μάθετε για τις νέες, απίστευτες τιμές και κάντε τώρα την παραγγελία σας συμπληρώνοντας τη σχετική φόρμα.

Leave a Reply

You must be logged in to post a comment.

Σύνδεση

Αρχείο δημοσιεύσεων