Τσιπ προγραμματισμού με το Arduino - AVR ISP που καλύπτει ATTiny85, ATTiny2313 και ATMega328: 3 βήματα
Τσιπ προγραμματισμού με το Arduino - AVR ISP που καλύπτει ATTiny85, ATTiny2313 και ATMega328: 3 βήματα
Anonim
Τσιπ προγραμματισμού με το Arduino σας - AVR ISP που καλύπτει ATTiny85, ATTiny2313 και ATMega328
Τσιπ προγραμματισμού με το Arduino σας - AVR ISP που καλύπτει ATTiny85, ATTiny2313 και ATMega328
Τσιπ προγραμματισμού με το Arduino - AVR ISP που καλύπτει ATTiny85, ATTiny2313 και ATMega328
Τσιπ προγραμματισμού με το Arduino - AVR ISP που καλύπτει ATTiny85, ATTiny2313 και ATMega328

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

Αυτό το Instructable είναι μια συγκέντρωση γνώσεων που συλλέγονται από όλο το «δίχτυ» και επίσης από τα «nstructables». Καλύπτει τον προγραμματισμό των μικροελεγκτών AVR, χρησιμοποιώντας τα παραδείγματα των ATTiny85, ATTiny2313 και ATMega328, με ένα Arduino. Έχω χρησιμοποιήσει αυτήν την τεχνική για να δημιουργήσω μια σειρά από gizmos όλα αυτά τα χρόνια και πιο πρόσφατα την χρησιμοποίησα για να διεκδικήσω τα Arduinos που έχουν χαθεί σε έργα, αντικαθιστώντας τα με ένα "bootloaded" ATMega328 και μια χούφτα εξαρτημάτων. Αυτό το Instructable, όπως πολλά, είναι χτισμένο στους ώμους των γιγάντων. Υπάρχουν πολλές πηγές και ελπίζω να τις συμπεριλάβω όλες, μερικοί από τους μεγαλύτερους συντελεστές είναι: Arduino to BreadboardHigh Low Tech BlogLady Ada's AVR Dude TutorialRandal Bohn's Arduino Sketch Εάν θέλετε να μάθετε πραγματικά για τη διαδικασία, αξίζει να ελέγξετε όλες τις πηγές αναφέρονται καθώς περιέχουν χρήσιμα κόλπα και συμβουλές για το πότε τα πράγματα σταματούν να λειτουργούν. Εντάξει, είμαστε έτοιμοι; Ας μαζέψουμε τα εργαλεία μας. Μετά από αυτό, θα δούμε τον κώδικα που κάνει όλη τη σκληρή δουλειά και στη συνέχεια μερικά παραδείγματα με το Arduino IDE, και θα κάνουμε ακόμη και ένα σύντομο ταξίδι στη σκοτεινή πλευρά με το AVRDude!

Βήμα 1: Συγκεντρώστε τα εργαλεία σας

Αυτή είναι μια αρκετά απλή ρύθμιση. Ποτέ δεν βρήκα τους πυκνωτές να αποτελούν πρόβλημα όταν χρησιμοποιώ ένα επίσημο Arduino uno ως βάση, οπότε αυτό μπορεί να φαίνεται λίγο γυμνό σε μερικούς που έχουν εμπειρία στον προγραμματισμό AVR. Θα χρειαστείτε:

  • Ένα Arduino Uno
  • Breadboard
  • Καλώδια βραχυκύκλωσης
  • Τρεις λυχνίες LED και τρεις αντιστάσεις για 5V

και το AVR Chip της επιλογής σας

  • ATTiny85
  • ATTiny2313
  • ATMega328

Δεν χρειάζεστε πραγματικά τις λυχνίες LED, αλλά είναι πολύ βολικές για να γνωρίζετε ότι ο προγραμματιστής σας λειτουργεί ή εάν έχετε σφάλμα. Όσον αφορά το τσιπ AVR, μπορείτε να προγραμματίσετε τα περισσότερα AVR με αυτήν τη μέθοδο, αρκεί να γνωρίζετε πού βρίσκονται τα RST, MISO, MOSI και SCK. Η εξαίρεση (που έρχεται στο μυαλό) είναι αυτή του ATTiny10 και παρόμοια, χρησιμοποιούν διαφορετική μέθοδο.

Βήμα 2: Ρυθμίστε τον προγραμματιστή σας

Ρυθμίστε τον προγραμματιστή σας
Ρυθμίστε τον προγραμματιστή σας

Ας ρυθμίσουμε πρώτα το υλικό. Θα συνδέσουμε τα LED για να δούμε πότε θα ζωντανέψει ο πίνακας. Δείτε το παρακάτω διάγραμμα. Βάλτε το πιο κοντό πόδι των LED στη γραμμή -ve ή στη γείωση στο breadboard, αυτό είναι το μαύρο καλώδιο που μπαίνει σε αυτό. Ζητώ συγγνώμη εάν κάποιο από αυτά που λέω φαίνεται να είναι προστάτης με οποιονδήποτε τρόπο, αλλά θυμάμαι πραγματικά πώς είναι να ξεκινάς με τα ηλεκτρονικά, τόσες υποτιθέμενες γνώσεις και μικρά πράγματα με κρατούσαν πραγματικά για κάποιο χρονικό διάστημα! Εάν δεν το έχετε κάνει ήδη, κατεβάστε την τελευταία έκδοση του Arduino IDE από τους όμορφους ανθρώπους στο Arduino. Εάν δεν χρησιμοποιείτε ένα επίσημο Arduino, μπορεί να συναντήσετε μερικά χτυπήματα με αυτήν τη μέθοδο ή μπορεί να μην το κάνετε - μπορεί επίσης να θέλετε να τους στείλετε χρήματα μπύρας, όπως πραγματικά κάνουν ροκ και ως κοινότητα τους χρωστάμε πολλά! Έχετε λοιπόν το IDE; (αυτό είναι το λογισμικό που μόλις κατεβάσατε - το IDE σημαίνει Integrated Development Environment btw) Εγκαταστήστε το και συνδέστε το Arduino σας, μπορείτε να χρησιμοποιήσετε τα προγράμματα οδήγησης που συνοδεύουν το IDE εάν ο υπολογιστής σας δεν παραλάβει το Uno αμέσως. Τώρα πυροδοτήστε το IDE. Το Arduino IDE έρχεται με ένα σκίτσο AVRISP όλα έτοιμα στα> Παραδείγματα, αλλά είναι πραγματικά παλιό. Μεταβείτε στο Github μέσω αυτού του συνδέσμου, κάντε κλικ στην οθόνη με όλο το κείμενο, κρατήστε πατημένο το πλήκτρο Control πατήστε A για να επιλέξετε όλα. Τώρα κρατήστε πατημένο το πλήκτρο ελέγχου και πατήστε C για να αντιγράψετε ολόκληρο το κείμενο. Επιστρέψτε στο Arduino IDE και το Control V για να το επικολλήσετε. Βεβαιωθείτε ότι έχει επιλεγεί η σωστή θύρα COM (εάν δεν γνωρίζετε ποια είναι η σωστή, μπορείτε να κάνετε δεξί κλικ στον υπολογιστή στο μενού έναρξης των Windows (συγγνώμη που δεν υποστηρίζετε άλλο λειτουργικό σύστημα αυτήν τη στιγμή!), Στη συνέχεια κάντε κλικ στη διαχείριση συσκευών και αριστερό κλικ στο επεκτείνετε το μενού Ports (COM & LPT) και θα πρέπει να εμφανίζει το Arduino σας ως COM οτιδήποτε). Τώρα ανεβάστε το σκίτσο. Όλα είναι καλά και όλα τα LED σας πρέπει να τρεμοπαίζουν με τη σειρά, τότε ένα (επέλεξα το μπλε) θα αρχίσει να χτυπά. Προσπαθήστε να μην υπνωτιστείτε. Δεν λειτούργησε; Σχολιάστε παρακάτω και θα δούμε πώς μπορούμε να σας βοηθήσουμε! Μόλις το λειτουργήσετε, αποθηκεύστε το σκίτσο στο βιβλίο σκίτσων σας, χρησιμοποιώντας την αποθήκευση ως. Θα θελήσετε να το κρατήσετε πρακτικό για μελλοντική αναφορά.

Βήμα 3: Εκκίνηση ενός ATMega328 - Δημιουργία ενός κλώνου Arduino

Εκκίνηση ενός ATMega328 - Δημιουργία ενός κλώνου Arduino!
Εκκίνηση ενός ATMega328 - Δημιουργία ενός κλώνου Arduino!

Τώρα ξεκινάω με το ATMega328 καθώς είναι το πιο εύκολο από τα πολλά που μπορείτε να κάνετε "έξω από το κουτί" και υπάρχει μια άμεση εφαρμογή. Κάψτε ένα bootloader για να φτιάξετε το δικό σας breadboard Arduino ή γαρίδες. Δείτε την παρακάτω εικόνα. Μην ανησυχείτε ότι τώρα φαίνεται εκθετικά πιο περίπλοκο από το τελευταίο βήμα - απλώς ο εγκέφαλός σας σας κοροϊδεύει, ηρεμήστε και κοιτάξτε το ξανά. Τα μπλε καλώδια στις λυχνίες LED είναι τα ίδια, τα έχετε κάνει, οπότε μην ανησυχείτε για αυτά. Τα μαύρα και κόκκινα καλώδια από το Arduino επίσης, είναι τα καλώδια τροφοδοσίας σας, θέλουμε να πάρουμε ενέργεια στο τσιπ. Προσθέστε τα λοιπόν. Τώρα έχουν μείνει μόλις 4 καλώδια. Αυτά θα συνδεθούν με τις καρφίτσες σας 10 έως 13 και για τους περίεργους είναι:

  • Digitalηφιακό 10 - RST (Επαναφορά)
  • Digitalηφιακό 11 - MOSI (Master Out - Slave In)
  • 12ηφιακό 12 - MISO (Master In - Slave Out)
  • Digital 13 - SCK (Serial ClocK)

Αυτό που κάνουμε στην πραγματικότητα είναι ο προγραμματισμός του τσιπ με σειριακή περιφερειακή διεπαφή SPI. Το οποίο καλύπτεται σε αυτό το σπουδαίο σεμινάριο από τον πανίσχυρο Sparkfun. Τώρα για τον λόγο κοιτάξαμε πρώτα αυτό. Μεταβείτε στο> Εργαλεία στο IDE σας, Τώρα> Προγραμματιστής> Arduino ως ISP. Με αυτό το επιλεγμένο, μπορούμε στη συνέχεια να επιστρέψουμε> Εργαλεία> Εγκατάσταση εκκίνησης. Τώρα θα δούμε μερικά LED που αναβοσβήνουν και περιμένουμε λίγο. Το μήνυμα στο κάτω μέρος του IDE σας θα πρέπει τελικά να στραφεί στην ολοκλήρωση της εκκίνησης. Γεια σου, αυτό το τσιπ στο breadboard μπορεί τώρα να μετατραπεί σε γυμνό Arduino!

Συνιστάται: