Përmbajtje:

Programimi i ATTiny85, ATTiny84 dhe ATMega328P: Arduino Si ISP: 9 hapa (me fotografi)
Programimi i ATTiny85, ATTiny84 dhe ATMega328P: Arduino Si ISP: 9 hapa (me fotografi)

Video: Programimi i ATTiny85, ATTiny84 dhe ATMega328P: Arduino Si ISP: 9 hapa (me fotografi)

Video: Programimi i ATTiny85, ATTiny84 dhe ATMega328P: Arduino Si ISP: 9 hapa (me fotografi)
Video: M#1: Настройка ПЛК Outseal Mega с отладочной платой ATmega128 | Аутсил Дев. ПЛК Мега 2024, Korrik
Anonim
Programimi i ATTiny85, ATTiny84 dhe ATMega328P: Arduino Si ISP
Programimi i ATTiny85, ATTiny84 dhe ATMega328P: Arduino Si ISP
Programimi i ATTiny85, ATTiny84 dhe ATMega328P: Arduino Si ISP
Programimi i ATTiny85, ATTiny84 dhe ATMega328P: Arduino Si ISP

Parathënie

Kohët e fundit kam zhvilluar disa projekte IoT të bazuara në ESP8266 dhe zbulova se procesori kryesor po luftonte për të kryer të gjitha detyrat që më duheshin për të menaxhuar, kështu që vendosa të shpërndaj disa nga aktivitetet më pak të rëndësishme në një mikrokontrollues të ndryshëm në në këtë mënyrë duke liruar ESP8266 për të vazhduar me punën e saj për të qenë një pajisje IoT.

Duke pasur parasysh që doja ta publikoja projektin tim për një audiencë sa më të gjerë, zgjodha të përdor Arduino IDE si platformën e zhvillimit të zgjedhur pasi ajo ka një komunitet kaq të mbështetur gjerësisht.

Kufizimet e projektimit

Për të siguruar një përhapje të arsyeshme të pajisjeve të synuara që lejojnë përzgjedhjen e një mikrokontrolluesi të përshtatshëm për aplikacionin në dispozicion, u vendosa në pjesët e mëposhtme të Atmel; ATMega328P, ATTiny84 dhe ATTiny85. Për të kufizuar kompleksitetin e programuesit të nevojshëm, unë e kufizova zgjedhjen e orës në të brendshme për të gjitha pajisjet dhe 16MHz të jashtme vetëm për ATMega328P dhe ATTiny84.

Ajo që vijon është një koleksion shënimesh mbi programimin me Arduino dhe një përshkrim se si kam bashkuar një programues të thjeshtë të bazuar në Arduino Uno për këto pajisje (Fotot më lart).

Cilat pjesë më duhen?

Për të ndërtuar programuesin do t'ju nevojiten pjesët e mëposhtme

  1. 1 zbritje Arduino Uno
  2. 2 priza DIP të Zero Insertion Force (ZIF) me 28 kunja (për të mbajtur ATMega328P, ATTiny85, ATTiny84)
  3. 1 zbritje prototipi Arduino (e mora këtu;
  4. 2 LED 5mm 5mm
  5. 2 rezistenca 1K
  6. 1 rezistencë 10K
  7. 4 jashtë kondensatorëve qeramikë 22pF
  8. 2 jashtë kristaleve 16MHz
  9. 3 jashtë kondensatorëve qeramikë 0.1uF
  10. 1 off Kondensator elektrolitik 47uF
  11. 1 off 10uF Kondensator elektrolitik
  12. Teli i mbështjellës me tela me gjatësi të ndryshme.

Çfarë programi më nevojitet?

Arduino IDE 1.6.9

Çfarë aftësish më duhen?

  1. Njohuri për Arduino IDE
  2. Disa njohuri për elektronikën dhe si të bashkohen
  3. Një shkathtësi e madhe manuale
  4. Një ngarkesë durimi dhe shikim të mirë

Temat e mbuluara

  1. Hyrje e përgjithshme në programimin e Mikrokontrolluesve Atmel
  2. ISP ose Bootloader: allshtë e gjitha pak konfuze
  3. Vështrim i përgjithshëm i qarkut
  4. Vendosja e programuesit tuaj
  5. Duke përdorur programuesin tuaj Arduino ISP
  6. Zhvillimi i kodit në sistemin tuaj të synuar
  7. Gotchas
  8. Përfundim
  9. Referencat e përdorura

Mohim

Si gjithmonë, ju i përdorni këto udhëzime në rrezikun tuaj dhe ato vijnë të pambështetura

Hapi 1: Hyrje e përgjithshme mbi Programimin e Mikrokontrolluesve të Atmelit

Hyrje e Përgjithshme mbi Programimin e Mikrokontrolluesve të Atmelit
Hyrje e Përgjithshme mbi Programimin e Mikrokontrolluesve të Atmelit
Hyrje e Përgjithshme mbi Programimin e Mikrokontrolluesve të Atmelit
Hyrje e Përgjithshme mbi Programimin e Mikrokontrolluesve të Atmelit
Hyrje e Përgjithshme mbi Programimin e Mikrokontrolluesve të Atmelit
Hyrje e Përgjithshme mbi Programimin e Mikrokontrolluesve të Atmelit

Ekzistojnë dy metoda të disponueshme për programimin e mikrokontrolluesve Atmel;

  1. Në Programimin e Sistemit (ISP),
  2. Vetë programimi (përmes një ngarkuesi të ngarkimit).

Metoda e mëparshme (1) programon drejtpërdrejt mikrokontrolluesin përmes ndërfaqes SPI pasi së pari e vendosni pajisjen në rivendosje. Nëse nuk udhëzohet ndryshe, një program burimor i përpiluar i përpiluar i shkruhet pajisjes gradualisht në kujtesën e kodit nga ku ekzekutohet në fillim. Ka shumë pajisje ISP të afta për të programuar pajisjet Atmel, disa prej të cilave janë (figura 1); AVRISPmkII, Atmel-ICE, Olimex AVR-ISP-MK2, Olimex AVR-ISP500. Figura 2 tregon se si pajisja ISP lidhet me ATMega328P (ICSP e shënuar çuditërisht) në tabelën Arduino Uno R3 (figura 3 jep pinin e ISP -së). Shtë gjithashtu e mundur të programoni një mikrokontrollues Atmel përmes ndërfaqes së tij SPI duke përdorur një Arduino Uno si ISP (figura 4), këtu Uno po përdoret për të programuar një ATMega328P.

Metoda e fundit (2) përdor një cung të vogël të kodit të njohur si një 'bootloader' që banon përgjithmonë në kujtesën e kodit të ekzekutueshëm (zakonisht i kyçur për të parandaluar mbishkrimin aksidental të figurës 5). Ky kod ekzekutohet së pari me ndezjen ose rivendosjen e pajisjes dhe lejon që mikrokontrolluesi të ri-programohet me kodin e ri të marrë përmes njërës prej ndërfaqeve të tij nga një burim i jashtëm në vetvete. Metoda bootloader përdoret nga Arduino IDE për të ri-programuar Arduinos të hartuar si një port USB comm në PC (Ose MAC, kuti Linux etj., Figura 6) dhe në rastin e Arduino Uno komunikon me pajisjen Atmel nëpërmjet saj ndërfaqja serike në IC Pins 2 dhe 3 të ATMega328P. Gjithashtu Arduino Uno (me mikrokontrolluesin ATMega328P të hequr) mund të përdoret për të programuar një ATMega328P nëpërmjet metodës bootloader duke vepruar në mënyrë efektive si një pajisje përshtatëse USB në seri (figura 7).

Çfarë është një përshtatës USB në seri?

Një përshtatës USB në serial është një pjesë e harduerit që futet në portën USB të PC-ve tuaj dhe duket si një port serial com (një trashëgimi nga kohët e mëparshme kur kompjuterët përdornin një standard komunikimi serik të njohur si EIA-232, V24 ose RS232) duke ju lejuar të dërgoni dhe merrni të dhëna serike në të njëjtat nivele elektrike të mikrokontrolluesit. Kur zgjidhni Tools -> Port -> COMx nga Arduino IDE ju jeni duke lidhur/ndërlidhur kompjuterin tuaj me Arduino tuaj.

Një pajisje e tillë nganjëherë quhet FTDI (figura 8, e cila në fakt është një emër marke) ose CH340G, etj. USB serial në Arduino uno arrihet përmes një ATMega16U2-MU (R) IC ZU4 si në Skemën Arduino më poshtë.

Për qartësinë, fotografia 9 identifikon dy pajisjet Atmel dhe lidhësit e tyre përkatës ISP në Arduino Uno R3.

Shënim 1: Nëse zgjidhni të shkoni në rrugën e pajisjes FTDI sigurohuni që të blini nga një shitës me reputacion pasi ka pasur shumë pajisje të lira të falsifikuara në treg të cilat kanë dështuar me aplikimin e një përditësimi të dritareve.

Recommended: