Mundarija:

AVR (arduino) ni boshqa Arduino bilan qanday dasturlash mumkin: 7 qadam
AVR (arduino) ni boshqa Arduino bilan qanday dasturlash mumkin: 7 qadam

Video: AVR (arduino) ni boshqa Arduino bilan qanday dasturlash mumkin: 7 qadam

Video: AVR (arduino) ni boshqa Arduino bilan qanday dasturlash mumkin: 7 qadam
Video: Using MAX7219 8 Digits Seven Segment Display - Robojax 2024, Noyabr
Anonim
AVR (arduino) ni boshqa Arduino bilan qanday dasturlash mumkin
AVR (arduino) ni boshqa Arduino bilan qanday dasturlash mumkin
AVR (arduino) ni boshqa Arduino bilan qanday dasturlash mumkin
AVR (arduino) ni boshqa Arduino bilan qanday dasturlash mumkin
AVR (arduino) ni boshqa Arduino bilan qanday dasturlash mumkin
AVR (arduino) ni boshqa Arduino bilan qanday dasturlash mumkin

Bu ko'rsatma foydali bo'ladi, agar:

* siz arduino -ni atmega168 bilan oldingiz va siz mahalliy elektronika do'konida atmega328 sotib oldingiz. Arduino bootloader * yo'q, siz arduino ishlatmaydigan loyihani amalga oshirmoqchisiz - oddiy AVR chipi (USBTinyISP kabi) - sizda dasturiy ta'minotni yoqmoqchi bo'lgan toza attiny2313/attiny48 va boshqalar bor. Odatda yangi chipni dasturlash uchun USBTinyISP kabi ISP (tizim dasturchisi) bo'lishi kerak edi. Arduino -ga ega bo'lganingizda, uni dasturchi bo'lishga o'rgatishingiz mumkin, chunki Randall Bohning ajoyib ishi tufayli. U Mega -ISP - dasturchi kabi ishlaydigan arduino eskizini yaratdi.

1 -qadam: Sizga nima kerak?

Sizga nima kerak ?
Sizga nima kerak ?

* ishlaydigan Arduino (yoki klon - men BBB - BareBonesBoard va RBBB - RealBareBonesBoard by ModernDevices dan foydalanaman) * dasturlamoqchi bo'lgan chip (atmega8, atmega168, atmega368, attiny2313, attiny13) * non paneli yoki Internet -provayder sarlavhasi bo'lgan taxta * 3 LED + 3 rezistor * non paneli simlari

2-qadam: Mega-isp dasturchisini taxtada yaratish

Mega-isp dasturchisini taxtada yaratish
Mega-isp dasturchisini taxtada yaratish
Mega-isp dasturchisini taxtada yaratish
Mega-isp dasturchisini taxtada yaratish
Mega-isp dasturchisini taxtada yaratish
Mega-isp dasturchisini taxtada yaratish

Chip dasturlash uchun Arduino -ni ulashning ikki yo'li mavjud.

