Mundarija:

Arduino kam ma'lum bo'lgan xususiyatlar: 9 qadam
Arduino kam ma'lum bo'lgan xususiyatlar: 9 qadam

Video: Arduino kam ma'lum bo'lgan xususiyatlar: 9 qadam

Video: Arduino kam ma'lum bo'lgan xususiyatlar: 9 qadam
Video: Xotirani kuchaytiruvchi 10 ta SIR. Hamma uchun birdek to'gri keladi! 10 daqiqada 2024, Noyabr
Anonim
Arduino kam ma'lum bo'lgan xususiyatlar
Arduino kam ma'lum bo'lgan xususiyatlar

Bu ko'proq ishlatiladigan Arduino platformalarining tez -tez tilga olinmaydigan xususiyatlarining ro'yxati (masalan, Uno, Nano). Ushbu ro'yxat, agar siz ushbu xususiyatlarni qidirib topsangiz va ma'lumotni tarqatmoqchi bo'lsangiz, mos yozuvlar sifatida xizmat qilishi kerak.

Bu xususiyatlarning misollarini ko'rish uchun kodni ko'rib chiqing, chunki men ularni bu erda bir nechta kon loyihalarida ko'rsatma berishda ishlatganman (masalan, Arduino 1 simli displey (144 belgilar)). Keyingi bosqichlar har bir xususiyatni tushuntiradi.

1 -qadam: Besleme zo'riqishida

Arduino o'z kuchlanishini bilvosita o'lchashi mumkin. Ichki moslamani besleme zo'riqishida yuqori chegara o'lchovi sifatida o'lchash orqali siz ichki mos yozuvlar va besleme zo'riqishining nisbati (analog/ADC o'qish uchun yuqori chegara vazifasini bajaruvchi) olishingiz mumkin. Siz bilganingizdek, ichki kuchlanish ma'lumotnomasining aniq qiymatini hisoblash mumkin.

Buni qanday qilish haqida aniq ma'lumot olish uchun misol kodini ko'ring:

  • Secret Arduino voltmetr-Batareya kuchlanishini o'lchash:
  • Arduino o'z Vinini o'lchay oladimi ?:

2 -qadam: ichki harorat

Ba'zi Arduino ichki harorat sensori bilan jihozlangan va shuning uchun ichki (yarimo'tkazgich) haroratini o'lchashi mumkin.

Buni qanday qilish haqida aniq ma'lumot olish uchun misol kodini ko'ring:

Ichki harorat sensori:

Arduino o'z Vinini o'lchay oladimi ?:

3 -qadam: analog taqqoslagich (uzilish)

Arduino A0 va A1 pinlari o'rtasida analog taqqoslagichni o'rnatishi mumkin. Shunday qilib, biri kuchlanish darajasini beradi, ikkinchisi - bu kuchlanishning kesishishi tekshiriladi. Kesish ko'tarilish yoki tushish tomoniga (yoki ikkalasiga) bog'liq holda ko'tariladi. Keyin uzilish dasturiy ta'minot tomonidan ushlanishi va shunga muvofiq harakat qilishi mumkin.

Buni qanday qilish haqida aniq ma'lumot olish uchun misol kodini ko'ring:

Analog komparatorning uzilishi:

4 -qadam: Hisoblagich

Albatta, AVR bir nechta hisoblagichni o'z ichiga oladi. Odatda ular har xil chastotalarda taymerni o'rnatish va kerak bo'lganda uzilishlarni kuchaytirish uchun ishlatiladi. Boshqa usul-bu eskirgan usulda, ularni hech qanday sehrsiz hisoblagich sifatida ishlatish, kerak bo'lganda qiymatini o'qish (so'rov). Bunga qiziqish tugmachalarni o'chirish bo'lishi mumkin, masalan. Masalan, ushbu xabarni bering: AVR Misol T1 hisoblagichi

5 -qadam: Oldindan belgilangan konstantalar

Loyihangizga versiya va kompilyatsiya ma'lumotlarini qo'shish uchun ishlatilishi mumkin bo'lgan oldindan belgilangan o'zgaruvchilar mavjud.

Buni qanday qilish haqida aniq ma'lumot olish uchun misol kodini ko'ring:

Serial.println (_ DATE_); // kompilyatsiya sanasi

Serial.println (_ TIME_); // kompilyatsiya vaqti

String stringOne = String (ARDUINO, DEC);

Serial.println (stringOne); // arduino ide versiyasi

