Τα υλικά που θα χρειαστούμε είναι ένα αναπτυξιακό σύστημα (πλακέτα) και
ένας μικροελεγκτής AVR.
Τα πιο δημοφιλή αναπτυξιακά είναι το STK500 και ο διάδοχός του STK600. Έχουν τη δυνατότητα να φιλοξενήσουν ένα μεγάλο αριθμό
μικροελεγκτών, διαθέτουν διακόπτες, LED, θύρες εισόδου-εξόδου, ενσωματωμένο προγραμματιστή για
προγραμματισμό του μικροελεγκτή και γενικά εξοπλισμό προσαρμοσμένο στις ανάγκες
ανάπτυξης εφαρμογών με μικροελεγκτές.
Εναλλακτικά, ως πιο οικονομική λύση, μπορούμε να κατασκευάσουμε το δικό
μας αναπτυξιακό σύστημα: http://www.porlidas.gr/ATmegaDev/ATmegaDevGr.htm
με τον προγραμματιστή: http://www.porlidas.gr/USBISP/USBISPGr.htm
ή να προμηθευτούμε ένα φθηνό αναπτυξιακό και προγραμματιστή από αυτά που
παρουσιάζονται στο: http://www.porlidas.gr/MSC/Intro2018.pdf
και http://www.porlidas.gr/MSC/Intro2017.pdf
Τα αναπτυξιακά που παρουσιάζονται στους παραπάνω συνδέσμους δεν μπορούν
σε καμία περίπτωση να αντικαταστήσουν τα STK500 και STK600, γιατί διαθέτουν ελάχιστες ευκολίες
ελέγχου και διασύνδεσης (στην ουσία είναι πλακέτες για τον μικροελεγκτή με
αναμονές για σύνδεση με εξωτερικές συσκευές μέσω καλωδίων). Η χαμηλή τιμή τους
όμως τα καθιστά εξαιρετικά δημοφιλή στην ερασιτεχνική ανάπτυξη εφαρμογών. Οι
σειρές ARDUINO διαθέτουν ενσωματωμένο προγραμματιστή για προγραμματισμό του
μικροελεγκτή μέσα από την πλατφόρμα ARDUINO IDE[1].
Η πλακέτα ARDUINO MEGA
2560 (εικόνα 1) συνδυάζει τη βέλτιστη σχέση τιμής-απόδοσης, καθώς διαθέτει έναν πανίσχυρο
μικροελεγκτή (ATmega2560) ενώ το κόστος της μπορεί να περιοριστεί σε 6 δολάρια
αν προέρχεται από τρίτο κατασκευαστή.

Εικόνα 1: Πλακέτα ARDUINO MEGA2560
Υπάρχει δυνατότητα να χρησιμοποιήσουμε τις πλακέτες ARDUINO για
ανάπτυξη εφαρμογών στο περιβάλλον εργασίας Atmel Studio 7 με γλώσσα προγραμματισμού C. Δεν υπάρχει όμως η δυνατότητα σε αυτή
την περίπτωση να γίνει χρήση του ενσωματωμένου προγραμματιστή, καθώς δεν τον
αναγνωρίζει το Atmel Studio,
αλλά ούτε υπάρχει, για την ώρα, κάποιο πρόγραμμα να τον αναγνωρίζει και για
αυτό το λόγο θα χρειαστεί εξωτερικός προγραμματιστής. Ο προγραμματιστής http://www.porlidas.gr/USBISP/USBISPGr.htm
μπορεί να συνδεθεί στον connector ISP της πλακέτας και με το πρόγραμμα AvrProg ή AvrOspII να γίνει ο προγραμματισμός του μικροελεγκτή.
Επίσης υπάρχει δυνατότητα να χρησιμοποιήσουμε τον προγραμματιστή USBASP, με τη βοήθεια ενός
μετατροπέα ASP 10pin to ISP 6pin να συνδεθεί
στον connector ISP της πλακέτας (Εικόνα 2) -κάτι που θα ανεβάσει το κόστος κατά 2-3 δολάρια-
και με το πρόγραμμα khazama AVR Programmer να
γίνει ο προγραμματισμός του μικροελεγκτή, λύση την οποία θα χρησιμοποιήσουμε
στα επόμενα κεφάλαια. Όλα τα προγράμματα που αναφέρθηκαν παραπάνω υπάρχουν
ελεύθερα στο Internet
και τα υλικά στις περισσότερες ηλεκτρονικές αγορές.

Εικόνα 2: Σύνδεση του προγραμματιστή USBASP στη θύρα ISP της πλακέτας μέσω μετατροπέα ASP 10pin to ISP 6pin
Για να μπορέσει να λειτουργήσει σωστά στις πλακέτες ARDUINO ο
κώδικας θα αναπτύξουμε στο Atmel Studio
7 σε γλώσσα προγραμματισμού C θα χρειαστεί να απενεργοποιήσουμε τον Boot Loader που
είναι φορτωμένος στον μικροελεγκτή της πλακέτας[2].
Αυτό μπορεί να γίνει μέσα από khazama ρυθμίζοντας
τα κατάλληλα Fuses (Εικόνα 3) -πληροφορίες
χρήσης του khazama υπάρχουν στο http://www.porlidas.gr/AVR/IDEGr.htm-.

Εικόνα 3: Ρύθμιση των Fuses για απενεργοποίηση του Boot Loader
|