Siz avr chipingizni taxtaga ulashingiz va 5v va GND ni tegishli pinlarga ulashingiz mumkin (ma'lumotlar jadvalini tekshiring!) + Tortish qarshiligini o'rnatish va arduino -dan chipga simlarni ulash. Bu Arduino -dagi chiziqlar va ularning vazifasi 13 - SCK 12 - MISO 11 - MOSI 10 - RST (Reset) Yoki siz 2x3pinli ISP sarlavhasini yasashingiz mumkin, uni bittasini (boshqa arduino taxtasi) ta'minlaydigan taxtaga ulashingiz mumkin. Internet -provayder sarlavhasi uchun pinout uchinchi rasmda joylashgan. Dasturchi maqomini ko'rsatish uchun 3 ta LED mavjud. pin 9 - ko'k LED - bu dasturchining eshitish tezligi. pin 8 - qizil LED - xato pinini ko'rsatadi 7 - yashil chiroq - bu dasturlash jarayonini ko'rsatadi (men dangasa edim, shuning uchun men sozlamadagi ranglarga mos kelmadim) Mana Fritzingda chizilgan rasmlar Siz ham qilishingiz mumkin MEGA-isp qalqoni. Yaroslav Osadchiy qalqoni burgutda yasagan. Siz burgut fayllarini uning saytidan olishingiz mumkin:

3 -qadam: Eskizni yuklash

Eskiz yuklanmoqda
Eskiz yuklanmoqda

Eskizni mega-isp google kodidan yuklab oling. (Yozish paytida avrisp.03.zip). Uni oching va arduino ide ni ishga tushiring va avrisp.pde -ni oching. Arduino kartangizga yuklang. Yurak urishi boshlanishi urishni boshlashi kerak.

4 -qadam: Avrdude -dan foydalanish

Avrdude bilan foydalanish
Avrdude bilan foydalanish

Avrdude (va undan foydalanadigan barcha GUI) bilan foydalanish uchun siz "avrisp" dasturchisini tanlashingiz kerak. eng xavfsiz bit tezligi - 19200.

Yangi atmega168 -ni buyruq satridan sinab ko'rish uchun harakat qilib ko'ring: $ avrdude -p m168 -P /dev /ttyUSB0 -c avrisp -b 19200 /dev /USB0 -bu arduino mening linux qutimga ulangan port (sizniki com5 bo'lishi mumkin). Buni arduino IDE -da Tools -> Serial Port -da tekshirish mumkin. Siz olishingiz kerak: [kabturek@hal -9000 ~]# avrdude -p m168 -P /dev /ttyUSB0 -c avrisp -b 19200 avrdude: AVR qurilmasi ishga tushirildi va ko'rsatmalarni qabul qilishga tayyor O'qish | ###################################################################################### | 100% 0.13s avrdude: Qurilma imzosi = 0x1e9406 avrdude: xavfsiz rejim: Sigortalar OK avrdude bajarildi. Rahmat. Bu degani, hammasi joyida. Agar siz xato qilsangiz - oxirgi qadamni tekshiring.

5 -qadam: USBtinyISP dasturiy ta'minotini Attiny2313 -ga yoqish

USBtinyISP dasturiy ta'minotini Attiny2313 -ga yoqish
USBtinyISP dasturiy ta'minotini Attiny2313 -ga yoqish
USBtinyISP dasturiy ta'minotini Attiny2313 -ga yoqish
USBtinyISP dasturiy ta'minotini Attiny2313 -ga yoqish
USBtinyISP dasturiy ta'minotini Attiny2313 -ga yoqish
USBtinyISP dasturiy ta'minotini Attiny2313 -ga yoqish

USBTinyISP - LadyAda -dan ajoyib dasturchi, bu juda arzon - 22 dollar. Menda zaxira attiny2313 va ba'zi qismlar bor edi, shuning uchun men uni o'zim qilishga qaror qildim. Agar siz PCB ishlab chiqarish bo'yicha tajribangiz bo'lmasa, men sizga to'plamni sotib olishni maslahat beraman, chunki bu o'zingizga qaraganda yuqori sifat:). Hech bo'lmaganda tenglikni sotib olmoqchi bo'lsangiz. Siz uni Adafruit -dan olishingiz mumkin. ATtiny2313 -ni ulang Oxirgi rasmda siz provayder uchun ishlatilgan pinli qizil rangdagi attiny2313 -ni ko'rishingiz mumkin. Rasm LadyAda avr qo'llanmasidan olingan. Dasturiy ta'minotni yoqish: USBTinyISP dasturini oching. Chip bilan hamma narsa yaxshi yoki yo'qligini tekshirish uchun spi dir -ga o'ting va $ avrdude -p pt2313 -P /dev /ttyUSB0 -c avrisp -b 19200 ni ishga tushiring. Endi sigortalar o'rnating: $ avrdude -P /dev /ttyUSB0 -c avrisp -b 19200 -pt2313 -U hfuse: w: 0xdf: m -U lfuse: w: 0xef: m Endi siz chipga 12 MGts tashqi osilatorni ulashingiz kerak.. Va dasturiy ta'minotni yoqing: $ avrdude -B 1 -pt2313 -U flesh: w: main.hex -P /dev /ttyUSB0 -c avrisp -b 19200 Voila. Attiny2313 -da USBTinyISP dasturiy ta'minoti mavjud.

6 -qadam: Arduino yuklash qurilmasini yoqish

Arduino yuklash qurilmasini yoqish
Arduino yuklash qurilmasini yoqish
Arduino yuklash qurilmasini yoqish
Arduino yuklash qurilmasini yoqish
Arduino yuklash qurilmasini yoqish
Arduino yuklash qurilmasini yoqish

Men ulanishni soddalashtirish uchun RBBB ishlatganim uchun biroz aldanganman. Sxema 2 -rasmda ko'rsatilgan. Agar siz 2 ta arduinodan foydalansangiz, 3 -rasmdan foydalaning va provayder pinini ICSP 2x3header -ga ikkinchi (qul) arduino -ga ulang, faqat usb quvvatini birinchi kartaga ulang. GUI usuli Bu juda qiyin, chunki siz faqat Tools-> Burn Bootloader-> AVR ISP-dan foydalana olmaysiz, chunki mega-isp uchun standart tezlik juda katta. Arduino IDE bilan birga keladigan avrdude.conf -ni toping (arduino/apparat/tools/avrdude.conf da) va avrisp dasturchisi uchun chegarani 115200 dan 19200 gacha o'zgartiring (312 qator atrofida) avrdude.conf programmer id = "avrisp" ni toping va o'zgartiring.; desc = "Atmel AVR ISP"; bod tezligi = 115200; # standart - 115200 turi = stk500;; kimga: dasturchi id = "avrisp"; desc = "Atmel AVR ISP"; bod tezligi = 19200; # standart - 115200 turi = stk500;; Endi siz Tools -> Burn Bootloader -> AVR ISP -ni ishlatishingiz mumkin (asboblar menyusidan tegishli taxtani tanlagandan so'ng) Commanline Siz shuningdek buyruq satridan foydalanishingiz mumkin: arduino/apparat/bootloaders/atmega/Makefile -ni tahrirlang va ISPTOOL/PORT -ni o'zgartiring. /SPEED to: # avrdude isp vositasi uchun parametrlarni kiriting ISPTOOL = avrisp ISPPORT = /dev /ttyUSB0 ISPSPEED = -b 19200 yo'q, siz sigortalar va yuklovchini yoqish uchun $ make diecimila_isp yozolmaysiz. Endi sizni yangi arduino -ni usb va miltillab yondiring!

7 -qadam: Muammolarni bartaraf etish

Muammolarni bartaraf qilish; nosozliklarni TUZATISH
Muammolarni bartaraf qilish; nosozliklarni TUZATISH

Avrdude xatolar: avrdude: ser_open (): "/dev/ttyUSB0" qurilmasini ochib bo'lmadi: Bunday fayl yoki katalog yo'q Sizda noto'g'ri port (-P) ko'rsatilgan yoki arduino ulanmagan. ulanishni tekshiring avrdude: Qurilma imzosi = 0x000000 avrdude: Yoqdi! Qurilma imzosi yaroqsiz. Ulanishlarni ikki marta tekshiring va qaytadan urining yoki -F tugmachasini bosib bu cheklovni bekor qiling. Bu umumiy xato. Sizning chipingiz tanib olinmadi. Bortdagi ulanishni tekshiring (GND/5V pimlarga ulanganmi?) Sizning chipingiz tashqi osilatordan foydalanishga sozlanganida va u ishlamay qolganda (birorta ham u tebranmaydi - 22 pf) yo'qolganmi?)

Tavsiya: