ÎN articolul anterior am arătat cum să programăm cipurile ATtiny45 și ATtiny85. Dacă aveți nevoie de mai multe porturi sau interfețe de comunicații, puteți utiliza și microcontrolerul ATmega328 pentru proiectarea dvs. - la fel ca pe placa de dezvoltare Arduino. Puteți depana programul și conexiunea perifericelor de pe Arduino și apoi programați microcontrolerul pe placa de circuit imprimat a construcției dvs. Întrebi de ce nu folosești Arduino direct, deoarece este ieftin? Dacă nu contează dimensiunile și funcționarea economică, atunci de ce nu. Dar designul direct cu cipul poate fi semnificativ mai mic, mai ușor și va avea un consum de energie semnificativ mai mic. Consumul de curent tipic al Arduino este de 50 mA, deoarece are și circuite pentru programare prin USB. Consumul cipului în sine este de aproximativ 15 mA, iar dacă utilizați biblioteca pentru a trece la modurile de economisire a energiei, atunci semnificativ mai mic.
Procedura de programare ATmega328:
ATmega 328
Pentru ambalare simplă sau lipire, presupunem cipul ATmega328P într-o carcasă DIL (Dual In Lina) cu 28 de terminale amplasate 14 pe fiecare parte. Există, de asemenea, un cip în carcasă pentru montarea pe suprafață, dar necesită îndemânare în lipire și nu poate fi utilizat în câmpul de conectare.
Dacă descriem circuitul situat în lățime cu terminalul 1 în partea stângă jos, atunci în rândul superior al terminalelor din stânga este:
- A6-A0 are 6 pini care funcționează și ca intrări analogice de intrare
- GND, adică masă electrică sau stâlp minus atunci când funcționează pe baterie
- AREF și AVCC
- D13-D9 - pini digitali
În rândul de jos din stânga sunt pini:
- RST - semnal de resetare
- RX și TX - pini pentru comunicații seriale. De asemenea, pot funcționa ca pini digitali 0 și 1.
- Pinii digitali D2-D4
- Tensiunea de alimentare VCC 5V
- Pământ electric GND
- XTL 1 și 2 - terminale pentru conectarea unui cristal extern de 16 MHz. Nu trebuie să-l conectați când utilizați oscilatorul intern
- Pinii digitali D5-D8
Majoritatea pinilor au, de asemenea, funcții alternative, cum ar fi semnalele interfeței de comunicație.
Arduino ca programator pentru ATmega
Pentru a utiliza separat cipul ATmega 328, trebuie să încărcați un program în el. Ca programator, puteți utiliza orice Arduino și îl puteți conecta la pinii microcontrolerului cu mai multe fire. Trebuie să vă conectați:
Pentru a programa, trebuie să vă conectați:
Conectați un condensator electrolitic de 10 uF între pinii RESET și GND de pe Arduino. Polul plus al condensatorului este conectat la RESET. Conectați ceilalți pini conform tabelului:
Tabelul prezintă atât porturi, cât și PIN-uri, adică în cazul Arduino numerotarea de pe conectorul sistemului și în cazul circuitului integrat ATmega „picioarele” sale.
Pentru a monitoriza funcționarea programatorului, puteți, dar nu trebuie să conectați trei LED-uri la pinii Arduino:
- PIN7 - clipește în timpul programării microcontrolerului slave.
- PIN8 - semnalează o eroare.
- PIN9 - Clipește cu diminuare folosind PWM I semnal că programatorul este funcțional
Configurarea mediului de dezvoltare Arduino IDE
Dacă nu aveți instalat IDE-ul Arduino, descărcați-l la https://www.arduino.cc în secțiunea Software. Este disponibil pentru platformele Windows, Mac OS și Linux. Mediul de dezvoltare nu este instalat, descărcați aplicația direct de pe Internet, plasați-o într-un director adecvat din Windows și copiați-o din directorul Descărcat în directorul Aplicații de pe platforma Mac OS. În noul MacOS Catalina, trebuie să permiteți să funcționeze o aplicație terță parte.
Suportul pentru un circuit AT Mega 328P separat trebuie adăugat la mediul de dezvoltare. Descărcați din pagini fișiere de asistență, în special AICI. În directorul în care se află proiectele Arduino IDE, în mod implicit este C: \ Users \ UserName \ Documents \ Arduino creați un folder hardware și copiați folderul de panou extins din arhiva descărcată, unde bootloader-ul și fișierul de configurare sunt.
După pornirea Arduino IdE, veți găsi că un nou element pentru circuitul ATmega 328 va fi adăugat la meniul Instrumente/Plăci.
Pentru a utiliza Arduino ca programator pentru un circuit ATmega separat, rulați mediul de dezvoltare Arduino IDE și deschideți exemplul Fișier> Exemple> ArduinoISP. Încărcați acest program pe Arduino. Nu trebuie să vă ocupați de modul în care funcționează programul, este doar un instrument pentru a încărca codul pe microcontrolerul ATmega.
În primul rând, este necesar să încărcați bootloader-ul în microcontroler, adică bootloader-ul folosind meniul Instrumente> Burn Bootloader. Microcontrolerul, indiferent dacă este ATtiny sau ATmega, are o memorie flash din fabrică, complet goală pentru codul de utilizator. Producătorul presupune că circuitul va fi programat folosind un programator special. Cu toate acestea, în Arduino și în conexiunile noastre, programăm microcontrolerul conectat în circuit, adică folosim metoda ISP (In-System Programmer). Acest lucru permite programarea microcontrolerului printr-o interfață serială. În memoria flash, există un cod special numit bootloader, situat la capătul memoriei. Locația codului de utilizator este asumată la începutul memoriei. După resetare, este pornit un bootloader, care detectează dacă a ajuns o secvență specială de caractere pe pinii interfeței seriale, semnalând că va fi programată. Dacă da, bootloaderul citește date de pe interfața serială și programează memoria flash cu aceasta.
Să presupunem că aveți un program ATmega în mediul de dezvoltare, cum ar fi un exemplu de bliț din meniul de exemplu care luminează intermitent un LED, modificat pentru a aprinde un LED pe o ieșire, cum ar fi D8, care este ultimul din rândul de jos al circuitului integrat terminale.
- Nextech IoT practic - Micro bit, comutând orice și schimbând direcția de rotație a motorului
- Un sport atipic care a devenit popular printre modele Frumusețile fragile aruncă excesul de calorii
- AM TESTAT pentru dvs. Știm ce brânză proaspătă este TOP
- Am testat Honor de 7 ori, un domn blând care va fi surprins
- Necrezut! Un băiat de 12 ani care este întruparea lui Freddie Mercury! Radio Express