Mündəricat:

ATTiny85, ATTiny84 və ATMega328P proqramlaşdırılması: ISP olaraq Arduino: 9 addım (şəkillərlə)
ATTiny85, ATTiny84 və ATMega328P proqramlaşdırılması: ISP olaraq Arduino: 9 addım (şəkillərlə)

Video: ATTiny85, ATTiny84 və ATMega328P proqramlaşdırılması: ISP olaraq Arduino: 9 addım (şəkillərlə)

Video: ATTiny85, ATTiny84 və ATMega328P proqramlaşdırılması: ISP olaraq Arduino: 9 addım (şəkillərlə)
Video: BOOT MU LOADER? ATmega328p'ye Arduino Bootloader'ı Yükleme | AVR ISP | PCBWAY 2024, Iyul
Anonim
ATTiny85, ATTiny84 və ATMega328P proqramlaşdırılması: ISP olaraq Arduino
ATTiny85, ATTiny84 və ATMega328P proqramlaşdırılması: ISP olaraq Arduino
ATTiny85, ATTiny84 və ATMega328P proqramlaşdırılması: ISP olaraq Arduino
ATTiny85, ATTiny84 və ATMega328P proqramlaşdırılması: ISP olaraq Arduino

Ön söz

Bu yaxınlarda bir neçə ESP8266 əsaslı IoT layihəsi hazırladım və əsas prosessorun idarə etməyim üçün lazım olan bütün vəzifələri yerinə yetirməkdə çətinlik çəkdiyini gördüm, buna görə də daha az vacib olan bəzi fəaliyyətləri fərqli bir mikro nəzarətçiyə (lər) paylamaq qərarına gəldim. bu şəkildə ESP8266 -nı azad edərək IoT cihazı olmaq işinə davam edin.

Layihəmi mümkün qədər geniş bir auditoriyaya yayımlamaq istədiyimi nəzərə alaraq, Arduino IDE -ni bu qədər geniş dəstəklənən bir cəmiyyətə sahib olduğu üçün seçim platforması olaraq istifadə etməyi seçdim.

Dizayn məhdudiyyətləri

Əlindəki tətbiq üçün uyğun bir mikrokontrolörün seçilməsinə imkan verən hədəf cihazların ağlabatan bir yayılmasını təmin etmək üçün, aşağıdakı Atmel hissələrini həll etdim; ATMega328P, ATTiny84 və ATTiny85. Lazımi proqramçının mürəkkəbliyini məhdudlaşdırmaq üçün saat seçimini bütün qurğular üçün daxili, yalnız ATMega328P və ATTiny84 üçün 16 MHz -ə qədər məhdudlaşdırdım.

Arduino ilə proqramlaşdırma haqqında qeydlər toplusu və bu cihazlar üçün sadə bir Arduino Uno əsaslı proqramçını necə bir araya gətirməyimin təsviri (yuxarıdakı şəkillər).

Hansı hissələrə ehtiyacım var?

