Indholdsfortegnelse:
- Trin 1: Hvorfor en Nano V2 -udskiftning?
- Trin 2: Valg af komponenter og konstruktion
- Trin 3: Konstruktion
- Trin 4: Fjernelse af NRF52 -kodningsbeskyttelsesflag
- Trin 5: Programmering af SKYLAB SKB369
- Trin 6: Oprettelse af en ny Arduino NRF52 Board Definition
- Trin 7: Konklusion
Video: Let meget lav effekt BLE i Arduino del 3 - Nano V2 udskiftning - Rev 3: 7 trin (med billeder)
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-31 10:18
Opdatering: 7. april 2019 - Rev 3 af lp_BLE_TempHumidity, tilføjer plotter af dato/tid ved hjælp af pfodApp V3.0.362+og automatisk gasregulering ved afsendelse af dataOpdatering: 24. marts 2019 - Rev 2 af lp_BLE_TempHumidity, tilføjer flere plotmuligheder og i2c_ClearBus, tilføjer GT832E_01 support
>>
Introduktion
Denne vejledning, en Redbear Nano V2 -udskiftning, er del 3 af 3. Dette er revision 2 af dette projekt. Revision 2 PCB inkluderer montering til møntcellen og sensoren, forenkler konstruktionen og forbedrer luftstrømmen omkring sensoren, samtidig med at den beskytter den mod direkte sollys. Revision 1 er her.
Del 1 - Opbygning af BLE -enheder med meget lav effekt gøres let med Arduino -dæksler, der sætter Arduino op til kode nRF52 -enheder med lav effekt, programmeringsmodulet og måling af forsyningsstrømmen. Det dækker også specialiserede laveffekt -timere og komparatorer og debounced input og brug af pfodApp til at oprette forbindelse til og styre nRF52 -enheden.
Del 2 - En meget lav effekttemperaturfugtighedsmonitor dækker ved hjælp af et Redbear Nano V2 -modul og en Si7021 temperatur- / fugtighedsføler til at bygge et batteri med lav effekt / solmonitor. Det dækker også over ændring af Si7021 -biblioteket til lav effekt, tuning af BLE -enheden for at reducere dets nuværende forbrug til <29uA og designe en brugerdefineret temperatur/fugtighedsvisning til din mobil.
Del 3 - En Redbear Nano V2 -udskiftning, denne, dækker brug af andre nRF52 -baserede moduler i stedet for Nano V2. Det dækker valg af forsyningskomponenter, konstruktion, fjernelse af nRF52 -chip -programmeringsbeskyttelse, brug af NFC -ben som normal GPIO og definition af et nyt nRF52 -kort i Arduino.
Denne instruktive er en praktisk anvendelse af del 1 Bygning med meget lav effekt BLE -enheder, der er lette med Arduino ved at konstruere en meget lav effekt BLE temperatur- og fugtighedsmonitor ved hjælp af et SKYLAB SBK369 -bord som en Nano V2 -udskiftning. Denne vejledning dækker, hvordan du opretter en ny boarddefinition, og hvordan du fjerner nRF52-programmeringsbeskyttelsen, så den kan programmeres igen. Denne vejledning bruger den samme skitse som del 2 med de samme indstillede BLE -parametre til lavt strømforbrug og kan kun drives af batteri ELLER batteri + kun sol eller EL. Indstillingen af BLE -parametre for lav effekt blev dækket i del 2
Rev 3 af lp_BLE_TempHumidity tegner dataene op mod dato og klokkeslæt ved hjælp af kun Arduino millis (). Se Arduino dato og tid ved hjælp af millis () og pfodApp ved hjælp af den nyeste version af pfodApp (V3.0.362+).
Rev 4 i pfod_lp_nrf52.zip understøtter også GT832E_01 modulet, og denne vejledning dækker brug af NFC nRF52 benene som standard GPIO'er.
Skærmen, der er konstrueret her, vil køre i årevis på Coin Cell eller 2 x AAA -batterier, endnu længere med solhjælp. Ud over at vise den aktuelle temperatur og fugtighed gemmer monitoren de sidste 36 timer med 10 minutters aflæsninger og de sidste 10 dage med timeaflæsninger. Disse kan kortlægges på din Android -mobil og værdierne gemmes i en logfil. Ingen Android -programmering er påkrævet, pfodApp håndterer alt det. Android -skærmen og kortlægningen styres fuldstændigt af din Arduino -skitse, så du kan tilpasse den efter behov.
Del 2 brugte et Redbear Nano V2 -kort til nRF52832 BLE -komponenten. Dette projekt erstatter det med et billigere SKYLAB SKB369 -bord. Som i del 2 bruges et Sparkfun Si7021 breakout board til temperatur / fugtighedsføleren. Et modificeret lavt strømbibliotek bruges med Si7021.
Trin 1: Hvorfor en Nano V2 -udskiftning?
i) Nano V2 var ude af produktion i et antal måneder og ser ikke ud til at passe ind i Particle.io -serien, så det er ikke klart, hvor længe den vil være tilgængelig i.
ii) Nano V2 er dyrere. Men det har også ekstra funktioner. Se nedenunder.
iii) Nano V2 har komponenter på begge sider, hvilket giver den en højere profil og gør det vanskeligere at montere.
iv) Nano V2 har begrænsede I/O -ben til rådighed, og brug af D6 til D10 kræver flyvende elektroder.
Selvom Nano V2 -kortet er dyrere end SKYLAB SKB369 -kortet, ~ US17 versus ~ US5, har Nano V2 flere funktioner. Nano V2 indeholder en 3.3V regulator og forsyningskondensatorer, ekstra komponenter til brug af nRF52 DC/DC -omformeren, en chipantenne og et uFL SMT -antennestik.
Et andet alternativ er GT832E_01 -modulet, der bruges af www.homesmartmesh.com. Rev 4 i pfod_lp_nrf52.zip understøtter også programmering af GT832E_01 modulet. SKYLAB SKB369 og GT832E_01 er tilgængelige fra
Redbear (Particle.io) har også et bare modul uden 3V3 regulator, DC/DC komponenter eller 32Khz krystal komponenter.
Omrids
Dette projekt har 4 relative uafhængige dele:-
Komponentvalg og konstruktion Fjernelse af nRF52 -kodningsbeskyttelsesflaget og programmering af skitsen Oprettelse af en ny Arduino nRF52 -kortdefinition Omkonfiguration af nRF52 NFC -ben som GPIO'er
Trin 2: Valg af komponenter og konstruktion
Komponentvalg
Ud over komponenterne nRF52832 og Si7021, der er valgt i del 2, tilføjer dette projekt en 3.3V regulator og forsyningskondensatorer.
Spændingsregulator -komponenten
Den her anvendte regulator er MC87LC33-NRT. Det kan klare op til 12V input og har en hvilestrøm på <3,6uA, typisk 1,1uA. Nano V2 brugte en TLV704 regulator har en lidt højere hvilestrøm, typisk 3.4uA og kan klare højere indgangsspændinger, op til 24V. MC87LC33-NRT blev valgt i stedet, fordi databladet angiver, hvordan det reagerer, da indgangsspændingen falder til under 3,3V, hvor TLV704-databladet ikke gør det.
TLV704 angiver en indgangsspænding på minimum 2,5V, og det er ikke klart fra databladet, hvad der vil ske under det. NRF52832 løber ned til 1,7V, og Si7023 løber ned til 1,9V. MC87LC33-NRT angiver på den anden side input/output spændingsforskelle ned til 0V for lave strømme (figur 18 i databladet). Så i betragtning af valget af komponenter blev MC87LC33-NRT valgt, fordi den har den angivne ydelse.
Forsyningskondensatorer
MC87LC33-NRT-regulatoren har brug for nogle forsyningskondensatorer for stabilitet og respons. En udgangskondensator> 0.1uF anbefales på databladet. SKYLAB SBK369 specificerer også 10uF/0.1uF kondensatorer på forsyningen tæt på kortet. Større kondensatorer hjælper med at levere nRF52 TX nuværende pigge. Her blev 4 x 22uF 25V og 3 x 0.1uF 50V keramiske kondensatorer brugt. En 22uF og en 0.1uF kondensator blev placeret tæt på SKYLAB SBK369, en 0.1uF blev placeret tæt på output fra MC87LC33-NRT for at sikre stabilitet og en 22uF og 0.1uF blev placeret på indgangen til MC87LC33-NRT og en yderligere 2 x 22uF kondensatorer blev loddet hen over Vin/GND benene som et yderligere strømreservoir. Til sammenligning har NanoV2 -kortet en 22uF / 0.1uF på indgangen til TLV704 -regulatoren og en 0.1uF på dens output.
De ekstra strømreservoarkondensatorer blev installeret på indgangen til 3.3V -regulatoren, så de kunne oplades til en højere spænding, når de kører med solceller. Opladning til højere spænding svarer til at lagre mere strøm til at forsyne Tx pigge.
Keramiske X5R -kondensatorer bruges, fordi de har lav seriemodstand og lav lækstrøm. Modstanden er typisk 100, 000MΩ eller 1000MΩ - µF, som nogensinde er mindre. Så for 22uF har vi 22000MΩ, dvs. 0,15nA lækage ved 3,3V eller 0,6nA for de fire 22uF kondensatorer. Det er ubetydeligt. Til sammenligning Lav ESR, Lav lækage Panasonic elektrolytkondensatorer har lækstrømme på <0,01 CV. Så for en 22uF 16V kondensator er lækagen <10uA. Bemærk: Dette er lækagen ved den nominelle spænding, 16V i dette tilfælde. Lækagen er lavere ved lavere spændinger, dvs. <2,2uA ved 3,3V.
Liste over dele
Omtrentlige omkostninger pr. Enhed pr. December 2018, ~ US $ 61, eksklusive forsendelse og programmøren fra del 1
- SKYLAB SKB369 ~ US $ 5 f.eks. Aliexpress
- Sparkfun Si7021 breakout board ~ US $ 8
- 2 x 53mm x 30mm 0,15W 5V solceller f.eks. Overfly ~ 1,10 $
- 1 x PCB SKYLAB_TempHumiditySensor_R2.zip ~ 25 $ for 5 off www.pcbcart.com
- 1 x MC78LC33 3.3V regulator, f.eks. Digikey MC78LC33NTRGOSCT-ND ~ US $ 1
- 2 x 0.1uF 50V keramik C1608X5R1H104K080A f.eks. Digikey 445-7456-1-ND ~ 0,3 US $
- 4 x 22uF 16V keramik GRM21BR61C226ME44L f.eks. Digikey 490-10747-1-ND ~ 2 $
- 1 x BAT54CW, f.eks. Digikey 497-12749-1-ND ~ 0,5 $
- 1 x 470R 0,5W 1% modstand f.eks. Digikey 541-470TCT-ND ~ 0,25 $
- 1 x 10V 1W zener SMAZ10-13-F f.eks. Digikey SMAZ10-FDICT-ND ~ 0,5 $
- 3 mm x 12 mm nylonskruer, f.eks. Jaycar HP0140 ~ AUD $ 3
- 3 mm x 12 mm nylonmøtrikker, f.eks. Jaycar HP0146 ~ AUD $ 3
- Scotch Permanent Monteringstape Cat 4010 f.eks. fra Amazon ~ 6,6 US $
- CR2032 batteriholder, f.eks. HU2032-LF ~ 1,5 $
- CR2032 batteri ~ US $ 1
- Perspex -ark, 3,5 mm og 8 mm
- pfodApp ~ US $ 10
- Loddepasta f.eks. Jaycar NS-3046 ~ 13 $
Trin 3: Konstruktion
Projektet er konstrueret på en lille PCB. PCB'et blev fremstillet af pcbcart.com ud fra disse Gerber -filer, SKYLAB_TempHumiditySensor_R2.zip PCB'et efterligner Nano V2 -stiften og er generelt generelt nok til at kunne bruges til andre BLE -projekter.
Dette er skematisk (pdf -version)
Lod først SMD -komponenterne, og monter derefter SKYLAB SKB369 -kortet
Næsten alle komponenterne er overflademonteringsenheder (SMD). Kondensatorerne og IC'erne kan være svære at lodde i hånden. Den foreslåede metode er at holde printkortet i en skruestik og anvende en lille mængde loddemasse på puderne og placere SMD -komponenterne, undtagen SKB369 -kortet på printkortet. Brug derefter en varmepistol til at varme på PCB'ens underside, indtil loddemassen smelter, og lav derefter en hurtig pasning over toppen af brættet, og pas på ikke at blæse komponenterne af. Til sidst rører du komponenterne op med et lille spids loddejern. Vær forsigtig med kondensatorerne og modstanden, da det er let at smelte begge ender og få komponenten til at løsne, mens den ene ende loddes.
Denne revision tilføjer ekstra 22uF 16V keramiske kondensatorer. Disse ekstra kondensatorer reducerer de nuværende pigge trukket fra batteriet og reducerer også spændingsfaldene, når de drives fra solcellerne. Så længe spændingen fra solcellerne forbliver over batterispændingen, trækkes der ikke strøm fra batteriet.
Efter at SMD -komponenterne er monteret, kan du lodde i SKYLAB SKB369 -pladen. Der er to testpunktshuller på den ene side af SKB369 -fanerne. Brug to stifter i en papbund til at placere SKB369 -kortet og juster forsigtigt stifterne. (Se eksempelbilledet ovenfor ved hjælp af Revision 1 PCB) Lod derefter en stift på den modsatte side for at holde brættet på plads, før de andre stifter loddes.
Bemærk Gnd -linkwiren fra CLK til GND i den færdige del. Dette installeres EFTER programmering for at forhindre støj på CLK -input i at udløse nRF52 -chippen til en højstrøms fejlfindingstilstand
Monteringsetui
Monteringshuset var lavet af to stykker perspex, 110 mm x 35 mm, 3 mm tykke. Det 3,5 mm stykke under solcellerne blev banket på for at tage de 3 mm nylonskruer. Denne reviderede konstruktion er forenkler derefter Rev 1 og forbedrer luftstrømmen omkring sensoren. De ekstra huller i hver ende er til montering, f.eks. Ved hjælp af kabelbindere.
Trin 4: Fjernelse af NRF52 -kodningsbeskyttelsesflag
Tilslut temperatur/fugtighedskortet til programmereren beskrevet i del 1 som vist ovenfor.
Når solcellerne og batterierne er frakoblet, er Vin og Gnd forbundet til programmørens Vdd og Gnd (de gule og grønne ledninger), og SWCLK og SWDIO forbindes til Clk og SIO på programmeringsoverskriftskortet (de hvide og grå ledninger)
Fjernelse af nRF52 programbeskyttelse
Fra Nordic Semi - Debug and Trace side DAP - Debug Access Port. En ekstern fejlfinding kan få adgang til enheden via DAP. DAP'en implementerer en standard ARM® CoreSight ™ Serial Wire Debug Port (SW-DP). SW-DP implementerer Serial Wire Debug-protokollen (SWD), der er et to-benet serielt interface, SWDCLK og SWDIO
Vigtigt: SWDIO-linjen har en intern pull-up-modstand. SWDCLK-linjen har en intern pull-down-modstand.
CTRL -AP - Kontroladgangsport. Kontroladgangsporten (CTRL-AP) er en brugerdefineret adgangsport, der muliggør kontrol af enheden, selvom de andre adgangsport i DAP deaktiveres af adgangsportbeskyttelsen. Adgangsportsbeskyttelse blokerer fejlfinding fra læse- og skriveadgang til alle CPU-registre og hukommelseskortede adresser. Deaktiver adgangsportbeskyttelse. Adgangsportbeskyttelse kan kun deaktiveres ved at udstede en ERASEALL-kommando via CTRL-AP. Denne kommando sletter Flash, UICR og RAM.
Vælg CMSIS-DAP som programmør for Particle's Debugger, og vælg nRF5 Flash SoftDevice
Hvis blitzen virker, så er det OK, men moduler har ofte været beskyttet mod omprogrammering, og du får denne fejlmeddelelse i Arduino-vinduet
Open On-Chip Debugger 0.10.0-dev-00254-g696fc0a (2016-04-10-10: 13) Licenseret under GNU GPL v2 For fejlrapporter, læs https://openocd.org/doc/doxygen/bugs.html debug_level: 2 Info: kun en transportmulighed; autoselect 'swd' adapterhastighed: 10000 kHz cortex_m reset_config sysresetreq Info: CMSIS-DAP: SWD Understøttet info: CMSIS-DAP: Interface initialiseret (SWD) Info: CMSIS-DAP: FW Version = 1.10 Info: SWCLK/TCK = 1 SWDIO/ TMS = 1 TDI = 0 TDO = 0 nTRST = 0 nRESET = 1 Info: CMSIS-DAP: Grænseflade klar Info: reducer hastighedsanmodning: 10000kHz til 5000kHz maks. Info: clockhastighed 10000 kHz Info: SWD IDCODE 0x2ba01477 Fejl: Kunne ikke finde MEM -AP for at styre kernefejl: Mål ikke undersøgt endnu Fejl under blinkende SoftDevice.
I så fald skal du indstille kommandoregistret ERASEALL i nRF52 for at rydde hukommelsen og gøre enheden programmerbar igen. Den version af openOCD, der leveres med sandeepmistry nRF52, indeholder ikke den apreg -kommando, der er nødvendig for at skrive til ERASEALL -kommandoregistret, så du skal installere en senere version.
Installer OpenOCD-version OpenOCD-20181130 eller højere. Windows forhåndskompileret version er tilgængelig fra https://gnutoolchains.com/arm-eabi/openocd/ Den seneste kode er tilgængelig fra
Åbn en kommandoprompt, og skift dir til OpenOCD -installationsmappen, og indtast kommandoen
bin / openocd.exe -d2 -f interface/cmsis -dap.cfg -f target/nrf52.cfg
Svaret er
Open On-Chip Debugger 0.10.0 (2018-11-30) [https://github.com/sysprogs/openocd] Licenseret under GNU GPL v2 For fejlrapporter, læs https://openocd.org/doc/doxygen/ bugs.html debug_level: 2 Info: automatisk valg af første tilgængelige sessionstransport "swd". Brug 'transport vælg' for at tilsidesætte. adapterhastighed: 1000 kHz cortex_m reset_config sysresetreq Info: Lytning på port 6666 for tcl-forbindelser Info: Lytning på port 4444 for telnetforbindelser Info: CMSIS-DAP: SWD Understøttet info: CMSIS-DAP: FW Version = 1.10 Info: CMSIS-DAP: Interface initialiseret (SWD) Info: SWCLK/TCK = 1 SWDIO/TMS = 1 TDI = 0 TDO = 0 nTRST = 0 nRESET = 1 Info: CMSIS-DAP: Interface klar Info: clock speed 1000 kHz Info: SWD DPIDR 0x2ba01477 Fejl: Kunne ikke finde MEM-AP til at styre kernen Info: Lytte til port 3333 for gdb-forbindelser
Åbn derefter et terminalvindue f.eks. TeraTerm (Windows) eller CoolTerm (Mac) og tilslut til 127.0.0.1 port 4444
Telnet -vinduet viser et>, og kommandoprompten viser Info: accepterer 'telnet' forbindelse på tcp/4444
I telnet -vinduet (dvs. TeraTerm) typenrf52.dap apreg 1 0x04dette returnerer 0x00000000 og viser, at chippen er beskyttet. Derefter returnerer typenrf52.dap apreg 1 0x04 0x01og thennrf52.dap apreg 1 0x04 dette 0x00000001 viser, at chippen nu er indstillet til ERASEALL ved næste genstart.
Luk telnetforbindelsen, og brug også Ctrl-C til at afslutte openOCD-programmet i kommandoprompten, og tænd derefter for nRF52-modulet, og det er nu klar til at programmere.
Prøv nu at blinke softwaren igen.
Du kan nu programmere nRF52 -modulet fra Arduino.
Trin 5: Programmering af SKYLAB SKB369
Luk Arduino, og geninstaller den nyeste version af pfod_lp_nrf52 support ved at følge vejledningen Installer pfod_lp_nrf52 hardware support. Det seneste pfod_lp_nrf52 inkluderer SKYLAB SKB369 Nano2 udskiftningskort. Vælg det som tavlen, og du kan derefter programmere det med revision 3 af lp_BLE_TempHumidity, lp_BLE_TempHumidity_R3.zip, som beskrevet i del 2.
Hvis programmeringen mislykkes. Luk alle Arduino -vinduer, fjern USB -kablerne, genstart Arduino, og sæt programmørens USB -kabel i igen, og tilslut nRF52 -modulets USB -forsyning igen, og prøv igen.
Tilslut derefter via pfodApp for at vise den aktuelle og historiske temperatur og luftfugtighed. Når du har vist det historiske plot, gemmes aflæsningerne med tidsstempler på millisekunder i logfilen på din mobil og er også tilgængelige på rådata -skærmen.
Logfilen indeholder også de ekstra data, der er nødvendige for at genskabe dato- og klokkeslæt i et regneark. Se Arduino dato og tid ved hjælp af millis () og pfodApp for detaljer
Trin 6: Oprettelse af en ny Arduino NRF52 Board Definition
For at understøtte et nyt nRF52 -kort skal du a) tilføje et nyt bibliotek under varianterkataloget med tavlefilerne og b) redigere boards.txt -filen for at tilføje det nye kort til Arduino.
Tilføjelse af en ny nRF52 -kortvariant
Som beskrevet i del 1, Installation af pfod_lp_nrf52 hardware support, finder du hardware-undermappen til sandeepmistry-pakken, som du har opdateret med pfod_lp_nrf52 support. Åbn underkataloget / hardware / nRF5 / 0.6.0 / varianter, og opret et nyt bibliotek til dit nye kort, f.eks. SKYLAB_SKB369_Nano2replacement I det nye / hardware / nRF5 / 0.6.0 / varianter / SKYLAB_SKB369_Nano2replacement-bibliotek opret tre filer variant.h, variant.cpp og pins_arduino.h Du kan kopiere dem fra en af de andre kortvarianters mapper. For SKYLAB_SKB369_Nano2 -erstatningen kopierede jeg oprindeligt filerne fra RedBear_BLENano2 -varianten.
pins_arduino.h -fil
Filen pins_arduino.h behøver ikke ændres. Den indeholder bare filen variant.h
variant.h -fil
Rediger variant.h -filen for at definere det samlede antal pins, dit board vil have, PINS_COUNT
BEMÆRK: I sandeepmistry -pakken ignoreres NUM_DIGITAL_PINS, NUM_ANALOG_INPUTS og NUM_ANALOG_OUTPUTS indstillinger
Hvis dit bord gør mere eller mindre analoge pins tilgængelige, skal du opdatere / * Analog Pins * / sektionen i variants.h -filen.
BEMÆRK: For NanoV2- og SKYLAB -kortene er de analoge stifter tilknyttet de digitale stifter A0 == D0 osv
Dette er ikke afgørende. Du kan tildele de analoge indgange til enhver praktisk Arduino -pin. Se derefter blue/variant.h og blue/variant.cpp filer for et eksempel.
NRF52832 -chippen har 8 analoge indgangsstifter, men udskiftningskortet SKYLAB_SKB369_Nano2 stiller kun 6 af dem til rådighed for at matche Nano2.
Alle PIN -numre, undtagen RESET_PIN, i filen variant.h er Arduino pin -numre. Det er #define PIN_A0 (0) indebærer, at D0 i arduino -skitsen er den samme pin som A0. RESET_PIN er undtagelsen. Dette nummer er chipnummeret nRF52823, og 21 er det eneste gyldige valg. Understøttelsen af pfod_lp_nrf52 aktiverer dog ikke nulstillingstappen på nRF52832
variant.cpp -fil
Der er kun en post i filen variant.cpp, g_ADigitalPinMap -matrixen, der kortlægger Arduino -pinnumre til nRF52832 -chip P0.. -stifterne
BEMÆRK: I NanoV2- og SKYLAB -kortene er Arduino analoge ben A0, A1… de samme som Arduino digitale stifter D0, D1… så de første poster i g_ADigitalPinMap SKAL kortlægges til AINx pin -numre på nRF52832 -chippen
For de analoge indgange, dit kort stiller til rådighed, skal disse poster i g_ADigitalPinMap kortlægge nRF52832 AIN0, AIN1, AIN2 osv. Pin -numre. dvs. AIN0 er chip pin P0.02, AIN1 er chip pin P0.03 osv. se nRF52832 pin layout ovenfor.
Brug (uint32_t) -1 til ugyldige kortlægninger. For eksempel har SKYLAB_SKB369_Nano2-udskiftningskortet ikke en indbygget LED, D13, så dens position er kortlagt til (uint32_t) -1
I pfod_lp_nrf52.zip har Redbear NanoV2, SKYLAB SKB369 og GT832E_01 varianter undermapper billeder, der viser de tilknytninger, der er konfigureret af variant.cpp. (Se billederne ovenfor)
I tilfælde af SKYLAB SKB369 er der masser af stifter at vælge imellem. Kun nok er kortlagt til at matche NanoV2. I tilfælde af GT832E_01 skal alle tilgængelige stifter kortlægges. Selv da er der kun tre (3) analoge indgange tilgængelige i stedet for de seks (6) på NanoV2. Ud over dette skal de to NFC-ben, P0.09 og P0.10, genkonfigureres som GPIO'er. Se Omkonfiguration af nRF52 NFC -ben som GPIO'er herunder.
Opdatering af boards.txt -filen
Her er SKYLAB_SKB369_Nano2replacement -posten i boards.txt -filen.
## SKYLAB_SKB369 Nano2 -udskiftningSKYLAB_SKB369_NANO2_REPLACEMENT.name =*SKYLAB SKB369 Nano2 -udskiftning
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_REPLACEMENT.upload.maximum_størrelse_36_SK_VÆRK_BIL_PLAN_REGLER_36. KOPIER_36. KOPIER_LÆGER_36. KØB_REGLER_36. KØB_REGLER_36. KØB_REGLER_36. KØB_REGLER_36. KØB_REGLER_36. KØB_REGLERING SKYLAB_SKB369_NANO2_REPLACEMENT.upload.use_1200bps_touch = false SKYLAB_SKB369_NANO2_REPLACEMENT.upload.wait_for_upload_port = false SKYLAB_SKB369_NANO2_REPLACEMENT.upload.native_usb = false
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 Indstillinger
Kommentarer - linjer, der starter med #, er kommentarer.
Præfiks - hvert bord har brug for et unikt præfiks for at identificere dets værdier. Her er præfiksetSKYLAB_SKB369_NANO2_REPLACEMENT.
Navn - Linjen SKYLAB_SKB369_NANO2_REPLACEMENT.name angiver navnet på dette kort, der skal vises i Arduinos bordmenu.
Uploadværktøj - SKYLAB_SKB369_NANO2_REPLACEMENT.upload -blokken angiver, hvilket værktøj der skal bruges til upload. Hvis du bruger Particle Debugger, skal du bruge protocol = cmsis-dap som vist ovenfor.
Bootloader - Denne linje er den samme for alle tavler i disse boards.txt
Byg - Kun to linjer skal opdateres i denne blok. Linjen SKYLAB_SKB369_NANO2_REPLACEMENT.build.variant angiver dette tavls biblioteksnavn i variantundermappen. SKYLAB_SKB369_NANO2_REPLACEMENT.build.boardet er værdien, der tilføjes ARDUINO_ og derefter defineres, mens koden kompileres. f.eks. -DARDUINO_SKYLAB_SKB369_Nano2replacement Dette lader dig aktivere/deaktivere dele af koden for bestemte tavler.
Lavt frekvensur - Denne linje, SKYLAB_SKB369_NANO2_REPLACEMENT.menu.lfclk.lfrc.build.lfclk_flags, angiver kilden til det lavfrekvente ur, der bruges til lp_timeren. Der er tre muligheder, -DUSE_LFXO, -DUSE_LFRC og -DUSE_LFSYNT. Det bedste valg er -DUSE_LFXO, hvis kortet har en ekstern 32Khz krystal. Hvis ikke, så brug -DUSE_LFRC, som bruger en intern RC -oscillator og trækker lidt mere strøm, ~ 10uA mere, og er meget mindre gange mindre præcis. Brug ikke -DUSE_LFSYNT, da dette holder chippen kørende hele tiden, hvilket resulterer i mAs nuværende draw.
Softdevice - pfod_lp_nrf52 understøtter kun nRF52 -chips og softdevice s132, så der er ingen ændringer nødvendig for denne blok, bortset fra præfikset.
Omkonfiguration af nRF52 NFC -ben som GPIO'er
Vær standard på nRF52 -benene, P0.09 og P0.10 er konfigureret til brug som NFC og forventes at blive tilsluttet en NFC -antenne. Hvis du skal bruge disse som generelle I/O -ben (GPIO'er), skal du tilføje en definere -DCONFIG_NFCT_PINS_AS_GPIOS til dette tavls… menu.softdevice.s132.build.extra_flags kompilere indstillinger i boards.txt -filen.
For eksempel pfod_lp_nrf52.zip, genkonfigurerer GT832E_01 benene til brug som I/O. GT832E_01 sektionen for dette kort, i boards.txt -filen, har følgende definition tilføjet
GT832E_01.menu.softdevice.s132.build.extra_flags = -DNRF52 -DS132 -DNRF51_S132 -DCONFIG_NFCT_PINS_AS_GPIOS
Linker scriptet i pfod_lp_nrf52.zip er også blevet ændret for at bevare denne indstilling og behøver ikke ændres.
Trin 7: Konklusion
Denne vejledning har præsenteret en erstatning for Redbear NanoV2 ved hjælp af et SKYLAB SKB369 -modul. En batteri/soldrevet temperaturfugtighedsmonitor blev brugt som et eksempel på et meget lavt strømforbrug BLE -projekt i Arduino til SKYLAB -modulet. Forsyningsstrømme på ~ 29uA, hvor de opnås ved at indstille forbindelsesparametrene. Dette resulterede i en CR2032 møntcellebatteriets levetid ~ 10 måneder. Længere for møntceller og batterier med højere kapacitet. Tilføjelse af to billige solceller forlængede let batterilevetiden med 50% eller mere. Et lyst rumlys eller en bordlampe er tilstrækkelig til at drive skærmen fra solcellerne.
Denne vejledning dækkede også fjernelse af chipbeskyttelse fra en forprogrammeret nRF52 og hvordan du opretter en ny kortdefinition, der matcher dit eget printkort/kredsløb
Ingen Android -programmering er påkrævet. pfodApp håndterer alt dette.
Anbefalede:
Lav et spil i Notesblok og meget meget mere: 10 trin
At lave et spil i Notesblok og meget meget mere: Dette er min første instruerbare. Så hvis du har forslag, så kommenter. Lad os komme i gang! Når vi alle hører ordet notesblok, tænker vi på nogle kedelige ubrugelige applikationer til at notere ting. Godt notesblok er meget mere end det. Vi kan styre vores side
Udskiftning af batteri til iPhone 6 Plus: Vejledning til udskiftning af det interne batteri: 12 trin (med billeder)
Udskiftning af batteri til iPhone 6 Plus: Vejledning i udskiftning af det interne batteri: Hej fyre, jeg lavede en iPhone 6 -batteri til udskiftning af batterier for noget tid siden, og det syntes at have hjulpet mange mennesker, så her er en vejledning til iPhone 6+. IPhone 6 og 6+ har stort set den samme konstruktion bortset fra den indlysende størrelsesforskel. Der er
Trappe natlampe - Meget lav effekt og 2 sensorer: 5 trin
Trappens natlampe - Meget lav effekt og 2 sensorer: Jeg byggede denne nattelampe med lav effekt og to infrarøde bevægelsessensorer, så jeg kan installere en enkelt enhed, halvvejs i trappen, og få den udløst enten af en person, der går op eller kommer ned ad trapperne. Jeg har også gjort mit design meget lavt
$ 2 Arduino. ATMEGA328 som enkeltstående. Let, billigt og meget lille. en komplet vejledning .: 6 trin (med billeder)
$ 2 Arduino. ATMEGA328 som enkeltstående. Let, billigt og meget lille. en komplet vejledning .: I denne instruktionsbog lærer du, hvordan du bruger Arduino ATMEGA328 mikrokontrollerchip som en enkeltstående mikrokontroller. De koster kun 2 bukke, kan gøre det samme som din Arduino og gøre dine projekter ekstremt små.Vi vil dække pin -layoutet
DIY MusiLED, musik-synkroniserede lysdioder med et klik Windows & Linux-applikation (32-bit og 64-bit). Let at genskabe, let at bruge, let at transportere .: 3 trin
DIY MusiLED, musik-synkroniserede lysdioder med et klik Windows & Linux-applikation (32-bit og 64-bit). Let at genskabe, let at bruge, let at transportere .: Dette projekt hjælper dig med at forbinde 18 lysdioder (6 røde + 6 blå + 6 gule) til dit Arduino-kort og analysere din computers lydkorts realtids signaler og videresende dem til lysdioderne for at tænde dem i takt med slageffekterne (Snare, High Hat, Kick)