Mundarija:
- 1 -qadam: Besleme zo'riqishida
- 2 -qadam: ichki harorat
- 3 -qadam: analog taqqoslagich (uzilish)
- 4 -qadam: Hisoblagich
- 5 -qadam: Oldindan belgilangan konstantalar
- 6 -qadam: O'zgaruvchilarni tiklashda RAMda saqlang
- 7 -qadam: Soat signaliga kiring
- 8 -qadam: ATmega328P portining ichki tuzilishi
- 9-qadam: bortli (o'rnatilgan) LED fotodetektor sifatida
2025 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2025-01-13 06:58
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.