Mundarija:
- 1 -qadam: Nima uchun Nano V2 -ni almashtirish kerak?
- 2 -qadam: Komponentlarni tanlash va qurish
- 3 -qadam: qurilish
- 4 -qadam: NRF52 kodlash himoya bayrog'ini olib tashlash
- 5 -qadam: SKYLAB SKB369 dasturlash
- 6 -qadam: Yangi Arduino NRF52 karta ta'rifini yaratish
- 7 -qadam: Xulosa
Video: Arduino -da juda kam quvvatli BLE 3 -qism - Nano V2 -ni almashtirish - Rev 3: 7 -qadam (rasmlar bilan)
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:25
Yangilanish: 2019 yil 7 -aprel - 3 -rev.
Yangilanish: 2019 yil 24 -mart - lp_BLE_TempHumidity -ning 2 -revi, ko'proq syujet variantlari va i2c_ClearBus -ni qo'shadi, GT832E_01 -ni qo'llab -quvvatlaydi
Kirish
Bu o'quv qo'llanma, Redbear Nano V2 -ni 3 -qismning 3 -qismi. Bu loyihaning 2 -versiyasi. 2 -sonli PCB tangalar xujayrasi va datchikni o'rnatishni o'z ichiga oladi, qurilishni soddalashtiradi va to'g'ridan -to'g'ri quyosh nurlaridan himoya qilib, sensor atrofidagi havo oqimini yaxshilaydi. 1 -versiya bu erda.
1 -qism - Arduino yordamida juda kam quvvatli BLE qurilmalarini yaratish Arduino -ni nRF52 kam quvvatli qurilmalarga kodlash, dasturlash moduli va ta'minot oqimini o'lchashni o'z ichiga oladi. Shuningdek, u nRF52 qurilmasiga ulanish va uni boshqarish uchun kam quvvatli taymerlar va taqqoslagichlarni, o'chirilgan kirishni va pfodAppdan foydalanishni o'z ichiga oladi.
2 -qism - Kam quvvatli harorat namligi monitori Redbear Nano V2 moduli va Si7021 harorat / namlik sensori yordamida past quvvatli batareya / quyosh monitorini o'z ichiga oladi. Shuningdek, u Si7021 kutubxonasini kam quvvatli qilib o'zgartirish, BLE qurilmasini joriy iste'molini <29uA ga kamaytirish uchun sozlash va mobil uchun maxsus harorat/namlik displeyini loyihalashni o'z ichiga oladi.
3 -qism - Redbear Nano V2 -ni almashtirish, bu Nano V2 o'rniga boshqa nRF52 asosidagi modullardan foydalanishni o'z ichiga oladi. U ta'minot komponentlarini tanlash, qurilish, nRF52 chip dasturlash himoyasini olib tashlash, NFC pinlarini oddiy GPIO sifatida ishlatish va Arduino -da yangi nRF52 kartasini aniqlashni o'z ichiga oladi.
Bu ko'rsatma Nano V2 o'rnini bosuvchi SKYLAB SBK369 taxtasi yordamida juda kam quvvatli BLE harorat va namlik monitorini yaratish orqali Arduino yordamida osonlashtiriladigan 1 -qism juda kam quvvatli BLE qurilmalarining amaliy qo'llanmasi. Ushbu qo'llanmada yangi taxtaning ta'rifini yaratish va nRF52 dasturiy ta'minotini qayta dasturlashga ruxsat berish uchun uni qanday olib tashlash kerakligi ko'rsatilgan. Ushbu qo'llanmada 2 -qismdagi xuddi shu eskiz ishlatiladi, BLE parametrlari bir xil sozlangan va kam quvvat sarflanadi va batareyadan yoki batareyadan + quyoshdan yoki quyoshdan ishlaydi. Kam quvvat uchun BLE parametrlarini sozlash 2 -bo'limda yoritilgan
Lp_BLE_TempHumidity -ning Rev 3 ma'lumotlarini faqat Arduino millis () yordamida sana va vaqtga nisbatan tuzadi. Arduino tarix va vaqtini millis () va pfodApp yordamida pfodApp (V3.0.362+) eng so'nggi versiyasidan foydalanib ko'ring.
Pfod_lp_nrf52.zip -ning 4 -versiyasi GT832E_01 modulini ham qo'llab -quvvatlaydi va bu qo'llanma NFC nRF52 pinlarini standart GPIO sifatida ishlatishni o'z ichiga oladi.
Bu erda qurilgan monitor yillar davomida Coin Cell yoki 2 x AAA batareyalari bilan ishlaydi, hatto quyosh yordamida. Monitor hozirgi harorat va namlikni aks ettirish bilan bir qatorda, oxirgi 36 soatlik 10 daqiqali o'qishni va oxirgi 10 kunlik soatlik o'qishni saqlaydi. Bular Android mobil qurilmangizda va qiymatlari jurnalga saqlanishi mumkin. Android dasturlash talab qilinmaydi, pfodApp bularning barchasini boshqaradi. Android displeyi va diagrammasi sizning Arduino eskizingiz tomonidan to'liq nazorat qilinadi, shuning uchun uni kerakli tarzda sozlashingiz mumkin.
2 -qism nRF52832 BLE komponenti uchun Redbear Nano V2 kartasidan foydalangan. Ushbu loyiha uni arzonroq SKYLAB SKB369 taxtasi bilan almashtiradi. 2 -qismda bo'lgani kabi, harorat / namlik sensori uchun Sparkfun Si7021 uzilish taxtasi ishlatiladi. O'zgartirilgan kam quvvatli kutubxona Si7021 bilan ishlatiladi.
1 -qadam: Nima uchun Nano V2 -ni almashtirish kerak?
i) Nano V2 bir necha oy ishlab chiqarilmadi va Particle.io tarmog'iga mos kelmaganga o'xshaydi, shuning uchun u qachongacha sotilishi aniq emas.
ii) Nano V2 qimmatroq. Shu bilan birga, u qo'shimcha funktsiyalarga ega. Pastga qarang.
iii) Nano V2 ning ikkala tomoni ham yuqori qismga ega bo'lib, uni o'rnatishni qiyinlashtiradi.
iv) Nano V2 cheklangan kirish -chiqish pinlariga ega va D6 dan D10 gacha foydalanish uchuvchi simlarni talab qiladi.
Nano V2 taxtasi SKYLAB SKB369 taxtasidan qimmatroq bo'lsa -da, ~ US17 ga nisbatan ~ US5, Nano V2 ko'proq xususiyatlarga ega. Nano V2 3.3V regulyator va quvvat kondansatörlerini, nRF52 DC/DC konverter variantini ishlatish uchun qo'shimcha komponentlarni, chip antenna va uFL SMT antenna ulagichini o'z ichiga oladi.
Boshqa variant - bu www.homesmartmesh.com tomonidan ishlatiladigan GT832E_01 moduli. Pfod_lp_nrf52.zip -ning 4 -revi ham GT832E_01 modulini dasturlashni qo'llab -quvvatlaydi. SKYLAB SKB369 va GT832E_01 https://www.aliexpress.com saytida mavjud.
Redbear (Particle.io) 3V3 regulyatori, DC/DC komponentlari yoki 32KHz kristalli komponentlarsiz yalang'och modulga ega.
Anahat
Ushbu loyiha 4 ta nisbiy mustaqil qismdan iborat:-
Komponentlarni tanlash va qurish nRF52 kodlashdan himoya bayrog'ini olib tashlash va eskizni dasturlash Yangi Arduino nRF52 karta ta'rifini yaratish nRF52 NFC pinlarini GPIO sifatida qayta sozlash.
2 -qadam: Komponentlarni tanlash va qurish
Komponentlarni tanlash
2 -bo'limda tanlangan nRF52832 va Si7021 komponentlariga qo'shimcha ravishda, ushbu loyiha 3.3V regulyator va ta'minot kondansatkichlarini qo'shadi.
Voltaj regulyatorining komponenti
Bu erda ishlatiladigan regulyator MC87LC33-NRT. U 12V gacha kirishni boshqarishi mumkin va <3,6uA, odatda 1,1uA bo'lgan tinch oqimga ega. Nano V2 ishlatilgan TLV704 regulyatori biroz balandroq, odatda 3.4uA va 24Vgacha yuqori kirish voltajini boshqarishi mumkin. Buning o'rniga MC87LC33-NRT tanlandi, chunki uning ma'lumotlar jadvalida kirish voltaji 3.3V dan past bo'lganida, TLV704 ma'lumotlar varag'i bo'lmaganida, u qanday javob berishi ko'rsatilgan.
TLV704 kirish voltajini minimal 2,5 V ni belgilaydi va ma'lumotlar jadvalida bundan pastda nima bo'lishi aniq emas. NRF52832 1.7V ga, Si7023 esa 1.9Vgacha ishlaydi. Boshqa tomondan, MC87LC33-NRT past oqimlar uchun kirish/chiqish voltajining farqlarini 0Vgacha belgilaydi (ma'lumotlar jadvalining 18-rasm). Komponentlar tanlovini hisobga olgan holda, MC87LC33-NRT tanlangan, chunki u ko'rsatilgan ko'rsatkichlarga ega.
Ta'minot kondansatkichlari
MC87LC33-NRT regulyatori barqarorlik va javob berish uchun ba'zi ta'minot kondansatkichlariga muhtoj. Ma'lumotlar varag'i> 0.1uF chiqish kondansatörü tavsiya etiladi. SKYLAB SBK369 shuningdek, taxtaga yaqin bo'lgan ta'minotda 10uF/0.1uF kondansatkichlarini ham ko'rsatadi. Kattaroq kondansatörler nRF52 TX tok pog'onalarini etkazib berishga yordam beradi. Bu erda 4 x 22uF 25V va 3 x 0,1uF 50V sopol kondansatörler ishlatilgan. SKYLAB SBK369 yaqinida bitta 22uF va 0,1uF kondansatör, barqarorlikni ta'minlash uchun MC87LC33-NRT chiqishiga yaqin 0,1uF joylashtirildi va MC87LC33-NRT va 22UF va 0,1uF kirishga joylashtirildi. yana 2 x 22uF kondansatkichlari, bu erda Vin/GND pinlari bo'ylab lehimlangan, keyingi oqim rezervuari sifatida. Taqqoslash uchun, NanoV2 platasi TLV704 regulyatoriga kirishda 22uF / 0,1uF va chiqishida 0,1uF ga ega.
Qo'shimcha oqim rezervuar kondansatkichlari 3.3V regulyatorining kirish qismiga o'rnatildi, shunda ular quyosh batareyalari bilan ishlaganda yuqori voltajga zaryad oladilar. Yuqori kuchlanishga zaryad olish Tx uchlarini etkazib berish uchun ko'proq tokni saqlashga teng.
Seramika X5R kondansatörleri ishlatiladi, chunki ular past seriyali qarshilik va past oqish oqimiga ega. Qarshilik odatda 100, 000MΩ yoki 1000MΩ - mF ni tashkil qiladi, bu har doimgidan kam. Shunday qilib, 22uF uchun bizda 22000MΩ, ya'ni to'rtta 22uF kondansatör uchun 3,3V yoki 0,6nA da 0,15nA oqish mavjud. Bu ahamiyatsiz. Taqqoslash uchun past ESR, past oqimli Panasonic elektrolitik kondansatkichlari <0,01CV oqish oqimiga ega. Shunday qilib, 22uF 16V kondansatör uchun oqish <10uA. Eslatma: Bu nominal kuchlanishdagi oqish, bu holda 16V. Oqish past kuchlanishlarda past bo'ladi, ya'ni 3.3Vda <2.2uA.
Qismlar ro'yxati
2018 yil dekabr holatiga bir birlik uchun taxminiy narx, ~ 61 AQSh dollari, etkazib berish va dasturchi 1 -qismdan tashqari
- SKYLAB SKB369 ~ 5 AQSh dollari, masalan, Aliexpress
- Sparkfun Si7021 uzilish taxtasi ~ 8 AQSh dollari
- 2 x 53 mm x 30 mm 0,15 Vt 5V quyosh batareyalari, masalan. Overfly ~ 1.10 AQSh dollari
- 1 ta PCB SKYLAB_TempHumiditySensor_R2.zip ~ 25 AQSh dollari 5 uchun www.pcbcart.com
- 1 x MC78LC33 3.3V regulyatori, masalan. Digikey MC78LC33NTRGOSCT-ND ~ 1 AQSh dollari
- 2 x 0,1uF 50V sopol C1608X5R1H104K080A masalan. Digikey 445-7456-1-ND ~ 0,3 AQSh dollari
- 4 x 22uF 16V seramika GRM21BR61C226ME44L masalan. Digikey 490-10747-1-ND ~ 2 AQSh dollari
- 1 x BAT54CW, masalan. Digikey 497-12749-1-ND ~ 0,5 AQSh dollari
- 1 x 470R 0,5W 1% qarshilik masalan. Digikey 541-470TCT-ND ~ 0,25 AQSh dollari
- 1 x 10V 1W zener SMAZ10-13-F masalan. Digikey SMAZ10-FDICT-ND ~ 0,5 AQSh dollari
- 3 mm x 12 mm neylon vintlardek, masalan. Jaycar HP0140 ~ 3 AQSh dollari
- 3 mm x 12 mm neylon yong'oqlar, masalan. Jaycar HP0146 ~ 3 AQSh dollari
- Scotch doimiy o'rnatish tasmasi Cat 4010, masalan. Amazondan ~ 6,6 AQSh dollari
- CR2032 batareya ushlagichi, masalan. HU2032-LF ~ 1,5 AQSh dollari
- CR2032 batareyasi ~ 1 AQSh dollari
- Perspex varag'i, 3,5 mm va 8 mm
- pfodApp ~ 10 AQSh dollari
- Lehim pastasi, masalan. Jaycar NS-3046 ~ 13 AQSh dollari
3 -qadam: qurilish
Loyiha kichik PCB ustida qurilgan. PCB pcbcart.com tomonidan Gerber fayllaridan ishlab chiqarilgan, SKYLAB_TempHumiditySensor_R2.zip PCB Nano V2 pinini taqlid qiladi va boshqa maqsadli BLE loyihalarida foydalanish uchun etarli.
Bu sxematik (pdf versiyasi)
Avval SMD komponentlarini lehimlang, so'ngra SKYLAB SKB369 taxtasini o'rnating
Deyarli barcha komponentlar sirtdan o'rnatish qurilmalari (SMD). Kondansatkichlar va IClarni qo'lda lehimlash qiyin bo'lishi mumkin. Tavsiya etilgan usul - bu PCBni joyida ushlab turish va prokladkalarga oz miqdordagi lehim pastasini surtish va SMD komponentlarini joylashtirish, PCBda SKB369 kartochkasidan tashqari. Issiq tabancadan foydalanib, lehim pastasi erimaguncha, tenglikni pastki qismiga issiqlik surting, so'ngra qismlarning uchib ketmasligiga ehtiyot bo'ling. Oxir -oqibat, komponentlarni kichik uchli lehimlantiruvchi temir bilan arting. Kondensatorlar va rezistorlar bilan ehtiyot bo'ling, chunki ikkala uchini eritib yuborish va bir uchini lehimlashda komponentni bo'shatish oson.
Ushbu versiya qo'shimcha 22uF 16V sopol kondansatörler qo'shadi. Bu qo'shimcha kondansatkichlar batareyadan chiqayotgan tok uchlarini kamaytiradi, shuningdek quyosh batareyalaridan quvvat olganda kuchlanish pasayishini kamaytiradi. Agar quyosh batareyalaridagi kuchlanish batareya zo'riqishidan yuqori bo'lsa, batareyadan hech qanday oqim olinmaydi.
SMD komponentlari o'rnatilgandan so'ng, siz SKYLAB SKB369 kartasiga lehim qilishingiz mumkin. SKB369 yorliqlarining bir tomonida ikkita sinov punkti teshigi bor. SKB369 taxtasini joylashtirish va pinlarni ehtiyotkorlik bilan tekislash uchun karton tagiga ikkita pim ishlating. (Yuqoridagi misol rasmiga qarang. 1 -sonli PCB yordamida) Boshqa pimlarni lehimlashdan oldin taxtani joyida ushlab turish uchun qarama -qarshi tomondan bitta pinni lehimlang.
Tayyor qismda CLK dan GND gacha bo'lgan Gnd aloqa simiga e'tibor bering. Bu CLR kirishidagi shovqin nRF52 chipini yuqori oqim disk raskadrovka rejimiga o'tishiga yo'l qo'ymaslik uchun dasturlashdan so'ng o'rnatiladi
O'rnatish qutisi
O'rnatish qutisi qalinligi 3 mm bo'lgan 110 mm x 35 mm bo'lgan ikki qismli perspeksdan qilingan. Quyosh xujayralari ostidagi 3,5 mm bo'lak 3 mm neylon vintlarni olish uchun urilgan. Bu qayta ko'rib chiqilgan qurilish Rev 1dan keyin soddalashtirilgan va sensor atrofidagi havo oqimini yaxshilaydi. Har bir uchidagi qo'shimcha teshiklar, masalan, kabel bog'lamlari yordamida o'rnatiladi.
4 -qadam: NRF52 kodlash himoya bayrog'ini olib tashlash
Harorat/namlik kartasini yuqorida ko'rsatilgan 1 -bo'limda tasvirlangan dasturchiga ulang.
Quyosh batareyalari va batareyalari o'chirilgan holda, Vin va Gnd dasturchilarning Vdd va Gnd (Sariq va Yashil) va SWCLK va SWDIO dasturchilar sarlavhasi panelidagi Clk va SIO (Oq va kulrang simlar) ga ulangan.
NRF52 dastur himoyasini olib tashlash
Nordic Simi - Debug and Trace sahifasidan DAP - Debug Access Port. Tashqi tuzatuvchi qurilmaga DAP orqali kirishi mumkin. DAP standart ARM® CoreSight ™ ketma-ket simlarni tuzatish portini (SW-DP) amalga oshiradi. SW-DP ikkita simli ketma-ket interfeysli SWDCLK va SWDIO bo'lgan ketma-ket simlarni tuzatish protokolini (SWD) amalga oshiradi.
Muhim: SWDIO liniyasi ichki tortish qarshiligiga ega. SWDCLK liniyasi ichki tortiladigan qarshilikka ega.
CTRL -AP - kirish portini boshqarish. Kirish nazorati porti (CTRL-AP)-bu kirish portining himoyasi orqali DAPdagi boshqa kirish portlari o'chirilgan bo'lsa ham, qurilmani boshqarishga imkon beradigan maxsus kirish porti. Kirish portini himoya qilish tuzatuvchini barcha protsessor registrlariga va xotira bilan bog'langan manzillarga o'qish va yozishni blokirovka qiladi. Kirish portining himoyasini o'chirib qo'ying. Kirish portini himoya qilish faqat CTRL-AP orqali ERASEALL buyrug'i bilan o'chirilishi mumkin. Bu buyruq Flash, UICR va RAMni o'chiradi.
Zarrachalarni tuzatuvchi dasturchisi sifatida CMSIS-DAP-ni tanlang va nRF5 Flash SoftDevice-ni tanlang.
Agar fleshka ishlasa, bu yaxshi, lekin ko'pincha modullar qayta dasturlashdan himoyalangan bo'ladi va siz Arduino oynasida bu xato chiqishini olasiz.
0.10.0-dev-00254-g696fc0a on-Chip tuzatuvchisini ochish (2016-04-10-10: 13) GNU GPL v2 ostida litsenziyalangan. debug_level: 2 Ma'lumot: faqat bitta transport varianti; avtomatik tanlash 'swd' adapter tezligi: 10000 kHz cortex_m reset_config sysresetreq Ma'lumot: CMSIS-DAP: SWD Qo'llab-quvvatlanadigan ma'lumotlar: CMSIS-DAP: Interfeys boshlangan (SWD) ma'lumoti: CMSIS-DAP: FW versiyasi = 1.10 ma'lumot: SWCLW/TCK = 1 TMS = 1 TDI = 0 TDO = 0 nTRST = 0 nRESET = 1 Ma'lumot: CMSIS-DAP: Interfeys tayyor ma'lumot: tezlikni so'rash: 10000 kHz dan 5000 kHz gacha maksimal ma'lumot: soat tezligi 10000 kHz Ma'lumot: SWD IDCODE 0x2ba01477 Xato: MEM topilmadi -AP yadroni boshqarish uchun Xato: Maqsad hali tekshirilmagan, SoftDevice yonib turganda xato.
Bunday holda, xotirani tozalash va qurilmani qayta dasturlashtirilishi uchun nRF52 da ERASEALL buyruqlar registrini o'rnatishingiz kerak. NRF52 sandeepmistry bilan ta'minlangan openOCD versiyasi ERASEALL buyruqlar registriga yozish uchun zarur bo'lgan apreg buyrug'ini o'z ichiga olmaydi, shuning uchun siz keyingi versiyani o'rnatishingiz kerak bo'ladi.
OpenOCD OpenOCD-20181130 yoki undan yuqori versiyasini o'rnating. Windows-ning oldindan tuzilgan versiyasi https://gnutoolchains.com/arm-eabi/openocd/ saytida mavjud. Oxirgi kod https://gnutoolchains.com/arm-eabi/openocd/ saytida mavjud.
Buyruqlar satrini oching va dir ni OpenOCD o'rnatish katalogiga o'zgartiring va buyruqni kiriting
bin / openocd.exe -d2 -f interfeysi/cmsis -dap.cfg -f maqsad/nrf52.cfg
Javob shunday
On-Chip Debugger 0.10.0 (2018-11-30) ni oching [https://github.com/sysprogs/openocd] GNU GPL v2 ostida litsenziyalangan Xatoliklar haqida hisobot uchun https://openocd.org/doc/doxygen/ ni o'qing. bugs.html debug_level: 2 Ma'lumot: "swd" birinchi mavjud seans transportini avtomatik tanlash. O'zgartirish uchun "transportni tanlash" -dan foydalaning. adapter tezligi: 1000 kHz cortex_m reset_config sysresetreq Ma'lumot: tcl ulanishlar uchun 6666 portda tinglash Ma'lumot: Telnet ulanishlar uchun 4444 portda tinglanmoqda Ma'lumot: CMSIS-DAP: SWD Qo'llab-quvvatlanadigan ma'lumot: CMSIS-DAP: FW versiyasi = 1.10 ma'lumot: CMSIS-DAP: Boshlangan interfeys (SWD) ma'lumoti: SWCLK/TCK = 1 SWDIO/TMS = 1 TDI = 0 TDO = 0 nTRST = 0 nRESET = 1 ma'lumot: CMSIS-DAP: interfeys tayyor ma'lumot: soat tezligi 1000 kHz ma'lumot: SWD DPIDR 0x2ba01477 xato: Asosiy ma'lumotlarni boshqarish uchun MEM-AP topilmadi: gdb ulanishlari uchun 3333 portda tinglash
Keyin terminal oynasini oching, masalan. TeraTerm (Windows) yoki CoolTerm (Mac) va 127.0.0.1 4444 portiga ulaning
Telnet oynasida> ko'rsatiladi va buyruq satrida Ma'lumot ko'rsatiladi: tcp/4444 da "telnet" ulanishini qabul qilish
Telnet oynasida (ya'ni TeraTerm) typenrf52.dap apreg 1 0x04bu chip himoyalanganligini ko'rsatuvchi 0x00000000 ni qaytaradi. Keyin typenrf52.dap apreg 1 0x04 0x01 va thennrf52.dap apreg 1 0x04 bu 0x00000001 ni qaytaradi, bu chip keyingi qayta ishga tushirilganda ERASEALL ga o'rnatilganligini ko'rsatadi.
Telnet ulanishini yoping va buyruq satrida openOCD dasturidan chiqish uchun Ctrl-C-ni ishlating, so'ng nRF52 modulini quvvat bilan aylantiring va u hozir dasturga tayyor bo'ladi.
Endi dasturiy ta'minotni qayta yoqib ko'ring.
Endi nRF52 modulini Arduino -dan dasturlashingiz mumkin.
5 -qadam: SKYLAB SKB369 dasturlash
Arduino-ni yoping va pfod_lp_nrf52-ni qo'llab-quvvatlashning so'nggi versiyasini o'rnating. Oxirgi pfod_lp_nrf52 SKYLAB SKB369 Nano2 zaxira kartasini o'z ichiga oladi. Kengash sifatida buni tanlang va keyin uni 2 -bo'limda tasvirlangan lp_BLE_TempHumidity, lp_BLE_TempHumidity_R3.zip 3 -versiya bilan dasturlashingiz mumkin.
Agar dastur muvaffaqiyatsiz bo'lsa. Arduino -ning barcha oynalarini yoping, USB kabellarini olib tashlang, Arduino -ni qayta ishga tushiring va dasturchi USB kabelini qayta ulang va nRF52 modulining USB ta'minotini qayta ulang va qaytadan urinib ko'ring.
Keyin joriy va tarixiy harorat va namlikni ko'rsatish uchun pfodApp orqali ulaning. Tarixiy syujetni ko'rsatganingizdan so'ng, o'qishlar milisekundlik vaqt belgilari bilan mobil telefoningizdagi jurnalga saqlanadi, shuningdek, ma'lumotlarning ekranida mavjud bo'ladi.
Jurnal fayli, shuningdek, elektron jadvalda sana va vaqtni qayta tuzish uchun zarur bo'lgan qo'shimcha ma'lumotlarni o'z ichiga oladi. Tafsilotlar uchun millis () va pfodApp yordamida Arduino sana va vaqtini ko'ring
6 -qadam: Yangi Arduino NRF52 karta ta'rifini yaratish
Yangi nRF52 kartasini qo'llab -quvvatlash uchun sizga a) taxtali fayllar bilan variantlar katalogiga yangi katalog qo'shish va b) yangi taxtani Arduino -ga qo'shish uchun board.txt faylini tahrir qilish kerak.
Yangi nRF52 karta variantini qo'shish
1-bo'limda tasvirlanganidek, pfod_lp_nrf52 apparat yordamini o'rnatish, pfod_lp_nrf52 qo'llab-quvvatlashi bilan yangilangan sandeepmistry paketining qo'shimcha katalogini toping. / Apparat / nRF5 / 0.6.0 / variantlar pastki katalogini oching va yangi taxtangiz uchun yangi katalog yarating, masalan, SKYLAB_SKB369_Nano2replacement Yangi / apparat / nRF5 / 0.6.0 / variantlari / SKYLAB_SKB369_Nano2 almashtirish katalogida uchta fayl variantini yarating.h, variant.cpp va pins_arduino.h Siz ularni boshqa variantlar kataloglaridan nusxa ko'chirishingiz mumkin. SKYLAB_SKB369_Nano2 -ni almashtirish uchun dastlab fayllarni RedBear_BLENano2 variantidan nusxa ko'chirdim.
pins_arduino.h fayli
Pins_arduino.h faylini o'zgartirish shart emas. U faqat variant.h faylini o'z ichiga oladi
variant.h fayli
Variant.h faylini tahrirlab, PINS_COUNT taxtangizga qo'yiladigan pinlarning umumiy sonini aniqlang
QAYD: Sandeepmistry paketida NUM_DIGITAL_PINS, NUM_ANALOG_INPUTS va NUM_ANALOG_OUTPUTS sozlamalari e'tiborga olinmaydi
Agar sizning taxtangiz ko'proq yoki kamroq analog pinlarni taqdim etsa, variants.h faylining / * Analog pinlari * / bo'limini yangilang.
ESLATMA: NanoV2 va SKYLAB platalari uchun analog pinlar A0 == D0 va boshqalar raqamli pinlarga ulanadi
Bu muhim emas. Analog kirishni har qanday qulay Arduino piniga belgilashingiz mumkin. Misol uchun blue/variant.h va blue/variant.cpp fayllarini ko'ring.
NRF52832 chipida 8 ta analog kirish pimi bor, lekin SKYLAB_SKB369_Nano2 almashtirish kartasi ulardan faqat 6 tasi Nano2 ga mos keladi.
Variant.h faylidagi RESET_PINdan tashqari barcha pin raqamlari Arduino pin raqamlari. Ya'ni #define PIN_A0 (0) arduino eskizidagi D0 A0 bilan bir xil pin ekanligini bildiradi. RESET_PIN bundan mustasno. Bu raqam nRF52823 chip pin raqami va 21 - bu yagona to'g'ri tanlov. Biroq, pfod_lp_nrf52 qo'llab -quvvatlashi nRF52832 -dagi tiklash pinini yoqmaydi.
variant.cpp fayli
Variant.cpp faylida faqat bitta kirish bor, g_ADigitalPinMap massivi, Arduino pin raqamlarini nRF52832 chip P0.. pinlariga bog'laydi.
QAYD: NanoV2 va SKYLAB platalarida Arduino analog pimi A0, A1… Arduino raqamli D0, D1 pinlari bilan bir xildir … shuning uchun g_ADigitalPinMap dagi birinchi yozuvlar nRF52832 chipidagi AINx pin raqamlariga mos kelishi kerak
Analog kirishlar uchun sizning taxtangiz mavjud bo'lishi uchun g_ADigitalPinMap dagi yozuvlar nRF52832 AIN0, AIN1, AIN2 va boshqalar pin raqamlarini xaritada ko'rsatishi kerak. ya'ni AIN0 - bu P0.02 chipli pin, AIN1 - P0.03 chipli pin va boshqalar, yuqoridagi nRF52832 pinli tartibini ko'ring.
Yaroqsiz xaritalash uchun (uint32_t) -1 dan foydalaning. Masalan, SKYLAB_SKB369_Nano2 almashtirish taxtasida D13 diodli LED yo'q, shuning uchun uning joylashuvi (uint32_t) -1 bilan taqqoslanadi.
Pfod_lp_nrf52.zip-da Redbear NanoV2, SKYLAB SKB369 va GT832E_01 variantlari pastki kataloglarida variantlar.cpp tomonidan o'rnatilgan xaritalarni ko'rsatuvchi tasvirlar mavjud. (Yuqoridagi rasmlarga qarang)
SKYLAB SKB369 bo'lsa, tanlash uchun juda ko'p pinlar mavjud. NanoV2 mos keladigan xaritalar etarli. GT832E_01 holatida, barcha mavjud pinlarni xaritaga solish kerak. Shunday bo'lsa ham, NanoV2 -dagi oltita (6) o'rniga faqat uchta (3) analog kirish mavjud. Bundan tashqari, ikkita NFC pimi, P0.09 va P0.10, GPIO sifatida qayta sozlanishi kerak. Quyidagi nRF52 NFC pinlarini GPIO sifatida qayta sozlash -ga qarang.
Board.txt faylini yangilash
Bu erda SKYLAB_SKB369_Nano2 almashtirish taxtalari.txt faylidagi yozuv.
## SKYLAB_SKB369 Nano2 ni almashtirishSKYLAB_SKB369_NANO2_REPLACEMENT.name =*SKYLAB SKB369 Nano2 ni almashtirish
SKYLAB_SKB369_NANO2_REPLACEMENT.upload.tool = sandeepmistry: openocd
SKYLAB_SKB369_NANO2_REPLACEMENT.upload.protocol = cmsis-dap SKYLAB_SKB369_NANO2_REPLACEMENT.upload.target = nrf52 SKYLAB_SKB369_NANO2_REPLACEMCab_Sablet_Otkazib yuboring. SKYLAB_SKB369_NANO2_REPLACEMENT.upload.use_1200bps_touch = false SKYLAB_SKB369_NANO2_REPLACEMENT.upload.wait_for_upload_port = false SKYLAB_SKB369_NANO2_load. REPLACEMENT.upload.use_1200bps_touch
SKYLAB_SKB369_NANO2_REPLACEMENT.bootloader.tool = sandeepmistry: openocd
SKYLAB_SKB369_NANO2_REPLACEMENT.build.mcu = cortex-m4
SKYLAB_SKB369_NANO2_REPLACEMENT.build.f_cpu = 16000000 SKYLAB_SKB369_NANO2_REPLACEMENT.build.board = SKYLAB_SKB369_Nano2replacement SKYLAB_SKB369_NANO2_REPLACEMENT.build.core = nRF5 SKYLAB_SKB369_NANO2_REPLACEMENT.build.variant = SKYLAB_SKB369_Nano2replacement SKYLAB_SKB369_NANO2_REPLACEMENT.build.variant_system_lib = SKYLAB_SKB369_NANO2_REPLACEMENT.build.extra_flags = -DNRF52 SKYLAB_SKB369_NANO2_REPLACEMENT.build.float_flags = -mfloat -abi = qattiq -mfpu = fpv4-sp-d16 SKYLAB_SKB369_NANO2_REPLACEMENT.build.ldscript = nrf52_xxaa.ld
SKYLAB_SKB369_NANO2_REPLACEMENT.menu.lfclk.lfrc.build.lfclk_flags = -DUSE_LFXO
SKYLAB_SKB369_NANO2_REPLACEMENT.menu.softdevice.s132 = S132
SKYLAB_SKB369_NANO2_REPLACEMENT.menu.softdevice.s132.softdevice = s132 SKYLAB_SKB369_NANO2_REPLACEMENT.menu.softdevice.s132.softdeviceversion = 2.0.1 SKYLAB_SKB369_NANO2_REPLACEMENT.menu.softdevice.s132.upload.maximum_size = 409600 SKYLAB_SKB369_NANO2_REPLACEMENT.menu.softdevice.s132.build.extra_flags = - DNRF52 -DS132 -DNRF51_S132 SKYLAB_SKB369_NANO2_REPLACEMENT.menu.softdevice.s132.build.ldscript = armgcc_s132_nrf52832_xxaa.ld
board.txt sozlamalari
Sharhlar - # bilan boshlanadigan satrlar - bu izohlar.
Prefiks - har bir taxtaga o'z qiymatlarini aniqlash uchun o'ziga xos prefiks kerak. Bu erda prefiksSKYLAB_SKB369_NANO2_REPLACEMENT.
Ism - SKYLAB_SKB369_NANO2_REPLACEMENT.name qatorida Arduino boshqaruv paneli menyusida ko'rsatiladigan ushbu taxtaning nomi ko'rsatilgan.
Yuklash vositasi - SKYLAB_SKB369_NANO2_REPLACEMENT.upload bloki yuklash uchun qaysi vositadan foydalanish kerakligini bildiradi. Agar siz zarracha tuzatuvchidan foydalansangiz, yuqorida ko'rsatilgan protokol = cmsis-dap dan foydalaning.
Bootloader - bu taxtadagi barcha taxtalar uchun bir xil chiziq.txt
Qurilish - bu blokda faqat ikkita satrni yangilash kerak. SKYLAB_SKB369_NANO2_REPLACEMENT.build.variant qatori ushbu taxtaning katalog nomini variantlar katalogida belgilaydi. SKYLAB_SKB369_NANO2_REPLACEMENT.build.board - bu ARDUINO_ ga qo'shilgan va keyin kodni tuzishda aniqlanadigan qiymat. masalan -DARDUINO_SKYLAB_SKB369_Nano2replacement Bu sizga ma'lum taxtalar uchun kod qismlarini yoqish/o'chirish imkonini beradi.
Past chastotali soat - bu chiziq, SKYLAB_SKB369_NANO2_REPLACEMENT.menu.lfclk.lfrc.build.lfclk_flags, lp_timer uchun ishlatiladigan past chastotali soat manbasini ko'rsatadi. Uch variant bor: -DUSE_LFXO, -DUSE_LFRC va -DUSE_LFSYNT. Eng yaxshi tanlov -DUSE_LFXO, agar taxtada tashqi 32 kHz kristalli bo'lsa. Agar shunday bo'lmasa, ichki RC osilatoridan foydalanadigan va biroz ko'proq tok oladigan, ~ 10uA ko'proq va aniqligi ancha past bo'lgan -DUSE_LFRC dan foydalaning. -DUSE_LFSYNT -dan foydalanmang, chunki bu chipning doimiy ishlashini ta'minlaydi, natijada mAs joriy chiziladi.
Softdevice - pfod_lp_nrf52 faqat nRF52 chiplari va softdevice s132 -ni qo'llab -quvvatlaydi, shuning uchun prefiksdan tashqari bu blokni o'zgartirish shart emas.
NRF52 NFC pinlarini GPIO sifatida qayta sozlash
NRF52 pinlarida standart bo'lib, P0.09 va P0.10 NFC sifatida foydalanish uchun tuzilgan va NFC antennasiga ulanishi kutilmoqda. Agar siz ularni umumiy maqsadli kirish -chiqish pinlari (GPIO) sifatida ishlatishingiz kerak bo'lsa, unda board.txt faylidagi menyu.softdevice.s132.build.extra_flags kompilyatsiya sozlamalariga -DCONFIG_NFCT_PINS_AS_GPIOS ta'rifini qo'shishingiz kerak.
Masalan, pfod_lp_nrf52.zip, kirish/chiqish sifatida foydalanish uchun GT832E_01 pinlarini qayta sozlaydi. Board.txt faylidagi GT832E_01 bo'limiga quyidagi ta'rif qo'shilgan
GT832E_01.menu.softdevice.s132.build.extra_flags = -DNRF52 -DS132 -DNRF51_S132 -DCONFIG_NFCT_PINS_AS_GPIOS
Pfod_lp_nrf52.zip -dagi bog'lovchi skript ham ushbu sozlamani saqlab qolish uchun o'zgartirilgan va uni o'zgartirish shart emas.
7 -qadam: Xulosa
Ushbu qo'llanmada SKYLAB SKB369 moduli yordamida Redbear NanoV2 o'rnini bosuvchi taqdim etilgan. SKYLAB moduli uchun Arduino -da juda kam quvvatli BLE loyihasi sifatida batareya/quyosh energiyali namlik monitoridan foydalanilgan. ~ 29uA oqimlari, ulanish parametrlarini sozlash orqali erishiladi. Natijada, CR2032 tanga batareyali batareyaning ishlash muddati ~ 10 oy. Yuqori quvvatli tanga xujayralari va batareyalar uchun uzunroq. Ikkita arzon quyosh batareyasini qo'shish batareyaning ishlash muddatini 50% yoki undan ko'proq uzaytirdi. Monitorni quyosh batareyalaridan quvvatlantirish uchun xonaning yorqin nuri yoki stol chiroqchasi etarli.
Ushbu qo'llanma shuningdek, oldindan dasturlashtirilgan nRF52-dan chip himoyasini olib tashlash va o'zingizning PCB/sxemangizga mos keladigan yangi karta ta'rifini qanday o'rnatishni o'z ichiga oladi.
Android dasturlashi shart emas. pfodApp bularning barchasini boshqaradi.
Tavsiya:
Batareya bilan ishlaydigan ofis. Quyosh panellari va shamol turbinasi: Sharq/G'arbni avtomatik almashtirish bilan quyosh tizimi: 11 qadam (rasmlar bilan)
Batareya bilan ishlaydigan ofis. Quyosh tizimi Sharq/G'arbning avtomatik panellari va shamol turbinasi bilan almashinuvi bilan: Loyiha: 200 kvadrat metrli ofis batareyali bo'lishi kerak. Ofis, shuningdek, ushbu tizim uchun zarur bo'lgan barcha tekshirgichlar, batareyalar va komponentlarni o'z ichiga olishi kerak. Quyosh va shamol energiyasi batareyalarni zaryad qiladi. Faqat kichik muammo bor
To'lqinni almashtirish -- 555: 4 qadamlarini ishlatib, juda oz
To'lqinni almashtirish || 555 -dan foydalanib, juda kam o'tish 555 o'z do'konida flip-flop sifatida ishlaydi
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
ESP8266: 3 qadamli ultra past quvvatli podvaldagi suv toshqini signalizatsiyasi
ESP8266 bilan juda past quvvatli podvaldagi suv toshqini signalizatsiyasi: Salom, mening birinchi ko'rsatmaga xush kelibsiz. Mening uyimning podvalini har bir necha yil ichida yozning kuchli momaqaldiroqlari, er osti suvlari yoki hatto quvur yorilishi kabi turli sabablarga ko'ra suv bosadi. Bu yaxshi joy bo'lmasa-da, lekin mening markaziy isitishim
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