20.5.12

Arduino UNO..ολική επαναφορά

η αλλιώς, πόσα πράγματα έμαθα όταν νόμισα ότι 'τα τίναξε' ο επεξεργαστής του (ATMEGA 328P) μετά απο ένα λάθος που έκανα..(αλλά τελικά δεν ήταν μοιραίο)

Και για να πάρουμε τα πράγματα απο την αρχή..

Κατα καιρούς υλοποιώ διάφορα project είτε κατα παραγγελία,  είτε για μένα, τα οποία στηρίζονται σε μικροελεγκτές  της Microchip και αναφέρομαι στους 'κλασσικούς' PIC16F84A, PIC628A και λοιπούς, είτε σε μικροελεγκτές AVR της ATMEL (που παρεπιπτόντως το όνομα AVR δεν σημαίνει ΑΠΟΛΥΤΩΣ ΤΙΠΟΤΑ για όσους δεν το γνωρίζουν!) με ποιό γνωστούς της σειράς ATMEGA8, ATMEGA328 αλλά και άλλους..

Στο συγκεκριμένο πόστ φυσικά και δεν θα ισχυριστώ ότι ανακάλυψα τον τροχό, αλλά θα διηγηθώ τι έμαθα μέσα απο μια αποτυχία ανάγνωσης και επαναπρογραμματισμού του ATMEGA328P, και συγκεκριμένα αυτού που 'δανείστηκα' για πειραματικούς σκοπούς απο την πλατφόρμα ανάπτυξης ανοιχτού λογισμικού του arduino μου..

Μάλιστα, τόση ήταν η σιγουριά μου...ότι 'του βγαλά τα μάτια' που ως την τελευταία στιγμή η πορεία του χωρίς αμφιβολία ήταν προς τον κάδο απορριμάτων.

Ακόμα να πώ ότι το συγκεκριμένο πόστ απευθύνεται σε newbies που ξεκινούν τώρα με την πλατφόρμα ανάπτυξης arduino, χωρίς να παραβλέπω βέβαια και τους πιο έμπειρους χρήστες που μπορεί να γυρίζουν 'άσκοπα' απο forum σε forum αναζητώντας μια ολοκληρωμένη λύση ενώ τέλος, αποτελεί έναν συγκεντρωτικό οδηγό σε περίπτωση που αντιμετωπίσετε και σείς το ίδιο πρόβλημα.

Με λίγα λόγια κι όπως καταλάβατε, αφού...'κατέστρεψα' τον bootloader (εκκινητή) η μέρος αυτού, με αποτέλεσμα να μην μπορεί να φορτωθεί κανένα sketch, σας παραδίδω πλέον..μαθήματα!

                                                                     Arduino UNO
                                               ( η κλασική φωτό  απ την επίσημη ιστοσελίδα)

                                          Υλικό + λογισμικό που θα χρειαστούμε

1)   Εναν προγραμματιστή μέσω Παράλληλης Θύρας Υπολογιστή

2)   Το αρχείο giveio απο το MIT

3)  Αυτό το registry patch

                                                                   Πως το κάνουμε

1ον)
Κατασκευάζουμε τον προγραμματιστή παράλληλης θύρας, ο οποίος είναι ότι πιο απλό μπορεί να παρουσιάσει...η 'φύση'
Στην συγκεκριμένη σελίδα υπάρχουν σαφείς εικόνες για την κατασκευή του, οπότε καμία περαιτέρω ανάλυση

                          Αυτή είναι η δική μου έκδοση που φτιάχτηκε...'τσάκα-τσάκα' όπως λέμε!

                                                      Κι εδώ άλλη μία φωτό της κατασκευής

Αυτή είναι η διάταξη ακίδων του ICSP connector του Arduino  (In Circuit Serial Programmer).
Προσοχή στην πολικότητα των ακίδων! Η εικόνα απεικονίζει την διάταξη όπως τον βλέπουμε απο την επάνω πλευρά του arduino

Αυτά όσον αφορά την πλευρά του υλικού μέρους (hardware) της κατασκευής
(μάλιστα για να σας βοηθήσω περισσότερο, το pin 1 συμβολίζεται με μία άσπρη τελεία πάνω στο τυπωμένο κύκλωμα)

2ον)
Αποσυμπιέζουμε το αρχείο giveio που κατεβάσαμε και τρέχουμε το ginstall.bat που βρίσκουμε στον φάκελο του

3ον)
Κατεβάζουμε και εγκαθιστούμε το registry patch που υπέδειξα στον κατάλογο των υλικών
(αυτό ΔΕΝ χρειάζεται πάντα, μόνο αν δείτε ότι  έχετε πρόβλημα, χωρίς να σημαίνει ότι θα συμβεί 'κάτι' αν το εγκαταστήσετε προκαταβολικά)

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


Αφού έχουμε ήδη εγκατεστημένο το arduino στον υπολογιστή μας, επιλέγουμε Tools > Programmer > Parallel Programmer

Κατόπιν Tools > Burn Bootloader

Αυτό ήταν!

Μετά απο 3-4 δευτερόλεπτα θα δούμε το μήνυμα.....'Done burning bootloader'

Αποσυνδέουμε το USB βύσμα και το ξανασυνδέουμε....

Τρέχουμε το γνωστό (και μη εξαιρεταίο) sketch blink για να βεβαιώσουμε ότι όλα πήγαν καλά, και συνεχίζουμε τα project μας!

**
το μόνο 'μειονέκτημα' της όλης διαδικασίας είναι ότι απαιτείται παράλληλη θύρα υπολογιστή
(κάτι που δεν έχουν τα σημερινά laptops αν έχετε μόνο τέτοιο, αλλά μη ξεχνάτε ότι δεν δώσατε ούτε ένα ευρώ για υλικά! (προγραμματιστή)

Καλή επιτυχία!