Мазмуну:
- 1 -кадам: Эмне үчүн Nano V2 алмаштыруу керек?
- 2 -кадам: Компоненттерди тандоо жана куруу
- 3 -кадам: Курулуш
- 4 -кадам: NRF52 коддоо коргоо желегин алып салуу
- 5 -кадам: SKYLAB SKB369ду программалоо
- 6 -кадам: Жаңы Arduino NRF52 тактасынын аныктамасын түзүү
- 7 -кадам: Жыйынтык
Video: Arduino 3 -бөлүгүндө өтө аз кубаттуу BLE 3 - Nano V2 алмаштыруу - Аян 3: 7 кадам (Сүрөттөр менен)
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:40
Жаңыртуу: 2019 -жылдын 7 -апрели - lp_BLE_TempHumidityтин 3 -Rev, pfodApp V3.0.362+колдонуп, маалыматтарды жөнөтүүдө автоматтык дроссель менен Күн/Убакыт графиктерин кошот
Жаңыртуу: 2019 -жылдын 24 -мартында - lp_BLE_TempHumidityтин Rev 2, дагы сюжет параметрлерин жана i2c_ClearBus, GT832E_01 колдоосун кошот
Киришүү
Бул окуу куралы, Redbear Nano V2 алмаштыруу, 3 -бөлүктүн 3 -бөлүмү. Бул бул долбоордун 2 -версиясы. Revision 2 PCB монета клеткасына жана сенсорго орнотууну камтыйт, курулушту жөнөкөйлөтөт жана сенсордун айланасындагы аба агымын жакшыртат, ал эми аны күндүн түз нурунан коргойт. Revision 1 бул жерде.
1 -бөлүк - Arduino жардамы менен өтө эле аз кубаттуу BLE түзмөктөрүн куруу Arduino кодун nRF52 аз кубаттуу түзмөктөргө, программалоо модулуна жана берүү агымын өлчөөгө камтыйт. Ал ошондой эле nRF52 түзмөгүнө туташуу жана көзөмөлдөө үчүн аз кубаттуулуктагы таймерлерди жана компараторлорду жана дебюндук киргизүүлөрдү жана pfodAppты колдонууну камтыйт.
2 -бөлүк - Абдан төмөн кубаттагы температура нымдуулугунун монитору Redbear Nano V2 модулун жана Si7021 температура / нымдуулук сенсорун колдонуп, аз кубаттуу батареяны / күн мониторун курат. Ал ошондой эле Si7021 китепканасынын кубаттуулугун төмөндөтүүнү, BLE түзмөгүн учурдагы керектөөнү <29uA чейин азайтууну жана мобилдик телефонуңуз үчүн ыңгайлаштырылган температура/нымдуулук дисплейин иштеп чыгууну камтыйт.
3 -бөлүк - Redbear Nano V2 алмаштыруу, бул Nano V2 ордуна башка nRF52 негизделген модулдарды колдонууну камтыйт. Бул камсыздоо компоненттерин тандоо, курулуш, nRF52 чип программалоо коргоосун алып салуу, NFC казыктарын кадимки GPIO катары колдонуу жана Arduinoдогу жаңы nRF52 тактасын аныктоону камтыйт.
Бул үйрөткүч Nano V2 алмаштыруу катары SKYLAB SBK369 тактасын колдонуп, өтө аз кубаттуулуктагы BLE температурасы жана нымдуулугунун мониторун куруу аркылуу Arduino менен оңой жасалган 1 -бөлүктүн өтө аз кубаттуу BLE түзмөктөрүнүн практикалык колдонмосу. Бул окуу куралы тактанын жаңы аныктамасын кантип түзүү керектигин жана nRF52 программалоосун кантип кайра программалоого уруксат берүү үчүн алып салууну камтыйт. Бул окуу куралы 2 -бөлүктөгү эле эскизди колдонот, ошол эле BLE параметрлери аз энергия керектөө үчүн жана батареядан же батареядан + күндөн же күндөн гана иштей алат. Аз кубаттуулук үчүн BLE параметрлерин жөндөө 2 -бөлүмдө камтылган
Lp_BLE_TempHumidityтин Rev 3ү маалыматтарды Arduino millis () менен күнгө жана убакытка каршы эсептейт. Караңыз Arduino Date and Time millis () жана pfodApp аркылуу pfodApp (V3.0.362+) акыркы версиясын колдонуп.
Pfod_lp_nrf52.zipтин Rev 4 да GT832E_01 модулун колдойт жана бул окуу куралы NFC nRF52 казыктарын стандарттык GPIO катары колдонууну камтыйт.
Бул жерде курулган монитор жыл бою Coin Cell же 2 x AAA батареялары менен иштейт, ал тургай күндүн жардамы менен. Учурдагы температураны жана нымдуулукту көрсөтүү менен бирге, монитор акыркы 36 саатта 10 мүнөт окууну жана акыркы 10 күндө сааттык окууларды сактайт. Булар сиздин Android мобилдик телефонуңузда жана баалуулуктар журнал файлына сакталган болот. Android программалоонун кереги жок, pfodApp мунун баарын чечет. Android дисплейи жана диаграммасы толугу менен сиздин Arduino эскизиңиз тарабынан көзөмөлдөнөт, андыктан аны талапка ылайыкташтырсаңыз болот.
2 -бөлүк nRF52832 BLE компоненти үчүн Redbear Nano V2 тактасын колдонгон. Бул долбоор аны арзаныраак SKYLAB SKB369 тактайы менен алмаштырат. 2 -бөлүктөгүдөй эле, температура / нымдуулук сенсору үчүн Sparkfun Si7021 сынык тактасы колдонулат. Өзгөртүлгөн аз кубаттуу китепкана Si7021 менен колдонулат.
1 -кадам: Эмне үчүн Nano V2 алмаштыруу керек?
i) Nano V2 бир нече ай бою өндүрүштөн чыккан жана Particle.io линиясына туура келбейт окшойт, андыктан ал канча убакытка чейин жеткиликтүү болору белгисиз.
ii) Nano V2 кымбатыраак. Бирок, анын кошумча функциялары да бар. Төмөндө караңыз.
iii) Nano V2дин эки тарабында тең компоненттер бар, бул анын профилин жогорулатат жана орнотууну кыйындатат.
iv) Nano V2 чектелген I/O төөнөгүчтөргө ээ жана D6дан D10го чейин колдонуу учуучу учтарды талап кылат.
Nano V2 тактасы SKYLAB SKB369 тактасынан кымбат болсо да, ~ US17 ~ US5ке каршы, Nano V2 дагы өзгөчөлүктөргө ээ. Nano V2ге 3.3V жөнгө салуучу жана конденсаторлор, nRF52 DC/DC конвертерин колдонуу үчүн кошумча компоненттер, чип антеннасы жана uFL SMT антенна туташтыргычы кирет.
Башка альтернатива www.homesmartmesh.com тарабынан колдонулган GT832E_01 модулу. Pfod_lp_nrf52.zip версиясы 4 ошондой эле GT832E_01 модулун программалоону колдойт. SKYLAB SKB369 жана GT832E_01 https://www.aliexpress.com жеткиликтүү
Redbear (Particle.io) дагы 3V3 жөнгө салуучу, DC/DC компоненттери же 32Khz кристаллдык компоненттери жок жылаңач модулга ээ.
Контур
Бул долбоор 4 салыштырмалуу көз карандысыз бөлүктөн турат:-
Компоненттерди тандоо жана куруу nRF52 коддоо коргоо желегин алып салуу жана эскизди программалоо Жаңы Arduino nRF52 тактасынын аныктамасын түзүү nRF52 NFC казыктарын GPIO катары кайра конфигурациялоо
2 -кадам: Компоненттерди тандоо жана куруу
Компоненттерди тандоо
2 -бөлүктө тандалган nRF52832 жана Si7021 компоненттеринен тышкары, бул долбоор 3.3V жөндөгүчтү жана конденсаторлорду кошот.
Voltage Regulator компоненти
Бул жерде колдонулган жөнгө салуучу MC87LC33-NRT. Бул 12V кириштерине чейин иштей алат жана <3.6uA тынымсыз токко ээ, адатта 1.1uA. Nano V2 колдонулган TLV704 жөндөгүчү бир аз жогору токко ээ, адатта 3.4uA жана 24В чейин жогорку киргизүү чыңалуусун башкара алат. Анын ордуна MC87LC33-NRT тандалды, анткени анын маалымат барагында кирүү чыңалуусу 3.3Vдан төмөн түшүп, ал эми TLV704 маалымат таблицасы жок болсо, ал кандай жооп берери көрсөтүлгөн.
TLV704 2.5V минималдуу кирүү чыңалуусун көрсөтөт жана анын астында эмне болору маалымат барагынан ачык эмес. NRF52832 1.7V, Si7023 1.9V чейин чуркайт. MC87LC33-NRT, экинчи жагынан, төмөн токтор үчүн 0Vга чейин киргизүү/чыгаруу чыңалуусундагы айырмачылыктарды көрсөтөт (маалымат барагынын 18-сүрөтү). Ошентип, компоненттердин тандалышын эске алганда, MC87LC33-NRT тандалган, анткени ал көрсөтүлгөн көрсөткүчкө ээ.
Конденсаторлор менен камсыздоо
MC87LC33-NRT регулятору туруктуулук жана жооп берүү үчүн кээ бир камсыздоо конденсаторлоруна муктаж. Чыгуу конденсатору> 0.1uF маалымат баракчасында сунушталат. SKYLAB SBK369 тактага жакын камсыздоодо 10uF/0.1uF конденсаторлорун да көрсөтөт. Чоң конденсаторлор nRF52 TX учурдагы чукулдарын камсыздоого жардам берет. Бул жерде 4 x 22uF 25V жана 3 x 0.1uF 50V керамикалык конденсаторлор колдонулган. Бир 22uF жана 0.1uF конденсатору SKYLAB SBK369га жакын жайгаштырылган, туруктуулукту камсыз кылуу үчүн MC87LC33-NRTдин чыгуусуна 0.1uF жакын жана MC87LC33-NRTге 22uF жана 0.1uF коюлган. мындан ары 2 x 22uF конденсаторлору, ал жерде дагы бир учурдагы резервуар катары Vin/GND казыктары аркылуу туташкан. Салыштыруу үчүн NanoV2 тактасында TLV704 жөндөгүчүнүн киришинде 22uF / 0.1uF жана анын чыгуусунда 0.1uF бар.
Кошумча ток резервуарынын конденсаторлору 3.3V жөндөгүчүнүн киришине орнотулган, ошондуктан алар күн батареялары менен иштеп жатканда жогорку чыңалууга чейин заряддалат. Жогорку чыңалууга кубаттоо Tx чукулдарын берүү үчүн көбүрөөк токту сактоого барабар.
Керамикалык X5R конденсаторлору колдонулат, анткени алар аз сериялык каршылыкка жана агып кетүү агымына ээ. Каршылык адатта 100, 000MΩ же 1000MΩ - µF болуп саналат, бул азыраак. Ошентип, 22uF үчүн бизде 22000MΩ, башкача айтканда, 4.3V же 0.16nA агып кетүү төрт 22uF конденсатор үчүн. Бул анча деле маанилүү эмес. Салыштыруу үчүн Low ESR, Low Leakage Panasonic Электролиттик конденсаторлорунун агып чыгуучу агымдары <0.01CV. Ошентип, 22uF 16V конденсатор үчүн агып кетүү <10uA. Эскертүү: Бул номиналдык чыңалуудагы агуу, бул учурда 16В. Агып кетүү төмөнкү чыңалууда төмөн, башкача айтканда <2.2uA 3.3V.
Бөлүктөр тизмеси
2018 -жылдын декабрына карата бирдиктин болжолдуу баасы, ~ US $ 61, жеткирүүнү жана 1 -бөлүктөгү программистти эске албаганда
- SKYLAB SKB369 ~ US $ 5 мисал Aliexpress
- Sparkfun Si7021 сынык тактасы ~ 8 АКШ доллары
- 2 x 53mm x 30mm 0.15W 5V күн батареялары ж. Overfly ~ 1.10 АКШ доллары
- 1 x PCB SKYLAB_TempHumiditySensor_R2.zip ~ US $ 25 үчүн 5 өчүрүү www.pcbcart.com
- 1 x MC78LC33 3.3V жөнгө салуучу, мис. Digikey MC78LC33NTRGOSCT-ND ~ US $ 1
- 2 x 0.1uF 50V керамикалык C1608X5R1H104K080A мис. Digikey 445-7456-1-ND ~ 0.3 АКШ доллары
- 4 x 22uF 16V керамикалык GRM21BR61C226ME44L мис. Digikey 490-10747-1-ND ~ US $ 2
- 1 x BAT54CW, мис. Digikey 497-12749-1-ND ~ 0.5 АКШ доллары
- 1 x 470R 0.5W 1% резистор ж. Digikey 541-470TCT-ND ~ 0.25 АКШ доллары
- 1 x 10V 1W zener SMAZ10-13-F мис. Digikey SMAZ10-FDICT-ND ~ 0.5 АКШ доллары
- 3мм х 12мм нейлон бурамалары, мис. Jaycar HP0140 ~ AUD $ 3
- 3мм х 12мм нейлон жаңгактары, мис. Jaycar HP0146 ~ 3 AUD $
- Scotch Туруктуу Таптоочу Мышык 4010 ж. Amazonдан ~ US $ 6.6
- CR2032 батарея кармагычы, мис. HU2032-LF ~ 1.5 АКШ доллары
- CR2032 батарейкасы ~ 1 АКШ доллары
- Perspex барагы, 3,5 мм жана 8 мм
- pfodApp ~ 10 АКШ доллары
- Solder Paste мис. Jaycar NS-3046 ~ 13 AUD $
3 -кадам: Курулуш
Долбоор кичинекей ПХБнын үстүндө курулган. PCB бул Gerber файлдарынан pcbcart.com тарабынан даярдалган, SKYLAB_TempHumiditySensor_R2.zip ПХБ Nano V2 пинди туурап, башка BLE долбоорлорунда колдонуу үчүн жетиштүү жалпы максат болуп саналат.
Бул схема (pdf версиясы)
Адегенде SMD компоненттерин ширетип, андан кийин SKYLAB SKB369 тактасын орнотуңуз
Дээрлик бардык компоненттер жер үстүндөгү жабдуулар (SMD). Конденсаторлор менен ICлерди кол менен ширетүү кыйын болушу мүмкүн. Сунуш кылынган ыкма - ПХБны орунсуз кармоо жана кичине өлчөмдө ширетүүчү пастаны подкладка колдонуу жана СКБ369 тактасынан башка ПДКга SMD компоненттерин коюу. Андан кийин жылуулук пистолетин колдонуп, ПХБнын астыңкы жагына жылыткыч пастасы ээригиче сүйкөп, андан кийин тактанын үстүнөн тез өтүңүз, компоненттерди өчүрүп алуудан сак болуңуз. Акыр -аягы, кичинекей учу менен темир менен компоненттерин тийип. Конденсаторлорго жана резисторго этият болуңуз, анткени эки учун эритип, компоненттин боштукту бир четин ширетүү оңой.
Бул өзгөртүү кошумча 22uF 16V керамикалык конденсаторлорду кошот. Бул кошумча конденсаторлор батарейкадан алынган учурдагы чукулдарды, ошондой эле күн батареялары менен иштөөдө чыңалууну төмөндөтөт. Күн батареяларындагы чыңалуу батарейканын чыңалуусунан жогору бойдон калса, батареядан эч кандай ток тартылбайт.
SMD компоненттери орнотулгандан кийин, сиз SKYLAB SKB369 тактасына ширете аласыз. SKB369 өтмөктөрүнүн бир жагында эки сыноо чекити тешиги бар. SKB369 тактасын жайгаштыруу үчүн картондордун астына эки төөнөгүчтү колдонуңуз жана казыктарды кылдат тегиздеңиз. (Түзөтүү 1 ПКБнын жардамы менен жогорудагы мисалдагы сүрөттү караңыз) Андан кийин, башка казыктарды ширетүүдөн мурун, тактайды кармап туруу үчүн, карама -каршы тараптын бир төөнөгүчүн ширеткиле.
Даяр бөлүктө CLKтен GNDге Gnd шилтемеси зымына көңүл буруңуз. Бул CLK киргизүү боюнча ызы -чууну nRF52 чипти учурдагы мүчүлүштүктөрдү оңдоо режимине киргизбөө үчүн программалоодон кийин орнотулат
Монтаж корпусу
Монтаж корпусу 110 мм x 35 мм, калыңдыгы 3 мм болгон perspexтин эки бөлүгүнөн жасалган. Күн батареяларынын астындагы 3,5 мм кесим 3 мм нейлон бурамаларын алуу үчүн тапталган. Бул оңдолгон курулуш Rev 1ден кийин жөнөкөйлөтүлгөн жана сенсордун айланасындагы аба агымын жакшыртат. Ар бир учунда кошумча тешиктер, мисалы, кабелдик байланыштарды колдонуу менен, орнотуу үчүн.
4 -кадам: NRF52 коддоо коргоо желегин алып салуу
Температура/нымдуулук тактасын жогоруда көрсөтүлгөндөй 1 -бөлүктө сүрөттөлгөн Программистке туташтырыңыз.
Күн батареялары жана батарейкалары ажыратылганда, Вин менен Гнд программисттин Vdd жана Gnd (Сары жана Жашыл жетелейт) менен туташат жана SWCLK менен SWDIO программисттин баш тактасынын Clk жана SIOго туташат (Ак жана Боз)
NRF52 программасын коргоону алып салуу
From Nordic Semi - Мүчүлүштүктөрдү оңдоо жана көзөмөлдөө баракчасы DAP - Мүчүлүштүктөрдү оңдоо порт. Тышкы мүчүлүштүктөрдү оңдоочу түзмөккө DAP аркылуу кире алат. DAP стандарттык ARM® CoreSight ™ Serial Wire Debug Port (SW-DP) ишке ашырат. SW-DP SWDCLK жана SWDIO эки зымдуу сериялык интерфейси болгон Serial Wire Debug протоколун (SWD) ишке ашырат.
Маанилүү: SWDIO линиясынын ички тартма каршылыгы бар. SWDCLK линиясында ички тартылуу каршылыгы бар.
CTRL -AP - Control Port. Control Access Port (CTRL-AP)-бул DAPтын башка кирүү порттору кирүү портунун коргоосу менен өчүрүлгөн болсо да, түзмөктү башкарууга мүмкүндүк берген ыңгайлаштырылган порт. Кирүү портун коргоо мүчүлүштүктөрдү оңдоочуга бардык CPU регистрлерине жана эстутум картасына кирген даректерге кирүүгө тыюу салат. Кирүү портун коргоону өчүрүү. Кирүү портун коргоо CTRL-AP аркылуу ERASEALL буйругун берүү менен гана өчүрүлүшү мүмкүн. Бул буйрук Flash, UICR жана RAMди жок кылат.
Бөлүкчөлөрдүн мүчүлүштүктөрүн оңдоочу үчүн CMSIS-DAPты тандап, nRF5 Flash SoftDevice тандаңыз.
Эгерде флеш иштесе, анда бул жакшы, бирок модулдар кайра программалоодон корголгон болот жана сиз бул катаны Arduino терезесинен аласыз.
Open On-Chip Debugger 0.10.0-dev-00254-g696fc0a (2016-04-10-10: 13) GNU GPL v2 астында лицензияланган. debug_level: 2 Маалымат: бир гана транспорт варианты; автоматтык түрдө тандоо 'swd' адаптер ылдамдыгы: 10000 кГц cortex_m reset_config sysresetreq Маалымат: CMSIS-DAP: SWD Колдоого алынган маалымат: CMSIS-DAP: Interface Initialized (SWD) Маалымат: CMSIS-DAP: FW Version = 1.10 Маалымат: SWCLW/TCK = 1 TMS = 1 TDI = 0 TDO = 0 nTRST = 0 nRESET = 1 Маалымат: CMSIS-DAP: Интерфейс даяр маалымат: ылдамдыкты азайтуу: 10000кГцтен 5000кГц максималдуу маалымат: саат ылдамдыгы 10000кГц Маалымат: SWD IDCODE 0x2ba01477 Ката: MEM табылган жок Негизги катаны көзөмөлдөө үчүн -AP: Максат азырынча текшериле элек, SoftDevice жаркылдап жатканда ката.
Бул учурда, эс тутумду тазалоо жана түзмөктү кайра программалоочу кылуу үчүн nRF52деги ERASEALL буйрутмасынын регистрин орнотушуңуз керек. Sandeepmistry nRF52 менен жабдылган openOCD версиясына ERASEALL командалык реестрине жазуу үчүн керектүү болгон apreg буйругу кирбейт, андыктан сиз кийинки версиясын орнотушуңуз керек.
OpenOCD версиясын орнотуу OpenOCD-20181130 же андан жогору. Windowsтун алдын ала түзүлгөн версиясын https://gnutoolchains.com/arm-eabi/openocd/ жеткиликтүү Акыркы код https://gnutoolchains.com/arm-eabi/openocd/ жеткиликтүү
Командалык көрсөтмөнү ачыңыз жана директи OpenOCD орнотуу каталогун өзгөртүп, буйрукту киргизиңиз
bin / openocd.exe -d2 -f интерфейси/cmsis -dap.cfg -f максаттуу/nrf52.cfg
Жооп болуп саналат
Open On-Chip Debugger 0.10.0 (2018-11-30) [https://github.com/sysprogs/openocd] GNU GPL v2 астында лицензияланган. bugs.html debug_level: 2 Маалымат: биринчи жеткиликтүү сеанс транспортун "swd" автоматтык түрдө тандоо. "Транспортту тандоо" функциясын жокко чыгаруу үчүн. адаптер ылдамдыгы: 1000 kHz cortex_m reset_config sysresetreq Маалымат: tcl байланыштары үчүн 6666 портунда угуу Маалымат: 4444 портунда телет байланыштары үчүн угуу Маалымат: CMSIS-DAP: SWD Колдоого алынган маалымат: CMSIS-DAP: FW версиясы = 1.10 Маалымат: CMSIS-DAP: Interface Initialised (SWD) Info: SWCLK/TCK = 1 SWDIO/TMS = 1 TDI = 0 TDO = 0 nTRST = 0 nRESET = 1 Info: CMSIS-DAP: Interface ready Info: clock speed 1000 kHz Info: SWD DPIDR 0x2ba01477 Error: Негизги маалыматты көзөмөлдөө үчүн MEM-AP табылган жок: gdb байланыштары үчүн 3333 портунда угуу
Андан кийин терминал терезесин ачыңыз, мис. TeraTerm (Windows) же CoolTerm (Mac) жана 127.0.0.1 4444 портуна туташыңыз
Telnet терезеси а> көрсөтөт жана буйрук сабы Маалыматты көрсөтөт: tcp/4444 боюнча 'telnet' туташуусун кабыл алуу
Telnet терезесинде (б.а. TeraTerm) typenrf52.dap apreg 1 0x04this кайтарылган 0x00000000 чип корголгонун көрсөтөт. Андан кийин typenrf52.dap apreg 1 0x04 0x01 жана thennrf52.dap apreg 1 0x04 бул 0x00000001 кайтарат, бул чиптин кийинки өчүрүүдө ERASEALL деп коюлганын көрсөтөт.
Telnet туташуусун жабыңыз жана Ctrl-Cди колдонуп openOCD программасынан командалык жолго чыккыла, андан кийин nRF52 модулун кубаттагыла жана ал азыр программага даяр болот.
Эми жумшак түзмөктү жаркыратып көрүңүз.
Сиз азыр nRF52 модулун Arduinoдон программалай аласыз.
5 -кадам: SKYLAB SKB369ду программалоо
Arduino жабыңыз жана pfod_lp_nrf52 аппараттык колдоо көрсөтмөлөрүн аткаруу менен pfod_lp_nrf52 колдоосунун акыркы версиясын кайра орнотуңуз. Акыркы pfod_lp_nrf52 SKYLAB SKB369 Nano2 алмаштыруу тактасын камтыйт. Такта катары муну тандаңыз, андан кийин аны lp_BLE_TempHumidity, lp_BLE_TempHumidity_R3.zip версиясы 3 менен программалай аласыз, 2 -бөлүмдө айтылгандай.
Эгерде программалоо ишке ашпай калса. Бардык Arduino терезелерин жабыңыз, USB кабелдерин алып салыңыз, Arduino -ны өчүрүп күйгүзүңүз жана программисттин USB кабелин кайра туташтырыңыз жана nRF52 модулунун USB жабдууларын кайра туташтырып, кайра аракет кылыңыз.
Андан кийин учурдагы жана тарыхый температураны жана нымдуулукту көрсөтүү үчүн pfodApp аркылуу туташыңыз. Тарыхый сюжетти көрсөткөндөн кийин, миллисекунд убакыт белгилери бар көрсөткүчтөр мобилдик телефонуңуздун журнал файлына сакталат жана ошондой эле чийки маалымат экранында жеткиликтүү болот.
Журнал файлы ошондой эле электрондук жадыбалда датаны жана убакытты кайра түзүү үчүн зарыл болгон кошумча маалыматтарды камтыйт. Чоо -жайын билүү үчүн millis () жана pfodAppты колдонуу менен Arduino Date and Time'ди караңыз
6 -кадам: Жаңы Arduino NRF52 тактасынын аныктамасын түзүү
Жаңы nRF52 тактасын колдоо үчүн сизге а) такталар файлдары менен варианттар каталогунун астына жаңы каталогду кошуу жана б) Arduinoго жаңы тактаны кошуу үчүн board.txt файлын түзөтүү керек.
Жаңы nRF52 тактасынын вариантын кошуу
1-бөлүмдө сүрөттөлгөндөй, pfod_lp_nrf52 аппараттык колдоосун орнотуу, pfod_lp_nrf52 колдоосу менен жаңыртылган sandeepmistry пакетинин аппараттык суб-каталогун табыңыз. / Аппараттык / nRF5 / 0.6.0 / варианттар каталогун ачыңыз жана жаңы тактаңыз үчүн жаңы каталог түзүңүз, мис. variant.cpp жана pins_arduino.h Сиз аларды башка тактанын варианттары каталогдорунан көчүрө аласыз. SKYLAB_SKB369_Nano2 алмаштыруу үчүн мен алгач RedBear_BLENano2 вариантынан файлдарды көчүрдүм.
pins_arduino.h файлы
Pins_arduino.h файлын өзгөртүүнүн кажети жок. Бул жөн эле variant.h файлын камтыйт
variant.h файлы
Варианты.h файлын түзөтүп, тактаңыздын PINS_COUNT казыгынын жалпы санын аныктаңыз
ЭСКЕРТҮҮ: Sandeepmistry пакетинде NUM_DIGITAL_PINS, NUM_ANALOG_INPUTS жана NUM_ANALOG_OUTPUTS орнотуулары этибарга алынбайт
Эгерде тактаңыз аздыр -көптүр аналогдук казыктарды жеткиликтүү кылса, variants.h файлынын / * Analog Pins * / бөлүмүн жаңыртыңыз.
ЭСКЕРТҮҮ: NanoV2 жана SKYLAB такталары үчүн аналогдук казыктар санарип казыктарга A0 == D0 ж.б
Бул маанилүү эмес. Сиз Analog Киргизүүлөрдү каалаган ыңгайлуу Arduino пинине дайындай аласыз. Мисалы үчүн blue/variant.h жана blue/variant.cpp файлдарын караңыз.
NRF52832 чипинде 8 аналогдук кирүү казыгы бар, бирок SKYLAB_SKB369_Nano2 алмаштыруу тактасы алардын 6сын гана Nano2ге дал келтирет.
Variant.h файлындагы RESET_PINден башка бардык пин номерлери Arduino пин сандары. Башкача айтканда #define PIN_A0 (0) arduino эскизиндеги D0 A0 менен бирдей экенин билдирет. RESET_PIN өзгөчө болуп саналат. Бул сан nRF52823 чиптин пин номери жана 21 гана туура чечим. Бирок pfod_lp_nrf52 колдоосу nRF52832деги баштапкы абалга келтирүү түйүнүн иштете албайт.
variant.cpp файлы
Variant.cpp файлында бир гана жазуу бар, g_ADigitalPinMap массиви Arduino пин сандарын nRF52832 микросхемасы P0 менен байланыштырат.
ЭСКЕРТҮҮ: NanoV2 жана SKYLAB такталарында, Arduino аналогдук пиндери A0, A1… Arduino санариптик D0, D1 төөнөгүчтөрү менен бирдей … ошондуктан g_ADigitalPinMap тин биринчи жазуулары nRF52832 чипиндеги AINx пин сандарына карта салышы керек
Аналогдук кирүүлөр үчүн тактаңыз жеткиликтүү болот, g_ADigitalPinMap теги жазуулар nRF52832 AIN0, AIN1, AIN2 ж. б.а. AIN0 чип пин P0.02, AIN1 чип пин P0.03 ж.б. жогорудагы nRF52832 пин макетин караңыз.
Жараксыз салыштыруулар үчүн (uint32_t) -1 колдонуңуз. Мисалы, SKYLAB_SKB369_Nano2 алмаштыруу тактасында LED D13 орнотулган эмес, андыктан анын орду (uint32_t) -1 менен салыштырылат
Pfod_lp_nrf52.zip-де Redbear NanoV2, SKYLAB SKB369 жана GT832E_01 варианттарынын суб-каталогдорунда variant.cpp тарабынан орнотулган карталарды көрсөтүүчү сүрөттөр бар. (Жогорудагы сүрөттөрдү караңыз)
SKYLAB SKB369 учурда, тандоо үчүн көптөгөн казыктар бар. NanoV2ге дал келүү үчүн карталар гана жетиштүү. GT832E_01 учурда, бардык жеткиликтүү казыктарды картага түшүрүү керек. Ошондо да NanoV2деги алты (6) ордуна үч гана (3) аналогдук кириш бар. Ошондой эле, бул эки NFC казыгы, P0.09 жана P0.10, GPIO катары кайра конфигурацияланышы керек. Төмөндө GPO катары nRF52 NFC казыктарын кайра конфигурациялоону караңыз.
Board.txt файлын жаңыртуу
Бул жерде SKYLAB_SKB369_Nano2 алмаштыруу жазуулары board.txt файлында.
## SKYLAB_SKB369 Nano2 алмаштырууSKYLAB_SKB369_NANO2_REPLACEMENT.name =*SKYLAB SKB369 Nano2 алмаштыруу
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_script_upload_max SKYLAB_SKB369_NANO2_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 = hard -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 Орнотуулар
Комментарийлер - # менен башталган саптар комментарийлер.
Префикс - ар бир такта өзүнүн баалуулуктарын аныктоо үчүн уникалдуу префикске муктаж. Бул жерде префикс - SKYLAB_SKB369_NANO2_REPLACEMENT.
Аты - SKYLAB_SKB369_NANO2_REPLACEMENT.name линиясы бул тактанын атын Ардуинонун такта менюсунда көрсөтүү үчүн көрсөтөт.
Жүктөө куралы - SKYLAB_SKB369_NANO2_REPLACEMENT.upload блогу жүктөө үчүн кайсы куралды колдонууну көрсөтөт. Эгерде сиз Бөлүкчөлөрдү оңдогучту колдонуп жатсаңыз, анда жогоруда көрсөтүлгөндөй протокол = cmsis-dapты колдонуңуз.
Жүктөгүч - Бул сызык бул board.txtтеги бардык такталар үчүн бирдей
Build - Бул блокто эки гана линияны жаңыртуу керек. SKYLAB_SKB369_NANO2_REPLACEMENT.build.variant сабы бул тактанын каталог атын Variant суб-каталогунда көрсөтөт. SKYLAB_SKB369_NANO2_REPLACEMENT.build.board - бул ARDUINO_го кошулган, андан кийин кодду түзүүдө аныкталган маани. мис. -DARDUINO_SKYLAB_SKB369_Nano2 алмаштыруу Бул белгилүү бир такталар үчүн коддун бөлүктөрүн иштетүүгө/өчүрүүгө мүмкүндүк берет.
Төмөн жыштык сааты - Бул сызык, SKYLAB_SKB369_NANO2_REPLACEMENT.menu.lfclk.lfrc.build.lfclk_flags, lp_timer үчүн колдонулган төмөнкү жыштыктагы сааттын булагын көрсөтөт. Үч вариант бар, -DUSE_LFXO, -DUSE_LFRC жана -DUSE_LFSYNT. Эң жакшы тандоо -DUSE_LFXO, эгер тактада тышкы 32 кГц кристаллы болсо. Болбосо, ички RC осцилляторун колдонгон жана бир аз көбүрөөк ток тарткан -DUSE_LFRC колдонуңуз, ~ 10uA көбүрөөк, жана анча так эмес. -DUSE_LFSYNTти колдонбоңуз, анткени бул микросхеманын дайыма иштешин камсыз кылат, натыйжада mAs учурдагы утушка алып келет.
Softdevice - pfod_lp_nrf52 nRF52 чиптерин жана softdevice s132ди гана колдойт, андыктан префикстен башка бул блокко эч кандай өзгөрүүнүн кереги жок.
NRF52 NFC казыктарын GPIO катары кайра конфигурациялоо
NRF52 казыктарында демейки болгула, P0.09 жана P0.10 NFC катары колдонуу үчүн конфигурацияланган жана NFC антеннасына туташууну күтүшөт. Эгерде сиз буларды жалпы максаттуу I/O төөнөгүчтөрү (GPIO) катары колдонушуңуз керек болсо, анда сиз тактаны кошуп алышыңыз керек, --DCONFIG_NFCT_PINS_AS_GPIOS, board.tok.txt файлындагы меню.softdevice.s132.build.extra_flags компиляцияларын.
Мисалы pfod_lp_nrf52.zip, GT832E_01 төөнөгүчтөрүн I/O катары колдонуу үчүн кайра конфигурациялайт. Taxt.txt файлындагы GT832E_01 бөлүмүндө төмөнкү аныктама кошулган
GT832E_01.menu.softdevice.s132.build.extra_flags = -DNRF52 -DS132 -DNRF51_S132 -DCONFIG_NFCT_PINS_AS_GPIOS
Pfod_lp_nrf52.zipдеги шилтемечи скрипти да бул жөндөөнү сактап калуу үчүн өзгөртүлгөн жана өзгөртүүнүн кажети жок.
7 -кадам: Жыйынтык
Бул окуу куралы SKYLAB SKB369 модулун колдонуп, Redbear NanoV2ди алмаштырууну сунуштады. SKYLAB модулу үчүн Ардуинодо батарейка/күн энергиясы менен иштөөчү Температура Нымдуулугунун Монитору абдан аз кубаттуу BLE долбоору катары колдонулган. ~ 29uA менен камсыздоо токтору, байланыш параметрлерин тууралоо аркылуу жетишилет. Бул CR2032 монета клеткасынын батареясынын иштөө мөөнөтүн ~ 10 айга жеткирди. Жогорку кубаттуулуктагы монета клеткалары жана батареялары үчүн узунураак. Эки арзан күн батареясын кошуу батарейканын иштөө мөөнөтүн 50% же андан көпкө узартты. Мониторду күн батареяларынан иштетүү үчүн бөлмөнүн жарыгы же стол чырагы жетиштүү.
Бул окуу куралы ошондой эле алдын ала программаланган nRF52ден чип коргоону алып салууну жана жеке ПХБ/схемаңызга дал келген жаңы тактаны кантип орнотууну камтыйт.
Эч кандай Android программалоо талап кылынат. pfodApp мунун баарын чечет.
Сунушталууда:
DIY жөнгө салынуучу туруктуу жүк (Учурдагы жана кубаттуу): 6 кадам (Сүрөттөр менен)
DIY жөнгө салынуучу туруктуу жүк (Учурдагы жана кубаттуулуктагы): Бул долбоордо мен сизге Arduino Nano, учурдагы сенсор, ЖК, айлануучу коддоочу жана башка бир нече кошумча компоненттерди кантип жөнгө салынуучу туруктуу жүктү түзүү үчүн бириктиргенимди көрсөтөм. Бул туруктуу ток жана кубат режимин камтыйт
Велосипед үчүн жогорку кубаттуу LED фарасын кантип жасаса болот: 4 кадам (сүрөттөр менен)
Велосипед үчүн жогорку кубаттуулуктагы LED фарасын кантип жасаса болот: Тун көрүү жана коопсуздук үчүн түнкүсүн велосипед тээп жүргөндө жаркыраган жарыкка ээ болуу дайыма ыңгайлуу. Ошондой эле караңгы жерлерде башкаларды эскертип, кырсыктардан сактайт. Ошентип, бул көрсөтмөдө мен 100 ватт LED ди кантип орнотууну жана орнотууну көрсөтөм
IPhone 6 Plus Батареясын алмаштыруу: Ички Батареяны алмаштыруу боюнча көрсөтмө: 12 кадам (Сүрөттөр менен)
IPhone 6 Plus Батарейкасын алмаштыруу: Ички Батареяны алмаштыруу боюнча көрсөтмө: Эй балдар, мен бир аз мурун iPhone 6 батарейкасын алмаштыруу боюнча көрсөтмө бердим жана бул көп адамдарга жардам берген окшойт, бул жерде iPhone 6+ үчүн колдонмо. IPhone 6 жана 6+ окшош түзүлүшкө ээ, ачык өлчөмдөгү айырмачылыктан башка. Бар
Жогорку кубаттуу, узун диапазондуу, өтө так калем жаа !!!: 6 кадам
Жогорку кубаттуу, узун диапазондуу, өтө так калем жаасы !!!: Бул дагы ошол атактуу калемдик жаалардын бири !!! =) Ырахат! P.S. Бул нерселер кандайдыр бир күчтүү, кимдир бирөөнү көздөбөңүз. ЭСКЕРТҮҮ: Муну менен бир нерсе сындырсаңыз, мени сотко бере албайсыз. Анын ичинде адамдар менен жаныбарлар. Бул менин биринчи үйрөтүлүүчү өтүнүчүм
Өтө кичинекей робот жасаңыз: Дүйнөнүн эң кичинекей дөңгөлөктүү роботун туткун менен жасаңыз.: 9 кадам (сүрөттөр менен)
Өтө кичинекей роботту куруңуз: Дүйнөнүн эң кичинекей дөңгөлөктүү роботун туткун менен жасаңыз: 1/20 куб дюймдук роботту кичинекей нерселерди алып, жылдыра турган туткасы менен куруңуз. Бул Picaxe микроконтроллери тарабынан башкарылат. Бул учурда, менимче, бул дүйнөдөгү эң кичинекей дөңгөлөктүү робот болушу мүмкүн. Бул шексиз болот