Mundarija:
- 1 -qadam: Cobbler qo'shimchasini yaratish
- 2 -qadam: Avrdude -ni o'rnatish va ishlatish
- 3 -qadam: Arduino dasturlarini AVR -ga o'rnatish
Video: AVR/Arduino Raspberry Pi bilan yonadi: 3 qadam (rasmlar bilan)
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:25
Tizimli dasturchi (ISP)-bu ko'plab mikrokontrolderlarni dasturlash uchun ishlatishingiz mumkin bo'lgan qurilma, masalan, ATMega328p-bu Arduino Uno miyasi. Siz USBtinyISP kabi biror narsani sotib olishingiz yoki hatto Arduino -dan foydalanishingiz mumkin. Bu ko'rsatma sizga Raspberry Pi -ni provayder sifatida qanday ishlatishni ko'rsatib beradi.
Arduino IDE chiplarni yondirish uchun qopqoq ostida ishlatadigan avrdude dasturi ko'plab dasturchilar bilan ishlatilishi mumkin. Uning variantlaridan biri - PI kengayish portidagi SPI pinlarini ishlatish. Men qanday qilib to'g'ri ulanishni, perfboardda oddiy sxemani yig'ishni tushuntiraman, shuning uchun har safar chip yonib ketganda, simni qaytadan o'tkazib yubormaslik, avrdudeni qanday o'rnatish va ishlatish kerak. Men sizga bu usul yordamida ATmega yoki ATtiny kabi AVR chipiga Arduino IDE yordamida kompilyatsiya qilinadigan dasturlarni ko'rsataman.
Kerakli narsalar:
- Eng so'nggi Raspbian o'rnatilgan Raspberry Pi
- 40 pinli erkak boshli rozetka (yoki agar sizda eski Pi bo'lsa, 26 pinli)
- Pi -ga ulanish uchun IDE kabeli
- 16 MGts kristalli rezonator
- 22 pF kondansatörler (2)
- LED (1) dasturchi holatini ko'rsatadi
- 8, 14 va/yoki 28 pinli IC rozetkalari, qaysi chiplar yonib -o'chib turishini xohlashingizga bog'liq
- Ba'zi perforatorlar, simlar, lehim
1 -qadam: Cobbler qo'shimchasini yaratish
To'rt simli ketma-ket deb nomlangan ketma-ket periferik interfeys (SPI)-bitta asosiy qurilma va bir yoki bir nechta qul qurilmalar o'rtasida aloqa qilish usuli. Biz buni chiplarni yondirish uchun ishlatamiz, Pi - xo'jayin va chip - qul. Siz Pi va sizning chipingiz o'rtasida quyidagi ulanishlarni o'rnatasiz (qaysi pinlar ekanligini bilish uchun turli AVR va Pi kengaytirish portlari uchun yuqoridagi pinoutlarni ko'ring):
- MOSI (master-out-slave-in) pinlarini bir-biriga ulang
- SCLK (umumiy soat) pinlarini bir -biriga ulang
- Pi-ni chipdan kutilmagan yuqori kuchlanishdan himoya qilish uchun MISO (qul-qul) ustini 220 Ohmli rezistor bilan ulang.
- Pi -dagi GPIO 25 -ni to'g'ridan -to'g'ri chipdagi RESET piniga ulang. Pi dasturlash paytida bu pinni pastga tortadi, shuning uchun biz dasturlash bo'lmaganida uni yuqori ushlab turish uchun 10K rezistorni ishlatamiz va dasturlash paytida bizga yaxshi vizual geribildirim berish uchun musbat kuchlanish bilan ishlaydigan 1K himoya rezistorli LED.
Biz yer va quvvat (3.3V) pinlarini Pi va biz dasturlamoqchi bo'lgan chiplar orasiga ulaymiz. Agar siz hali bilmasangiz, Raspberry Pi ning pinlari 5 V ga chidamli emas - agar ular ustida 3,3 V dan ortiq bo'lsa, ular shikastlanadi. Agar biror sababga ko'ra dasturlashtirilgan chiplar 5V quvvatga muhtoj bo'lsa, biz Pi pinlarini himoya qilish uchun darajali o'zgartirish chipidan foydalanishimiz mumkin edi, lekin men 3.3V yordamida hech qanday muammoga duch kelmadim - shuning uchun men uni xavfsiz o'ynashni va komponentlarni tejashni tavsiya qilaman.
Nihoyat, biz chipdagi XTAL pinlari bo'ylab 16 MGtsli kristalli osilatorni ulaymiz, biz ularni erga 22pF kondansatkichlari orqali ulaymiz. AVR chiplari har xil chastotalarda ishlashi uchun o'rnatilishi mumkin, shuningdek, bu chastotani aniqlash uchun ichki yoki tashqi manbadan foydalanishi mumkin. Agar sizning chipingiz tashqi kristalni chastota manbai sifatida ishlatadigan bo'lsa, siz uni qayta dasturlay olmaysiz. Aks holda, u erda bo'lish muhim emas.
Oxirgi rasmdagi sxemani sxemasidan perfboardga tikuvchilik dastgohini yig'ish uchun qo'llanma sifatida ishlatishingiz mumkin. Siz xohlagancha ko'p yoki kamroq turli xil IC rozetkalarga ega bo'lishingiz mumkin, faqat mos keladigan pinlarni Pi va billurga parallel ravishda ulang. N. B. agar siz mening prototipim tasvirini qo'llanma sifatida ishlatsangiz, shuni esda tutingki, men bir nechta sababsiz pinlarga kirishga ruxsat berish uchun qo'shimcha sarlavhalar va rozetkalarni qo'shdim.
2 -qadam: Avrdude -ni o'rnatish va ishlatish
Pi -ga avrdude o'rnatish uchun faqat yozing
sudo apt-get install avrdude
Agar SPI interfeysi yoqilmagan bo'lsa, uni yoqishingiz kerak bo'ladi. Buni amalga oshirishning buyruq qatori bor, lekin Raspberry Pi konfiguratsiya vositasidan foydalanish ancha oson. Turi
sudo raspi-config
va SPI -ni yoqish uchun interfeys parametrlariga o'ting.
Chipni yondirish uchun, Pi -dagi tasma kabelini perfart pallasidagi ulagichga ulang va chipni mos keladigan IC rozetkasiga joylashtiring (uning to'g'ri tomonga qaraganligiga ishonch hosil qiling).
Dastur yonib turganda, chipdagi sigortalar to'g'ri o'rnatilganligiga ishonch hosil qilishingiz kerak. Bu, albatta, siz qaysi soat tezligida ishlashni, chipni yozishda EEPROMni o'chirishni va hokazolarni aytadigan chipdagi bitlar, va hokazo. Siz har bir bitni qanday o'rnatishni bilish uchun to'liq AVR spetsifikatsiyasini o'qishingiz mumkin, lekin engbedded.com/fusecalc saytida berilgan sug'urta kalkulyatoridan foydalanish ancha oson. Foydalanadigan AVR qism nomini tanlang va "Xususiyatlarni tanlash" maydonida kerakli variantlarni tanlang. Men odatda soat sozlamalarining to'g'riligiga ishonch hosil qilaman va boshqa narsalarni sukut bo'yicha qoldiraman. Siz deyarli har doim "Ketma -ket dasturlash yoqilgan" CHECKED va "Reset Disabled" ni CHEKEDSIZ qoldirishni xohlaysiz - aks holda siz chipni qayta dasturlay olmaysiz. To'g'ri sozlamalar mavjud bo'lganda, "Joriy sozlamalar" maydonini pastga siljiting va rasmda ko'rsatilgandek AVRDUDE argumentlarini nusxalashingiz mumkin.
Sigortalarni o'rnatish uchun buyruqni kiriting
sudo avrdude -c linuxspi -P /dev/spidev0.0 -p
bu erda qism nomi siz foydalanadigan chipga mos keladi. Siz qism nomlari ro'yxatini sudo ardude -c linuxspi -p? Turini kiritish orqali topishingiz mumkin. Dasturingizni o'chirish uchun uning joriy katalogda ekanligiga ishonch hosil qiling va kiriting
sudo avrdude -c linuxspi -P /dev/spidev0.0 -p -U flesh: w:: i
Ikkala buyruqdan so'ng, chip o'zgartirilganda LED yonadi.
3 -qadam: Arduino dasturlarini AVR -ga o'rnatish
Bu ko'rsatmaning asosiy yo'nalishi-bu allaqachon yozilgan yoki kompilyatsiya qilinadigan emas, balki oldindan tuzilgan dasturlarni chiplarga o'chirish. Ammo, men qanday qilib Arduino IDE yordamida ikkilik fayllarni yig'ish va bu usul yordamida ularni yalang'och AVR chiplariga olish mumkinligini tushuntirmoqchi edim, chunki Arduino -ni o'rganish juda oson va ko'plab darsliklar va misollar mavjud.
Birinchidan, siz yonib -o'chadigan AVR chiplari haqida ma'lumot qo'shishingiz kerak, shunda IDE ular uchun kompilyatsiya qilishni biladi. Jeyms Sleeman github -da mavjud bo'lgan ba'zi o'rnatish fayllarini juda foydali tarzda yig'di. Ulardan foydalanish uchun Arduino IDE -dagi "Preferences" menyusini oching va "Qo'shimcha taxtalar menejeri URL -lari" maydonining yonidagi katakchani bosing. Ko'rsatilgan muloqot oynasida quyidagi URL manzillarini nusxalash va joylashtirish:
Keyin "Asboblar" menyusiga o'ting va "Kengash" pastki menyusida "Kengash menejeri …" variantini toping. Boards Manager dialog oynasidagi ro'yxatning oxirigacha pastga aylantiring va DIY ATmega va DIY ATtiny taxtalarini o'rnating.
Dasturlarni kompilyatsiya qilish uchun avval "Protsessor" menyusida to'g'ri chipni, shuningdek, protsessor tezligini to'g'ri tanlaganingizga ishonch hosil qiling. "Bootloader -dan foydalaning: Yo'q" variantini tanlang, chunki biz to'g'ridan -to'g'ri Pi bilan yuklaymiz va shu tariqa Arduino yuklash qurilmasi egallaydigan qo'shimcha joydan foydalanishimiz mumkin. Endi "Tekshirish" tugmasini bosing (tasdiq belgisi). Bu sizning dasturingizni yuklamasdan turib kompilyatsiya qiladi (chunki siz bu qadamni o'zingiz qilyapsiz).
Hamma narsa yaxshi deb faraz qilsangiz, endi siz tuzilgan dasturni Pi -ga o'tkazishingiz kerak. IDE ularni vaqtinchalik joyga yashiradi, chunki u dasturlarni o'zi yuklash uchun mo'ljallangan. Windows -da, bu foydalanuvchi katalogidagi "arduino_build" bilan boshlanadigan papkada AppData/Local/Temp -da.. Hex faylini qidiring - bu sizning dasturingiz! Uni FTP orqali yoki USB -tayoq yordamida Pi -ga yuboring va siz biznesdasiz.
Buning uchun dasturlarni kompilyatsiya qilish uchun sizda Windows kompyuteri yoki Mac bo'lishi kerak, keyin uni Pi ga yuborasiz. Buni Pi -da qilish juda yoqimli bo'lardi, lekin afsuski, Raspbian omborida mavjud Arduino IDE -ning rasmiy versiyasi ancha eski va boshqaruv menejeri yo'q. Bu holda, yalang'och AVR -ni kompilyatsiya qilish uchun tegishli sozlamalarni qo'shish biroz qiyinroq. Sizning Pi -da Arduino -ning so'nggi versiyasini kompilyatsiya qilish bo'yicha qo'llanmalar mavjud - agar siz shunday qilishni xohlasangiz, ularni toping! Menimcha, IDE -ni chipni IDE -dan o'chirish uchun linuxspi dasturchisidan foydalanishga ruxsat berish kerak (masalan, "Yuklab olish" tugmasi yordamida), lekin bu mening sabr -toqatim va mahoratim darajasidan tashqarida - agar bilsangiz qandaydir tarzda, buni izohlarda yozing! Va nihoyat, siz dasturlarni to'g'ridan-to'g'ri AVR-C-da yozishingiz va ularni Raspberry Pi-da AVR-ni ishlab chiqish uchun to'liq platformani berib, avr-gcc bilan Pi-da kompilyatsiya qilishingiz mumkin. Men ozgina ish qildim va agar siz bu yo'ldan borishni xohlasangiz, sizni tabriklayman. Yonib keting!
Tavsiya:
Batareyadan ishlaydigan chiroq magnit yordamida yonadi: 8 qadam (rasmlar bilan)
Batareya bilan ishlaydigan chiroq magnit yordamida yonadi!: Biz bilamizki, ko'pchilik lampalar jismoniy kalit orqali yoqiladi/o'chadi. Ushbu loyihadagi maqsadim - bu klassik kalitsiz chiroqni osongina yoqish/o'chirishning o'ziga xos usulini yaratish. Meni shu jarayon davomida shakli o'zgargan chiroq g'oyasi qiziqtirdi
NaTaLia ob -havo stantsiyasi: Arduino quyosh energiyasi bilan ishlaydigan ob -havo stantsiyasi to'g'ri yo'l bilan amalga oshirildi: 8 qadam (rasmlar bilan)
NaTaLia ob -havo stantsiyasi: Arduino quyosh energiyasi bilan ishlaydigan ob -havo stantsiyasi to'g'ri yo'lga qo'yildi: 1 yil davomida 2 xil joyda muvaffaqiyatli ishlaganimdan so'ng, men quyosh energiyasi bilan ishlaydigan ob -havo stantsiyasining loyiha rejalari bilan bo'lishaman va uning qanday qilib uzoq vaqt yashay oladigan tizimga aylanganini tushuntiraman. quyosh energiyasidan o'tgan davrlar. Agar ergashsangiz
AVR mikrokontroller. Taymer yordamida LEDlar yonadi. Taymerlar uzilishlar. Taymer CTC rejimi: 6 qadam
AVR mikrokontroller. Taymer yordamida LEDlar yonadi. Taymerlar uzilishlar. Taymer CTC rejimi: Hammaga salom! Taymerlar - elektronika sohasidagi muhim tushuncha. Har bir elektron komponent vaqt asosida ishlaydi. Bu vaqt bazasi barcha ishlarni sinxronlashtirishga yordam beradi. Barcha mikrokontrollerlar oldindan belgilangan soat chastotasida ishlaydi,
Vaqt o'tishi bilan rasmlar uchun kamera osonlashtirildi: 22 qadam (rasmlar bilan)
Vaqt o'tishi bilan suratga olish uchun kamera osonlashtirildi. Men boshqa ko'rsatmalarni vaqtni tez suratga olish filmlarini suratga olishni tekshirib ko'rdim. U kino qismini juda yaxshi yoritgan. U filmlar yaratish uchun yuklab olishingiz mumkin bo'lgan bepul dasturiy ta'minot haqida gapirib berdi. Men o'z -o'zimga aytdim, men o'ylaymanki, agar men qila olsam
AVRSH: Arduino/AVR uchun buyruq tarjimon qobig'i: 6 qadam (rasmlar bilan)
AVRSH: Arduino/AVR uchun buyruqlar tarjimonining qobig'i: Siz hech qachon "tizimga kirishni" xohlagansiz; AVR mikrokontrolleringizga? Hech qachon " mushuk " uning tarkibini ko'rish uchun registr? Siz har doim o'zingizning shaxsiy periferik kichik tizimlaringizni yoqish va o'chirishni xohlaganmisiz