Tartalomjegyzék:
- 1. lépés: Miért Nano V2 csere?
- 2. lépés: Alkatrész kiválasztása és felépítése
- 3. lépés: Építés
- 4. lépés: Az NRF52 kódolásvédelmi zászló eltávolítása
- 5. lépés: A SKYLAB SKB369 programozása
- 6. lépés: Új Arduino NRF52 kártya definíció létrehozása
- 7. lépés: Következtetés
Videó: Egyszerű, nagyon alacsony teljesítményű BLE az Arduino 3. részében - Nano V2 csere - Rev 3: 7 lépés (képekkel)
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:41
Frissítés: 2019. április 7.
Frissítés: 2019. március 24
Bevezetés
Ez az oktatóanyag, a Redbear Nano V2 csere, a 3. rész 3. része. Ez a projekt 2. felülvizsgálata. A Revision 2 PCB tartalmazza a gombelem és az érzékelő felszerelését, egyszerűsíti a konstrukciót és javítja a levegő áramlását az érzékelő körül, miközben védi a közvetlen napfénytől. Az 1 -es verzió itt van.
1. rész - Nagyon kis teljesítményű BLE eszközök egyszerűvé tétele az Arduino burkolatokkal Az Arduino beállítása az nRF52 kis teljesítményű eszközök kódolására, a programozó modul és a tápáram mérése. Ezenkívül kiterjed a speciális kis fogyasztású időzítőkre és összehasonlítókra, valamint a visszakapcsolt bemenetekre, valamint a pfodApp használatával az nRF52 eszközhöz való csatlakozáshoz és vezérléshez.
2. rész - Egy nagyon alacsony energiafogyasztású hőmérséklet -páratartalom -monitor fedezi a Redbear Nano V2 modult és a Si7021 hőmérséklet- / páratartalom -érzékelőt, hogy kis teljesítményű akkumulátort / napelem -monitort építsen. Magában foglalja továbbá a Si7021 könyvtár alacsony energiaigényűre történő módosítását, a BLE eszköz beállítását, hogy áramfogyasztását <29uA -ra csökkentse, és egyedi hőmérséklet/páratartalom kijelzőt tervezzen a mobiljához.
3. rész - A Redbear Nano V2 csere, ez a Nano V2 helyett más nRF52 alapú modulok használatára vonatkozik. Ez magában foglalja az ellátási alkatrészek kiválasztását, a konstrukciót, az nRF52 chip programozási védelmének eltávolítását, az NFC csapok használatát normál GPIO -ként, és egy új nRF52 kártya meghatározását az Arduino -ban.
Ez az utasítás gyakorlati része az 1. résznek: Nagyon alacsony teljesítményű BLE -eszközök építése, amelyek megkönnyítették az Arduino -t azáltal, hogy nagyon alacsony teljesítményű BLE hőmérséklet- és páratartalom -figyelőt építettek fel SKYLAB SBK369 tábla használatával, Nano V2 csereként. Ez az oktatóanyag bemutatja, hogyan hozhat létre új tábladefiníciót, és hogyan távolíthatja el az nRF52 programozási védelmet, hogy lehetővé tegye annak újraprogramozását. Ez az oktatóanyag ugyanazt a vázlatot használja, mint a 2. rész, ugyanazokkal a hangolt BLE paraméterekkel az alacsony energiafogyasztás érdekében, és akkumulátorról VAGY elemről + szoláris VAGY szolárról működtethető. A BLE paraméterek kis teljesítményre történő hangolását a 2. rész ismertette
Az lp_BLE_TempHumidity 3. verziója ábrázolja az adatokat a dátum és az idő függvényében, csak az Arduino millis () használatával. Lásd: Arduino Dátum és idő a millis () és a pfodApp használatával a pfodApp legújabb verziójával (V3.0.362+).
A pfod_lp_nrf52.zip 4. verziója támogatja a GT832E_01 modult is, és ez az oktatóanyag kiterjed az NFC nRF52 csapok szabványos GPIO -k használatára.
Az itt felépített monitor évekig működik Coin Cell vagy 2 x AAA elemekkel, napelemes asszisztenssel még tovább. Az aktuális hőmérséklet és páratartalom megjelenítése mellett a monitor tárolja az utolsó 36 óra 10 perces leolvasást és az utolsó 10 nap óránkénti leolvasását. Ezeket az Android mobilján lehet diagramozni, és a naplófájlba mentett értékeket. Nincs szükség Android programozásra, a pfodApp mindezt kezeli. Az Android kijelzőjét és diagramját teljesen az Arduino vázlata vezérli, így igény szerint testreszabhatja.
A 2. rész Redbear Nano V2 táblát használt az nRF52832 BLE komponenshez. Ez a projekt ezt helyettesíti egy olcsóbb SKYLAB SKB369 táblával. A 2. részhez hasonlóan a Sparkfun Si7021 kitörőtáblát használják a hőmérséklet / páratartalom érzékelőhöz. A Si7021 készülékkel módosított, kis fogyasztású könyvtárat használnak.
1. lépés: Miért Nano V2 csere?
i) A Nano V2 néhány hónapig nem volt gyártva, és úgy tűnik, nem illeszkedik a Particle.io termékcsaládba, így nem világos, hogy mennyi ideig lesz elérhető.
ii) A Nano V2 drágább. Ugyanakkor extra funkciókkal is rendelkezik. Lásd lejjebb.
iii) A Nano V2 mindkét oldalán alkatrészek találhatók, ami magasabb profilt biztosít és megnehezíti a felszerelést.
iv) A Nano V2 korlátozott számú I/O érintkezővel rendelkezik, és a D6 - D10 használatához repülő vezetékek szükségesek.
Bár a Nano V2 kártya drágább, mint a SKYLAB SKB369 kártya, ~ US17 versus ~ US5, a Nano V2 több funkcióval rendelkezik. A Nano V2 tartalmaz egy 3,3 V -os szabályozót és tápkondenzátorokat, az nRF52 DC/DC átalakító opció használatához szükséges kiegészítő alkatrészeket, egy chip antennát és egy uFL SMT antennacsatlakozót.
Egy másik alternatíva a www.homesmartmesh.com által használt GT832E_01 modul. A pfod_lp_nrf52.zip 4. verziója támogatja a GT832E_01 modul programozását is. A SKYLAB SKB369 és a GT832E_01 elérhető a https://www.aliexpress.com webhelyen
A Redbear (Particle.io) csupasz modullal is rendelkezik, 3V3 szabályozó, DC/DC komponensek vagy 32Khz kristálykomponensek nélkül.
Vázlat
Ez a projekt 4 relatív független részből áll:-
Alkatrész kiválasztása és felépítése Az nRF52 kódolási védelmi zászló eltávolítása és a vázlat programozása Új Arduino nRF52 kártya definíció létrehozása Az nRF52 NFC csapok újrakonfigurálása GPIO -ként
2. lépés: Alkatrész kiválasztása és felépítése
Alkatrész kiválasztása
A 2. részben kiválasztott nRF52832 és Si7021 komponenseken kívül ez a projekt hozzáad egy 3.3V -os szabályozót és tápkondenzátorokat.
Feszültségszabályozó alkatrész
Az itt használt szabályozó az MC87LC33-NRT. Akár 12 V -os bemenetet is képes kezelni, és nyugalmi árama <3,6uA, jellemzően 1,1uA. A Nano V2 egy TLV704 szabályozónál valamivel nagyobb nyugalmi árammal rendelkezik, jellemzően 3,4uA, és képes kezelni a magasabb bemeneti feszültségeket, akár 24 V -ot. Az MC87LC33-NRT-t választották helyette, mert az adatlapja meghatározza, hogyan reagál, amikor a bemeneti feszültség 3,3 V alá csökken, ahol a TLV704 adatlap nem.
A TLV704 minimum 2,5 V bemeneti feszültséget határoz meg, és az adatlapból nem derül ki, hogy mi fog történni alatta. Az nRF52832 1,7 V -ra, a Si7023 pedig 1,9 V feszültségre csökken. Az MC87LC33-NRT viszont a bemeneti/kimeneti feszültségkülönbségeket 0 V-ig határozza meg kis áramok esetén (az adatlap 18. ábrája). Tekintettel az alkatrészek választására, az MC87LC33-NRT-t választották, mert rendelkezik a megadott teljesítménnyel.
Ellátási kondenzátorok
Az MC87LC33-NRT szabályozónak szüksége van néhány tápkondenzátorra a stabilitás és a válasz érdekében. > 0,1uF> kimeneti kondenzátor ajánlott az adatlapon. A SKYLAB SBK369 10uF/0,1uF kondenzátorokat is előír a tápegységhez a tábla közelében. A nagyobb kondenzátorok segítik az nRF52 TX áramcsúcsok ellátását. Itt 4 x 22uF 25V és 3 x 0,1uF 50V kerámia kondenzátorokat használtak. Egy 22uF és 0,1uF kondenzátort helyeztünk az SKYLAB SBK369 közelébe, 0,1uF-ot az MC87LC33-NRT kimenetéhez, a stabilitás biztosítása érdekében, 22uF és 0,1uF pedig az MC87LC33-NRT bemenetére, és egy további 2 x 22uF kondenzátor, ahol a Vin/GND csapokon keresztül forrasztottak további áramtartályként. Összehasonlításképpen, a NanoV2 kártya 22uF / 0,1uF a TLV704 szabályozó bemenetén és 0,1uF a kimenetén.
Az extraáramú tározó kondenzátorokat a 3,3 V -os szabályozó bemenetére szereltük fel, hogy napelemekkel való üzemeltetéskor nagyobb feszültségre töltsék fel őket. A magasabb feszültségre való feltöltés nagyobb áram tárolását jelenti a Tx tüskék ellátásához.
A kerámia X5R kondenzátorokat azért használják, mert alacsony soros ellenállással és alacsony szivárgási árammal rendelkeznek. Az ellenállás jellemzően 100, 000MΩ vagy 1000MΩ - µF, ami valaha kisebb. Tehát 22uF esetén 22000MΩ, azaz 0,15 nA szivárgás 3,3 V vagy 0,6 nA esetén a négy 22uF kondenzátor esetében. Ez elhanyagolható. Összehasonlításképpen: Alacsony ESR, alacsony szivárgás A Panasonic elektrolit kondenzátorok szivárgási árama <0,01 CV. Tehát egy 22uF 16V -os kondenzátor esetében a szivárgás <10uA. Megjegyzés: Ez a szivárgás a névleges feszültségnél, ebben az esetben 16V. A szivárgás alacsonyabb feszültségeknél kisebb, azaz <2,2uA 3,3 V -nál.
Alkatrész lista
Hozzávetőleges egységköltség 2018. decemberben, ~ 61 USD, a szállítás és az 1. rész programozója nélkül
- SKYLAB SKB369 ~ 5 USD, pl. Aliexpress
- Sparkfun Si7021 kitörőtábla ~ 8 USD
- 2 x 53mm x 30mm 0,15W 5V napelem pl. Overfly ~ 1,10 USD
- 1 x PCB SKYLAB_TempHumiditySensor_R2.zip ~ 25 USD 5 kedvezményért www.pcbcart.com
- 1 x MC78LC33 3.3V szabályozó, pl. Digikey MC78LC33NTRGOSCT-ND ~ 1 USD
- 2 x 0,1uF 50V kerámia C1608X5R1H104K080A pl. Digikey 445-7456-1-ND ~ 0,3 USD
- 4 x 22uF 16V kerámia GRM21BR61C226ME44L pl. Digikey 490-10747-1-ND ~ 2 USD
- 1 x BAT54CW, pl. Digikey 497-12749-1-ND ~ 0,5 USD
- 1 x 470R 0,5W 1% -os ellenállás pl. Digikey 541-470TCT-ND ~ 0,25 USD
- 1 x 10V 1W zener SMAZ10-13-F pl. Digikey SMAZ10-FDICT-ND ~ 0,5 USD
- 3mm x 12mm nylon csavarok, pl. Jaycar HP0140 ~ 3 AUD
- 3 mm x 12 mm -es nylon anyák, pl. Jaycar HP0146 ~ 3 AUD
- Scotch tartós rögzítőszalag Cat 4010 pl. az Amazon -tól ~ 6,6 USD
- CR2032 elemtartó, pl. HU2032-LF ~ 1,5 USD
- CR2032 akkumulátor ~ 1 USD
- Perspex lemez, 3,5 mm és 8 mm
- pfodApp ~ 10 USD
- Forrasztópaszta pl. Jaycar NS-3046 ~ 13 AUD
3. lépés: Építés
A projekt egy kis NYÁK -ra épül. A NYÁK -ot a pcbcart.com gyártotta ezekből a Gerber -fájlokból, SKYLAB_TempHumiditySensor_R2.zip. A NYÁK utánozza a Nano V2 csatlakozót, és elég általános célú ahhoz, hogy más BLE projektekhez is használható legyen.
Ez a vázlat (pdf verzió)
Először forrasztja be az SMD alkatrészeket, majd szerelje fel a SKYLAB SKB369 lapot
Szinte minden alkatrész felületre szerelhető eszköz (SMD). A kondenzátorokat és az IC -ket nehéz lehet kézzel forrasztani. A javasolt módszer az, hogy a PCB -t satuban tartsuk, és kis mennyiségű forrasztópasztát vigyünk a párnákra, és helyezzük az SMD alkatrészeket, kivéve az SKB369 lapot a NYÁK -ra. Ezután hőpisztoly segítségével melegítse fel a NYÁK alsó oldalát, amíg a forrasztópaszta el nem olvad, majd gyorsan haladjon át a tábla tetején, ügyelve arra, hogy ne fújja le az alkatrészeket. Végül érintse meg az alkatrészeket egy kis hegyes forrasztópáka segítségével. Legyen óvatos a kondenzátorokkal és az ellenállással, mivel könnyen megolvasztható mindkét vége, és az alkatrészek kilazulhatnak az egyik vég forrasztása közben.
Ez a felülvizsgálat további 22uF 16V kerámia kondenzátorokat ad hozzá. Ezek az extra kondenzátorok csökkentik az akkumulátor áramfelvételét, és csökkentik a feszültségcsökkenést is, ha a napelemekről táplálják. Mindaddig, amíg a napelemek feszültsége az akkumulátor feszültsége felett marad, addig az akkumulátor nem vesz áramot.
Az SMD alkatrészek felszerelése után forraszthat a SKYLAB SKB369 táblába. Az SKB369 fülek egyik oldalán két tesztpont lyuk található. Használjon két csapot egy kartondobozba az SKB369 tábla elhelyezéséhez, és óvatosan igazítsa a csapokat. (Lásd a fenti példaképet a Revision 1 NYÁK használatával.) Ezután forrasztja az ellenkező oldal egyik csapját, hogy a táblát a helyén tartsa, mielőtt a többi tüskét forrasztja.
Vegye figyelembe a Gnd összekötő vezetéket a CLK -tól a GND -ig a kész részben. Ezt a programozás UTÁN telepíti, hogy megakadályozza, hogy a CLK bemenet zajja az nRF52 chipet nagy áramú hibakeresési módba kapcsolja
Szerelő tok
A rögzítő tok két perspex darabból készült, 110 mm x 35 mm, 3 mm vastag. A 3,5 mm -es darabot a napelemek alatt megérintették, hogy elvegyék a 3 mm -es nylon csavarokat. Ez a felülvizsgált konstrukció egyszerűsíti az 1. verziót, és javítja a levegő áramlását az érzékelő körül. A két végén található további lyukak a szereléshez szolgálnak, például kábelkötegek segítségével.
4. lépés: Az NRF52 kódolásvédelmi zászló eltávolítása
Csatlakoztassa a hőmérséklet/páratartalom kártyát az 1. részben leírt programozóhoz a fentiek szerint.
A napelemek és az elemek kihúzásakor a Vin és Gnd a programozó Vdd és Gnd (sárga és zöld vezetékei), az SWCLK és SWDIO pedig a programozó fejlécének Clk és SIO csatlakozójához (a fehér és szürke vezetékek) kapcsolódnak.
Az nRF52 programvédelem eltávolítása
A Nordic Semi - Debug and Trace oldalról DAP - Debug Access Port. Egy külső hibakereső hozzáférhet az eszközhöz a DAP -on keresztül. A DAP szabványos ARM® CoreSight ™ soros vezetékes hibakeresési portot (SW-DP) valósít meg. Az SW-DP megvalósítja a soros vezeték hibakeresési protokollt (SWD), amely kétpólusú soros interfész, SWDCLK és SWDIO
Fontos: Az SWDIO vonal belső felhúzó ellenállással rendelkezik. Az SWDCLK vezeték belső lehúzható ellenállással rendelkezik.
CTRL -AP - Hozzáférési port vezérlése. A vezérlő hozzáférési port (CTRL-AP) egy egyéni hozzáférési port, amely lehetővé teszi az eszköz vezérlését akkor is, ha a hozzáférési port védelme letiltja a DAP többi hozzáférési portját. A hozzáférési port védelem blokkolja a hibakereső olvasási és írási hozzáférését az összes CPU-regiszterhez és memórialeképezett címhez. Kapcsolja ki a hozzáférési port védelmét. A hozzáférési port védelme csak akkor tiltható le, ha a CTRL-AP-n keresztül ERASEALL parancsot ad ki. Ez a parancs törli a Flash -t, az UICR -t és a RAM -ot.
Válassza ki a CMSIS-DAP programozót a Particle Debugger programozásához, majd válassza az nRF5 Flash SoftDevice lehetőséget
Ha a vaku működik, akkor ez rendben van, de gyakran a modulok védve vannak az újraprogramozás ellen, és ezt a hibaüzenetet az Arduino ablakban kapja meg
Open On-Chip Debugger 0.10.0-dev-00254-g696fc0a (2016-04-10-10: 13) GNU GPL v2 licenc alatt Hibabejelentésekért olvassa el a következő címet: debug_level: 2 Info: csak egy szállítási lehetőség; automatikus "swd" adapter sebesség: 10000 kHz cortex_m reset_config sysresetreq Információ: CMSIS-DAP: SWD Támogatott információ: CMSIS-DAP: Interfész inicializált (SWD) Információ: CMSIS-DAP: FW verzió = 1.10 Információ: SWCLK/TCK = 1 SWDIO/ TMS = 1 TDI = 0 TDO = 0 nTRST = 0 nRESET = 1 Info: CMSIS-DAP: Interface ready Info: sebességcsökkentés kérése: 10000kHz-5000kHz maximum Info: órajel 10000 kHz Info: SWD IDCODE 0x2ba01477 Hiba: Nem található MEM -AP a mag vezérléséhez Hiba: A célt még nem vizsgálták Hiba a SoftDevice villogása közben.
Ebben az esetben be kell állítania az ERASEALL parancsregisztert az nRF52 -ben, hogy törölje a memóriát, és újra programozhatóvá tegye az eszközt. Az OpenOCD sandeepmistry nRF52 verziója nem tartalmazza az ERASEALL parancsregiszterbe íráshoz szükséges apreg parancsot, ezért telepítenie kell egy újabb verziót.
Telepítse az OpenOCD OpenOCD-20181130 vagy újabb verzióját. A Windows előre lefordított verziója elérhető a https://gnutoolchains.com/arm-eabi/openocd/ webhelyről. A legújabb kód a https://gnutoolchains.com/arm-eabi/openocd/ címen érhető el
Nyisson meg egy parancssort, és módosítsa a dir parancsot az OpenOCD telepítési könyvtárába, és írja be a parancsot
bin / openocd.exe -d2 -f interfész/cmsis -dap.cfg -f target/nrf52.cfg
A válasz az
Open On-Chip Debugger 0.10.0 (2018-11-30) [https://github.com/sysprogs/openocd]Licensed by GNU GPL v2 A hibabejelentésekért olvassa el a következő címet: bugs.html debug_level: 2 Információ: az első elérhető munkamenet-szállítás "swd" automatikus kiválasztása. A felülbíráláshoz használja a 'transport select' lehetőséget. adapter sebessége: 1000 kHz cortex_m reset_config sysresetreq Info: Hallgatás a 6666-os porton tcl kapcsolatokhoz Info: Hallgatás a 4444-es porton telnet kapcsolatokhoz Info: CMSIS-DAP: SWD Támogatott információ: CMSIS-DAP: FW verzió = 1.10 Információ: CMSIS-DAP: Interfész inicializált (SWD) információ: SWCLK/TCK = 1 SWDIO/TMS = 1 TDI = 0 TDO = 0 nTRST = 0 nRESET = 1 Info: CMSIS-DAP: Interface ready Info: órajel 1000 kHz Info: SWD DPIDR 0x2ba01477 Hiba: Nem található MEM-AP a vezérléshez. Info: Figyelem a 3333-as porton gdb-kapcsolatokhoz
Ezután nyisson meg egy terminál ablakot pl. TeraTerm (Windows) vagy CoolTerm (Mac), és csatlakozzon a 127.0.0.1 4444 -es porthoz
A telnet ablakban megjelenik a>, a parancssorban pedig az Info: Telnet kapcsolat elfogadása a tcp/4444 -en
A telnet ablakban (azaz TeraTerm) typenrf52.dap apreg 1 0x04ez 0x00000000 értéket ad vissza, amely azt mutatja, hogy a chip védett. Ekkor a typenrf52.dap apreg 1 0x04 0x01és thennrf52.dap apreg 1 0x04this 0x00000001 értéket ad vissza, ami azt mutatja, hogy a chip a következő újraindításkor ERASEALL értékre van állítva.
Zárja be a telnet kapcsolatot, és a Ctrl-C billentyűvel lépjen ki az openOCD programból a parancssorban, majd kapcsolja be az nRF52 modult, és készen áll a programozásra.
Most próbálja meg újra villogni a lágy eszközt.
Most már programozhatja az nRF52 modult az Arduino programból.
5. lépés: A SKYLAB SKB369 programozása
Zárja be az Arduino alkalmazást, és telepítse újra a pfod_lp_nrf52 támogatás legújabb verzióját a Pfod_lp_nrf52 telepítése hardvertámogatási utasítások követésével. A legújabb pfod_lp_nrf52 tartalmazza a SKYLAB SKB369 Nano2 cserelapot. Válassza ki ezt táblának, majd programozhatja az lp_BLE_TempHumidity 3. verziójával, lp_BLE_TempHumidity_R3.zip -vel, a 2. részben leírtak szerint.
Ha a programozás sikertelen. Zárja be az összes Arduino ablakot, húzza ki az USB -kábeleket, indítsa újra az Arduino -t, és dugja vissza a programozó USB -kábelét, majd csatlakoztassa vissza az nRF52 modul USB -tápellátását, és próbálja újra.
Ezután csatlakozzon a pfodApp segítségével az aktuális és korábbi hőmérséklet és páratartalom megjelenítéséhez. Miután megjelenítette az előzményeket, a leolvasott értékek ezredmásodperces időbélyegzővel kerülnek mentésre a naplófájlba a mobilján, és elérhetők a nyers adatok képernyőn is.
A naplófájl tartalmazza azokat a további adatokat is, amelyek szükségesek a dátum- és időábrák újbóli létrehozásához egy táblázatban. A részletekért lásd az Arduino dátumát és idejét a millis () és a pfodApp használatával
6. lépés: Új Arduino NRF52 kártya definíció létrehozása
Egy új nRF52 tábla támogatásához a) hozzá kell adnia egy új könyvtárat a változatok könyvtárához a táblafájlokkal, és b) szerkeszteni kell a boards.txt fájlt, hogy hozzáadja az új táblát az Arduino -hoz.
Új nRF52 kártya változat hozzáadása
Az 1. részben leírtak szerint, A pfod_lp_nrf52 hardvertámogatás telepítése, keresse meg a sandeepmistry csomag hardver alkönyvtárát, amelyet a pfod_lp_nrf52 támogatással frissített. Nyissa meg a / hardware / nRF5 / 0.6.0 / variants alkönyvtárat, és hozzon létre egy új könyvtárat az új táblához, pl. variant.cpp és pins_arduino.h Másolhatja őket a többi táblavariáns könyvtárból. A SKYLAB_SKB369_Nano2pótláshoz eredetileg a RedBear_BLENano2 változatból másoltam a fájlokat.
pins_arduino.h fájl
A pins_arduino.h fájlt nem kell módosítani. Csak a Variant.h fájlt tartalmazza
variant.h fájl
Szerkessze a Variant.h fájlt, hogy meghatározza a táblán lévő összes PIN -kódot, PINS_COUNT
MEGJEGYZÉS: A sandeepmistry csomagban NUM_DIGITAL_PINS, NUM_ANALOG_INPUTS és NUM_ANALOG_OUTPUTS beállítást figyelmen kívül hagynak
Ha az alaplap többé -kevésbé analóg tűket tesz elérhetővé, frissítse a /.analóg tűk * / részt a variants.h fájlban.
MEGJEGYZÉS: A NanoV2 és SKYLAB kártyák esetén az analóg érintkezők a digitális tüskékhez vannak leképezve A0 == D0 stb
Ez nem elengedhetetlen. Az analóg bemeneteket bármelyik kényelmes Arduino tűhöz rendelheti. Lásd például a blue/variant.h és a blue/variant.cpp fájlokat.
Az nRF52832 chip 8 analóg bemeneti tűvel rendelkezik, de az SKYLAB_SKB369_Nano2 cserelap csak 6 -ot tesz elérhetővé a Nano2 -hez.
A Variant.h fájl összes PIN -kódja, a RESET_PIN kivételével, Arduino pin -szám. Vagyis a #define PIN_A0 (0) azt jelenti, hogy az arduino vázlat D0 ugyanaz a pin, mint az A0. A RESET_PIN kivétel. Ez a szám az nRF52823 chip pin száma, és a 21 az egyetlen érvényes választás. A pfod_lp_nrf52 támogatás azonban nem teszi lehetővé az nRF52832 nullázócsapját
variant.cpp fájl
A Variant.cpp fájlban csak egy bejegyzés található, a g_ADigitalPinMap tömb, amely leképezi az Arduino pin -számokat az nRF52832 P0 chiphez.
MEGJEGYZÉS: A NanoV2 és SKYLAB kártyákon az A0, A1… Arduino analóg érintkezők megegyeznek az Arduino D0, D1… digitális tűivel, ezért a g_ADigitalPinMap első bejegyzéseit KELL KAPCSOLNI az nRF52832 chipen található AINx pin számokkal
Az alaplap által rendelkezésre bocsátott analóg bemenetekhez a g_ADigitalPinMap bejegyzéseinek le kell képezniük az nRF52832 AIN0, AIN1, AIN2 stb. Pin számokat. azaz az AIN0 a P0.02 chipes tű, az AIN1 a P0.03 chipes tű stb.
Használja az (uint32_t) -1 értéket érvénytelen leképezésekhez. Például a SKYLAB_SKB369_Nano2 cserepanelben nincs beépített LED, D13, így a pozíciója az (uint32_t) -1
A pfod_lp_nrf52.zip fájlban a Redbear NanoV2, SKYLAB SKB369 és GT832E_01 változatok alkönyvtárai a Variant.cpp által beállított leképezéseket ábrázoló képeket tartalmaznak. (Lásd a fenti képeket)
A SKYLAB SKB369 esetében rengeteg csap közül lehet választani. Csak annyi van feltérképezve, hogy megfeleljen a NanoV2 -nek. A GT832E_01 esetében az összes rendelkezésre álló csapot le kell térképezni. Még akkor is csak három (3) analóg bemenet áll rendelkezésre a NanoV2 hat (6) helyett. Ezen kívül a két NFC-t, a P0.09-et és a P0.10-et újra kell konfigurálni GPIO-ként. Lásd alább az nRF52 NFC csapok újrakonfigurálása GPIO -ként.
Boards.txt fájl frissítése
Itt van a SKYLAB_SKB369_Nano2replacement bejegyzés a boards.txt fájlban.
## SKYLAB_SKB369 Nano2 csereSKYLAB_SKB369_NANO2_REPLACEMENT.name =*SKYLAB SKB369 Nano2 csere
SKYLAB_SKB369_NANO2_REPLACEMENT.upload.tool = sandeepmistry: openocd
SKYLAB_SKB369_NANO2_REPLACEMENT. SKYLAB_SKB369_NANO2_REPLACEMENT.upload.use_1200bps_touch = hamis SKYLAB_SKB369_NANO2_REPLACEMENT.upload.wait_for_upload_port = false
SKYLAB_SKB369_NANO2_REPLACEMENT.bootloader.tool = sandeepmistry: openocd
SKYLAB_SKB369_NANO2_REPLACEMENT.build.mcu = kéreg-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 = kemény -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 = 409.600 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 Beállítások
Megjegyzések - # -vel kezdődő sorok megjegyzések.
Előtag - minden tábla egyedi előtagot igényel az értékeinek azonosításához. Itt az előtag: SKYLAB_SKB369_NANO2_REPLACEMENT.
Név - A SKYLAB_SKB369_NANO2_REPLACEMENT.name sor határozza meg ennek a táblának a nevét, amelyet meg kell jeleníteni az Arduino tábla menüjében.
Feltöltő eszköz - A SKYLAB_SKB369_NANO2_REPLACEMENT.upblokk megadja, hogy melyik eszközt kell használni a feltöltéshez. Ha a Részecske-hibakeresőt használja, akkor használja a protokollt = cmsis-dap a fentiek szerint.
Bootloader - Ez a sor ugyanaz a táblákon ezen a táblán.txt
Felépítés - Ebben a blokkban csak két sort kell frissíteni. A SKYLAB_SKB369_NANO2_REPLACEMENT.build.variant sor határozza meg ennek a táblának a könyvtárnevét a változat alkönyvtárában. A SKYLAB_SKB369_NANO2_REPLACEMENT.build.board az ARDUINO_ -hoz fűzött, majd a kód összeállításakor meghatározott érték. például. -DARDUINO_SKYLAB_SKB369_Nano2replacement Ezzel engedélyezheti/letilthatja a kód egyes részeihez tartozó kódrészleteket.
Alacsony frekvenciájú óra - Ez a sor, SKYLAB_SKB369_NANO2_REPLACEMENT.menu.lfclk.lfrc.build.lfclk_flags, meghatározza az lp_timerhez használt alacsony frekvenciájú óra forrását. Három lehetőség közül választhat: -DUSE_LFXO, -DUSE_LFRC és -DUSE_LFSYNT. A legjobb választás a -DUSE_LFXO, ha a tábla külső 32 kHz -es kristályt tartalmaz. Ha nem, akkor használja a -DUSE_LFRC -t, amely belső RC oszcillátort használ, és valamivel nagyobb áramot, ~ 10uA -t vesz fel, és sokkal kevésbé pontos. Ne használja a -DUSE_LFSYNT -t, mivel ez folyamatosan fenntartja a chipet, ami mAs áramfelvételt eredményez.
Softdevice - A pfod_lp_nrf52 csak az nRF52 chipeket és a softdevice s132 -t támogatja, így az előtagon kívül nincs szükség semmilyen változtatásra ezen a blokkon.
Az nRF52 NFC csapok újrakonfigurálása GPIO -ként
Alapértelmezés szerint az nRF52 csapoknál a P0.09 és a P0.10 NFC -ként van konfigurálva, és várhatóan NFC -antennához csatlakoznak. Ha ezeket általános célú I/O pin -ként (GPIO) kell használni, akkor hozzá kell adnia egy definíciót, -DCONFIG_NFCT_PINS_AS_GPIOS, az adott tábla… menu.softdevice.s132.build.extra_flags fordítási beállításaihoz a boards.txt fájlban.
Például pfod_lp_nrf52.zip, konfigurálja újra a GT832E_01 csapokat I/O-ként való használatra. A táblához tartozó GT832E_01 szakasz, a boards.txt fájlban a következő definícióval rendelkezik
GT832E_01.menu.softdevice.s132.build.extra_flags = -DNRF52 -DS132 -DNRF51_S132 -DCONFIG_NFCT_PINS_AS_GPIOS
A pfod_lp_nrf52.zip fájlban található linker szkript is módosult a beállítás megőrzése érdekében, és nem kell módosítani.
7. lépés: Következtetés
Ez az oktatóanyag a Redbear NanoV2 helyettesítését mutatta be SKYLAB SKB369 modul használatával. Akkumulátoros/napenergiával működő hőmérséklet -páratartalom -figyelőt használtak például nagyon alacsony fogyasztású BLE projektként Arduino -ban a SKYLAB modulhoz. A ~ 29uA tápáramokat a csatlakozási paraméterek beállításával érik el. Ennek eredményeként egy CR2032 -es gombelem akkumulátor élettartama ~ 10 hónap. Hosszabb a nagyobb kapacitású érmecellákhoz és elemekhez. Két olcsó napelem hozzáadásával az akkumulátor élettartama 50% -kal vagy annál tovább meghosszabbítható. Egy erős szobafény vagy egy asztali lámpa elegendő ahhoz, hogy a monitort a napelemekről táplálja.
Ez az oktatóanyag kiterjedt a chipvédelem eltávolítására is egy előre programozott nRF52-ről, valamint arról, hogyan állíthat be új kártya definíciót a saját PCB/áramköréhez
Nincs szükség Android programozásra. A pfodApp mindezt kezeli.
Ajánlott:
Nagyon olcsó 4500 mAh teljesítményű bank készítése: 3 lépés
Hogyan készítsünk egy nagyon olcsó 4500 mAh -s Power Bank -ot: Amikor az üzletekben kerestem egy power bankot, a legolcsóbb, amit találtam, nem volt mindig megbízható, ezért ebben az oktathatóban megmutatom, hogyan lehet nagyon olcsó power bankot készíteni
Ultra alacsony teljesítményű, nagy erősítésű csőerősítő: 13 lépés (képekkel)
Ultra alacsony teljesítményű, nagy erősítésű csőerősítő: Az olyan hálószobás rockerekhez, mint én, nincs rosszabb a zajpanaszoknál. Viszont kár, hogy egy 50 W -os erősítőt olyan terhelésre akasztanak, amely szinte mindent eloszlat a melegben. Ezért megpróbáltam nagy nyereségű előerősítőt építeni, egy család alapján
Alacsony teljesítményű FM adó antenna a mezőgazdasági csövekből: 8 lépés (képekkel)
Alacsony teljesítményű FM adó antenna a mezőgazdasági csövekből: Az FM adó antenna építése nem olyan nehéz; rengeteg terv van odakint. Tervezni akartunk olyan alkatrészekből, amelyeket szinte a világ bármely pontján beszerezhet egy négy (hamarosan 16!) Közösségi állomásból, amelyet Észak -Ugandában kezdtünk
UDuino: Nagyon alacsony költségű Arduino -kompatibilis fejlesztőtábla: 7 lépés (képekkel)
UDuino: Nagyon alacsony költségű Arduino -kompatibilis fejlesztőlap: Az Arduino táblák nagyszerűek a prototípusok készítéséhez. Ezek azonban meglehetősen drágák, ha több párhuzamos projektje van, vagy ha sok projektre van szüksége egy nagyobb projekthez. Vannak nagyszerű, olcsóbb alternatívák (Boarduino, Freeduino), de
Nagyon egyszerű mégis nagyon hatékony tréfa (számítógépes tréfa): 3 lépés
Nagyon egyszerű … mégis nagyon hatékony tréfa (számítógépes tréfa): Ez az utasítás nagyon egyszerű, mégis NAGYON hatékony! Mi fog történni: Elrejti az összes ikont az áldozat asztalán. Az áldozat megijed, amikor meglátja a számítógépet, miután megcsinálta a tréfát. Ez semmilyen módon nem károsíthatja a számítógépet