Serial.println (_ VERSION_); // gcc versiyasi

Serial.println (_ FILE_); // fayl tuzilgan

bu kod parchalari bu ma'lumotlarni ketma -ket konsolda chiqaradi.

6 -qadam: O'zgaruvchilarni tiklashda RAMda saqlang

Ma'lumki, Arduino Uno (ATmega328) ichki EEPROM-ga ega, bu sizga o'chirish vaqtida qiymatlar va sozlamalarni saqlashga va ularni keyingi yoqilishda tiklashga imkon beradi. Ma'lum bo'lmagan haqiqat shundaki, operativ xotirada ham asl holatini tiklash paytida qiymatni saqlab qolish mumkin, lekin shu bilan birga, quvvat aylanishi davomida qiymatlar sintaksis bilan yo'qoladi:

imzosiz uzun o'zgaruvchi_that_is_preserved _attribute_ ((bo'lim (".noinit"))));

Bu sizga, masalan, RESETlar sonini hisoblash va EEPROM yordamida quvvat manbalari sonini hisoblash imkonini beradi.

Buni qanday qilish haqida aniq ma'lumot olish uchun misol kodini ko'ring:

  • Qayta tiklash orqali Ram o'zgaruvchisini saqlang:
  • EEPROM kutubxonasi:

7 -qadam: Soat signaliga kiring

Arduinos va boshqa AVR (ATtiny kabi) ichki soatga ega, ularni tashqi kristalli osilatordan foydalanmasdan ishlashga imkon beradi. Shu bilan birga, ular bu signalni pinga (masalan, PB4) qo'yish orqali tashqariga ulashlari mumkin. Bu erda qiyin tomoni shundaki, siz ushbu funktsiyani yoqish uchun chiplarning sug'urta bitlarini o'zgartirishingiz kerak va sigortalarning har doim o'zgarishi chipni buzish xavfini tug'diradi.

Siz CKOUT sug'urtasini yoqishingiz kerak va buning eng oson yo'li - Arduino yordamida AVR Atmega328p - 8 bitli mikrokontrollerning sug'urta bitlarini o'zgartirish bo'yicha ko'rsatmalarni bajarish.

Buni qanday qilish haqida aniq ma'lumot olish uchun misol kodini ko'ring:

  • ATtiny ichki osilatorini sozlash:
  • Arduino yordamida AVR Atmega328p-8 bitli mikrokontrollerning sug'urta bitlarini qanday o'zgartirish mumkin:

8 -qadam: ATmega328P portining ichki tuzilishi

ATmega328P portlarining ichki tuzilishini bilish bizga standart foydalanish chegaralaridan chiqib ketish imkonini beradi. Qo'shimcha ma'lumot va ichki zanjir sxemasi uchun 20 pF oralig'idagi sig'im o'lchagich haqidagi bo'limni 1000 nF ga aylantiring.

Oddiy misol-bu kirish tortish ketma-ketligi misolida yoki qarshilik ko'rsatilmagan Arduino tugmachasida ko'rsatilgandek, ichki tortish qarshiligi ishlatilganligi sababli hech qanday qarshilikka muhtoj bo'lmagan raqamli portli tugmachalardan foydalanish.

Bu ma'lumotni 20 pF gacha bo'lgan va hech qanday qo'shimcha simlarsiz o'lchash uchun aytilganidek foydalanish yanada rivojlangan! Ushbu ko'rsatkichga erishish uchun misolda ichki/kirish empedansi, ichki tortish qarshiligi va adashgan kondansatör ishlatiladi. Arduino CapacitanceMeter qo'llanmasi bilan solishtiring, u bir necha nF dan past bo'lolmaydi.

9-qadam: bortli (o'rnatilgan) LED fotodetektor sifatida

Ko'pgina Arduino platalarida bortli yoki o'rnatilgan LEDlar mavjud, ularni kod orqali boshqarish mumkin. 13 -pimdagi Uno yoki Nano platalari. Ushbu pindan bitta simni analog kirish piniga (masalan, A0) qo'shib, biz ham bu LEDni fotodetektor sifatida ishlatishimiz mumkin. Bu turli xil usullarda ishlatilishi mumkin, masalan; atrof -muhit yoritilishini o'lchash uchun foydalaning, LEDni tugma sifatida ishlating, bidrectional aloqa uchun LEDdan foydalaning (PJON AnalogSampling) va boshqalar.

Tavsiya: