Το ATtiny85 Microcontroller Chip είναι μια προσιτή και ισχυρή εναλλακτική λύση σε σχέση με άλλους μικροελεγκτές Arduino, ειδικά όταν θέλετε να μειώσετε το έργο σας. Το τσιπ διαθέτει 8 ακίδες από τις οποίες έξι είναι καρφίτσες I / O (Συμπεριλαμβανομένης της Επαναφοράς) και δύο είναι καρφίτσες ισχύος. Αλλά πώς το προγραμματίζετε καθώς δεν διαθέτει διεπαφή USB όπως άλλες πλακέτες μικροελεγκτή; Έτσι, σε αυτό το άρθρο, θα σας καθοδηγήσω στη διαδικασία προγραμματισμού του ATtiny85 από το Arduino IDE με τη βοήθεια του Arduino Uno. Βασικά, θα χρησιμοποιούμε το Arduino UNO ως προγραμματιστή ATtiny85.
Απαιτούμενα στοιχεία για τον προγραμματισμό ATtiny85
- Arduino UNO
- ATtiny85 IC
- LED
- 220-ohm αντίσταση
- Ψωμί
- Καλώδια αλτών
ATtiny85 Μικροελεγκτής Chip - Εισαγωγή
Ο ATtiny85 του Atmel είναι ένας μικροελεγκτής υψηλής απόδοσης και χαμηλής ισχύος 8-bit που βασίζεται στην Advanced RISC Architecture. Αυτό το τσιπ μικροελεγκτή διαθέτει μνήμη flash 8KB ISP, 512B EEPROM, 512-Byte SRAM, 6 γραμμές I / O γενικής χρήσης, 32 μητρώα εργασίας γενικής χρήσης, ένα χρονόμετρο / μετρητή 8-bit με τρόπους σύγκρισης, ένα 8-bit υψηλής ταχύτητας χρονοδιακόπτης / μετρητής, USI, εσωτερικές και εξωτερικές διακοπές, μετατροπέας 10-bit A / D 4 καναλιών, προγραμματιζόμενος χρονοδιακόπτης παρακολούθησης με εσωτερικό ταλαντωτή, τρεις τρόπους εξοικονόμησης ενέργειας με δυνατότητα επιλογής λογισμικού και εντοπισμός σφαλμάτωνWIRE για αποσφαλμάτωση on-chip. Το ATtiny85 Pinout δίνεται παρακάτω:
Οι περισσότερες ακίδες I / O του chip έχουν περισσότερες από μία λειτουργίες. Ρίξτε μια ματιά στον παρακάτω πίνακα για να μάθετε για την περιγραφή του πινέλου ATtiny85 για κάθε πείρο.
Pin No. |
Όνομα καρφιτσώματος |
Περιγραφή καρφίτσας |
1 |
PB5 (PCINT5 / ADC0 / dW) |
PCINT5: Pin Change Interrupt 0, Source5 RESET: Επαναφορά καρφίτσας ADC0: κανάλι εισόδου ADC 0 dW: εντοπισμός σφαλμάτων WIRE I / O |
2 |
PB3 (PCINT3 / XTAL1 / CLKI / ADC3) |
PCINT3: Pin Change Interrupt 0, Source3 XTAL1: Κρυστάλλινος ταλαντωτής Pin1 CLKI: Είσοδος εξωτερικού ρολογιού ADC3: κανάλι εισόδου ADC 3 |
3 |
PB4 (PCINT4 / XTAL2 / CLKO / OC1B / ADC2) |
PCINT4: Pin Change Interrupt 0, Source 4 XTAL2: Κρυστάλλινος ταλαντωτής Pin 2 CLKO: Έξοδος ρολογιού συστήματος OC1B: Χρονόμετρο / Μετρητής 1 Σύγκριση εξόδου αγώνα B ADC2: κανάλι εισόδου ADC 2 |
4 |
GND |
Καρφίτσα γείωσης |
5 |
PB0 (MOSI / DI / SDA / AIN0 / OC0A / AREF / PCINT0) |
MOSI: SPI Master Data Output / Slave Data Input DI: Εισαγωγή δεδομένων USI (λειτουργία τριών καλωδίων) SDA: Εισαγωγή δεδομένων USI (λειτουργία δύο καλωδίων) AIN0: Αναλογικός συγκριτής, θετική είσοδος OC0A: Χρονόμετρο / Μετρητής0 Σύγκριση εξόδου αντιστοίχισης Α AREF: Εξωτερική αναλογική αναφορά PCINT0: Pin Change Interrupt 0, Source 0 |
6 |
PB1 (MISO / D0 / AIN1 / OC0B / OC1A / PCINT1) |
MISO: Εισαγωγή SPI Master Data / Slave Data Output DO: Έξοδος δεδομένων USI (λειτουργία τριών καλωδίων) AIN1: Αναλογικός συγκριτής, αρνητική είσοδος OC0B: Χρονοδιακόπτης / Μετρητής0 Σύγκριση εξόδου αγώνα B OC1A: Χρονόμετρο / Μετρητής 1 Σύγκριση εξόδου αντιστοίχισης Α PCINT1: Pin Change Interrupt 0, Source 1 |
7 |
PB2 (SCK / USCK / SCL / ADC1 / T0 / INT0 / PCINT2) |
SCK: Είσοδος σειριακού ρολογιού USCK: Ρολόι USI (λειτουργία τριών καλωδίων) SCL: Ρολόι USI (Λειτουργία δύο καλωδίων) ADC1: κανάλι εισόδου ADC 1 T0: Χρονοδιακόπτης / Μετρητής0 Πηγή ρολογιού INT0: Εξωτερική διακοπή 0 είσοδος PCINT2: Pin Change Interrupt 0, Source 2 |
8 |
VCC |
Πείρος τάσης τροφοδοσίας |
Βήμα 1: Διαμόρφωση του Arduino Uno ως ISP:
Δεδομένου ότι το ATtiny85 είναι απλώς ένας μικροελεγκτής, απαιτεί έναν προγραμματισμό ISP (In-System Programming). Έτσι, για να προγραμματίσουμε το ATtiny85, πρέπει πρώτα να διαμορφώσουμε το Arduino Uno ως ISP ώστε να λειτουργεί ως προγραμματιστής για το ATtiny85. Για αυτό, συνδέστε το Arduino Uno με φορητό υπολογιστή και ανοίξτε το Arduino IDE. Μετά από αυτό, μεταβείτε στο Αρχείο> Παράδειγμα> ArduinoISP και ανεβάστε τον κωδικό ISP Arduino.
Βήμα 2: Διάγραμμα κυκλώματος για προγραμματισμό ATtiny85:
Το πλήρες σχήμα για τον προγραμματισμό ATtiny85 με το Arduino Uno δίνεται παρακάτω:
Ο θετικός πείρος του LED συνδέεται με τον ακροδέκτη 0 του ATtiny85 IC μέσω αντίστασης 220Ω ενώ ο πείρος GND είναι συνδεδεμένος στο GND του IC. Οι πλήρεις συνδέσεις δίνονται στον παρακάτω πίνακα:
Καρφίτσα ATtiny85 |
Arduino Uno Pin |
Vcc |
5V |
GND |
GND |
Καρφίτσα 2 |
13 |
Καρφίτσα 1 |
12 |
Καρφίτσα 0 |
11 |
Επαναφορά |
10 |
Βήμα 3: Προγραμματισμός ATtiny85 με χρήση του Arduino IDE:
Για να προγραμματίσουμε το ATtiny85 με το Arduino IDE, πρώτα, πρέπει να προσθέσουμε την υποστήριξη ATtiny85 στο Arduino IDE. Για αυτό, μεταβείτε στο Αρχείο> Προτιμήσεις και προσθέστε τον παρακάτω σύνδεσμο στις διευθύνσεις URL πρόσθετων διαχειριστών και κάντε κλικ στο "OK".
Μετά από αυτό, μεταβείτε στα Εργαλεία> Διοικητικό Συμβούλιο> Διαχειριστής συμβουλίου και αναζητήστε το "attiny" και εγκαταστήστε την πιο πρόσφατη έκδοση.
Αφού το εγκαταστήσετε, τώρα θα μπορείτε να δείτε μια νέα καταχώρηση στο μενού του πίνακα με τίτλο «Attiny25 / 45/85».
Τώρα, μεταβείτε στο Αρχείο > Παραδείγματα> Βασικά και ανοίξτε το παράδειγμα Blink.
Αλλάξτε τον αριθμό pin από LED_BUILTIN σε 0.
Τώρα πάμε πίσω στο Εργαλεία -> Διοικητικού Συμβουλίου και επιλέξτε «Attiny25 / 45/85», στη συνέχεια, επιλέξτε ATtiny85 υπό Εργαλεία> Επεξεργαστής.
Τώρα, προχωρήστε και ανεβάστε τον κωδικό. Εάν το LED που είναι συνδεδεμένο στον ακροδέκτη 0 του Attiny85 IC αναβοσβήνει, τότε ο κώδικας μεταφορτώνεται με επιτυχία.
Έτσι μπορείτε να προγραμματίσετε το τσιπ μικροελεγκτή ATtiny85 χρησιμοποιώντας το Arduino IDE και το Arduino Uno. Παρακάτω δίνεται ένα βίντεο εργασίας. Αν έχετε απορίες, αφήστε τις στην ενότητα σχολίων. Μπορείτε επίσης να δημοσιεύσετε τα τεχνικά σας ερωτήματα στο Φόρουμ Ηλεκτρονικών για να λάβετε καλύτερες πληροφορίες.