Proqramçı qurmaq üçün aşağıdakı hissələrə ehtiyacınız olacaq

  1. 1 ədəd Arduino Uno
  2. 2 ədəd 28 pinli Zero Insertion Force (ZIF) DIP yuvaları (ATMega328P, ATTiny85, ATTiny84 tutmaq üçün)
  3. 1 ədəd Arduino prototip qalxanı (burada mənimki var;
  4. 2 ədəd 5 MM LED
  5. 2 ədəd 1K rezistor
  6. 1 ədəd 10K rezistor
  7. 4 off 22pF Seramik kondansatörler
  8. 2 ədəd 16 MHz tezlikli kristal
  9. 3 ədəd 0.1uF keramika kondansatörü
  10. 1 ədəd 47 uF elektrolitik kondansatör
  11. 1 ədəd 10 uF elektrolitik kondansatör
  12. Müxtəlif uzunluqlarda tel sarma teli.

Hansı proqrama ehtiyacım var?

Arduino IDE 1.6.9

Hansı bacarıqlara ehtiyacım var?

  1. Arduino IDE haqqında məlumat
  2. Elektronika və lehimləmə haqqında bəzi məlumatlar
  3. Çox əl bacarıqları
  4. Səbir və yaxşı görmə yükü

Mövzular əhatə olunur

  1. Atmel mikrokontrolörlərinin proqramlaşdırılmasına ümumi giriş
  2. ISP və ya Bootloader: Hamısı bir az qarışıqdır
  3. Dövrəyə ümumi baxış
  4. Proqramçı qurmaq
  5. Arduino ISP Proqramçınızdan istifadə edin
  6. Hədəf sisteminizdə kod hazırlamaq
  7. Gotchas
  8. Nəticə
  9. İstifadə olunan istinadlar

İmtina

Həmişə olduğu kimi, bu təlimatları öz riski ilə istifadə edirsən və dəstəklənmir

Addım 1: Atmel Mikrokontrolörlərinin Proqramlaşdırılmasına Ümumi Giriş

Atmel Mikrokontrolörlərinin Proqramlaşdırılmasına Ümumi Giriş
Atmel Mikrokontrolörlərinin Proqramlaşdırılmasına Ümumi Giriş
Atmel Mikrokontrolörlərinin Proqramlaşdırılmasına Ümumi Giriş
Atmel Mikrokontrolörlərinin Proqramlaşdırılmasına Ümumi Giriş
Atmel Mikrokontrolörlərinin Proqramlaşdırılmasına Ümumi Giriş
Atmel Mikrokontrolörlərinin Proqramlaşdırılmasına Ümumi Giriş

Atmel mikrokontrolörlərini proqramlaşdırmaq üçün iki üsul mövcuddur;

  1. Sistem Proqramlaşdırmasında (ISP),
  2. Özünü proqramlaşdırma (yükləyici vasitəsi ilə).

Köhnə üsul (1) cihazı ilk dəfə sıfırladıqdan sonra SPI interfeysi vasitəsilə birbaşa mikrokontrolörü proqramlaşdırır. Başqa göstəriş verilmədiyi təqdirdə, tərtib edilmiş bir icra olunan mənbə proqramı cihaza başlanğıcda icra edildiyi yerdən tədricən kod yaddaşına yazılır. Atmel cihazlarını proqramlaşdıra bilən bir çox ISP cihazı var, onlardan bir neçəsi (şəkil 1); AVRISPmkII, Atmel-ICE, Olimex AVR-ISP-MK2, Olimex AVR-ISP500. Şəkil 2, ISP cihazının Arduino Uno R3 lövhəsindəki ATMega328P -yə (qəribə işarələnmiş ICSP) necə bağlandığını göstərir (şəkil 3 ISP pinini verir). Bir Arduino Uno -nu ISP olaraq istifadə edərək SPI interfeysi ilə bir Atmel mikro nəzarətçisini proqramlaşdırmaq da mümkündür (şəkil 4), burada Uno ATMega328P proqramlaşdırmaq üçün istifadə olunur.

Sonuncu üsul (2), icra edilə bilən kod yaddaşında daimi olaraq yaşayan 'bootloader' kimi tanınan kiçik bir kod stubundan istifadə edir (adətən təsadüfən yenidən yazmağın qarşısını almaq üçün kilidlənir pic 5). Bu kod ilk növbədə cihazı işə saldıqda və ya cihazı sıfırladıqda yerinə yetirilir və mikrokontrolörün interfeyslərindən biri vasitəsi ilə xarici mənbədən alınan yeni kodla özünü yenidən proqramlaşdırmasına imkan verir. Bootloader metodu, Arduino IDE tərəfindən PC-də USB əlaqə portu olaraq xəritələnmiş Arduinoları yenidən proqramlaşdırmaq üçün istifadə olunur (və ya MAC, Linux qutusu və s., Şəkil 6) və Arduino Uno Atmel cihazı ilə əlaqə qurduğu halda ATMega328P -nin IC Pins 2 və 3 -də serial interfeysi. Arduino Uno (ATMega328P mikro nəzarətçisi çıxarılaraq), USB -dən seriya adapter qurğusuna təsirli şəkildə təsir edən bootloader üsulu ilə ATMega328P -ni proqramlaşdırmaq üçün də istifadə edilə bilər (şəkil 7).

USB -dən serial adapteri nədir?

USB-dən seriya adapteri, kompüterinizin USB portuna qoşulan və serial com portu kimi görünən bir cihazdır (kompüterlərin EIA-232, V24 və ya RS232 kimi tanınan serial rabitə standartını istifadə etdiyi əvvəlki dövrlərdən qalma miras). mikrokontrolörün eyni elektrik səviyyələrində serial məlumatları göndərmək və almaq. Arduino IDE -dən Alətlər -> Liman -> COMx seçdiyiniz zaman kompüterinizi Arduino -ya bağlayırsınız/əlaqələndirirsiniz.

Buna bənzər bir cihaz bəzən FTDI (əslində bir marka olan şəkil 8) və ya CH340G və ya Arduino uno üzərindəki USB-yə Arduino Şematikində olduğu kimi ATMega16U2-MU (R) IC ZU4 vasitəsi ilə verilir. aşağıda

Aydınlıq üçün şəkil 9, Arduino Uno R3 üzərindəki iki Atmel cihazını və müvafiq ISP konnektorlarını təyin edir.

Qeyd 1: FTDI cihaz marşrutundan aşağı getmək qərarına gəlsəniz, bazarda bir Windows yeniləməsi tətbiq oluna bilməyən bir çox ucuz saxta cihaz olduğu üçün nüfuzlu bir satıcıdan satın aldığınızdan əmin olun.

Tövsiyə: