基于NORDICNRF51822芯片开发的智能牙刷的实现
- 格式:doc
- 大小:668.00 KB
- 文档页数:11
OHTCOMTechnology Ltd.nRF51822 Application KitnRF51822User Guide v1.3Copyright © 2013 Ohtcom Technology. All rights reserved.1 介绍nRF51822 Bluetooth® low energy/2.4 GHz Application Kit (AK II) 提供了一整套的测试和应用nRF51822的解决方案。
nRF51822是nRF51 系列中的一员,它是一个超低功耗(ultra-low power),单片系统 (SoC) 的2.4 GHz 无线通信解决方案.1.1 最小系统要求•nRFgo Studio v1.14 或更高版本•Windows XP or Windows 71.2 外部资源•Keil MDK-ARM Lite v4.54或更高版本https:///demo/eval/arm.htm•J-Link Software v4.52b或更高版本/jlink-software.html1.3 Writing conventions这篇用户指南遵从了一些排版规则,这样能够使文章更加连贯,更加易于阅读。
以下是使用到的协作约定::•命令使用Lucida Console.•芯片管脚使用Consolas.•文件名和用户接口使用bold.•内部关联采用斜体并使用semi-bold.1.4 Application kit 发布说明2 套件内容nRF51822 Application Kit 的硬件资料以及相关软件和文档。
可以从https:///overheat1984/nRF51822_STUDY处下载。
2.1 nRF51822 Application Kit硬件Figure 1 nRF51822 硬件2.2 可下载的资源nRF51822 Application Kit 包括固件程序,文档,硬件原理图等。
AN4605应用笔记STM32- nRF51822蓝牙低功耗(BLE)系统解决方案介绍本应用笔记介绍了蓝牙低功耗(BLE)嵌入式软件(X-CUBE-nRF51DRV)实现对STM32L0系列和nRF51822,并解释如何界面自己的应用程序,并创建BLE服务。
在X-CUBE-nRF51DRV主要特点如下:•与北欧提供的BLE型材兼容性•应用程序集成就绪•易于附加在STM32L0系列低功耗解决方案BLE•极低STM32L0 CPU负载(HRS 1秒更新率0.127%)•没有对STM32L0系列延迟要求•小STM32L0内存占用在X-CUBE-nRF51DRV软件是基于STM32CubeL0 HAL驱动程序(见第2节)。
同时提供了使用北欧BLE服务于客户STM32L0应用实例。
该参考硬件平台是STM32-nRF51822基于STM32Nucleo / 64上和Wavetek公司蓝牙LE与盾北欧BLE模块nRF51822。
注:X-CUBE-nRF51DRV可以移植到其它STM32系列。
目录1引用。
72 STM32Cube概述。
83,嵌入式软件的定义。
9 4入门。
114.1 BLE系统描述。
0.114.2特性。
0.114.3硬件/软件的快速设置。
125参考平台。
13 5.1接口描述。
13 5.2 UART 4线接口。
145.3重置系统。
145.3.1上电复位。
155.3.2系统复位。
155.4器件编程。
166嵌入式软件的描述。
186.1 UART接口。
186.1.1 BLE SD FW模块。
196.1.2低功耗经理。
206.1.3中断。
206.1.4语境经理。
206.1.5配置。
21当BLE功能使用6.1.6 STM32资源需求。
216.1.7集成。
226.1.8可移植性。
226.2定时器接口。
236.2.1 BLE SD FW模块。
256.2.2初始化。
256.2.3用户模块。
266.2.4中断。
46.2.5语境经理。
基于NORDIC NRF51822芯片开发的智能牙刷的实现况昊
【期刊名称】《现代商贸工业》
【年(卷),期】2016(037)013
【摘要】近几年来随着物联网的发展以及低功耗蓝牙的广泛应用,可穿戴的智能设备和微型控制器设备受到广泛的关注.基于Nordic NRF51822开发的蓝牙智能牙刷是一款可以与手机APP通过低功耗蓝牙进行连接并且可以相互操作的电动牙刷.主要实现了低功耗、手机与牙刷互动、大数据存储、pH检测、压力检测并反馈、故障报警等功能.该牙刷是充分利用了NRF51822的优越性能的同时考虑到现在人们对手机的依赖以及对功能多样性的要求,并且结合口腔医学设计而成.在考虑到物联网这一热门理念时,将手机通过APP和蓝牙通信与牙刷结合起来形成一个完整的循环给用户更好、更新奇的体验.
【总页数】4页(P50-53)
【作者】况昊
【作者单位】西华大学,四川成都 610039
【正文语种】中文
【中图分类】F27
【相关文献】
1.基于nRF51822的蓝牙防丢器的设计与实现 [J], 赵万年;潘辉;黄超;陈甲印
2.Nordic IPv6蓝牙智能协议栈实现超低功耗小型物联网应用 [J],
3.基于Nordic nRF51822 SoC的网状网络平台瞄准物联网应用 [J],
4.基于PH检测与智能传感技术的儿童智能电动牙刷研究 [J], 梁嘉宝;严波;秦镐;倪蓓露;杨宸铭
5.Nordic的nRF52832 SoC器件帮助智能牙刷实现由内置陀螺仪传感器收集的刷牙数据与用户的智能手机无线同步 [J],
因版权原因,仅展示原文概要,查看原文内容请购买。
【蓝牙BLE系列】NRF51822NRF2810NRF52832NRF2840方案对比NRF51822简介nRF51822是一款功能强大,高度灵活的多协议的SoC,非常适用于蓝牙低功耗和2.4GHz的无线应用。
该SoC是基于ARM Cortex M0为内核的微处理器,拥有256KB/128KB 的片上FLASH存储空间,32KB/16KB的RAM空间。
2.4G无线射频支持蓝牙低功耗,同时兼容nRF24L系列的产品。
其应用领域:手机配件,穿戴式设备,无线充电监控,PC外设,消费电子遥控器,智能家居,智能射频标签,玩具和电子游戏等。
芯片特性✧单芯片,高度灵活的2.4GHz多协议设备✧32位ARM Cortex M0CPU内核✧256KB/128KB闪存+32KB/16KB RAM✧支持蓝牙低功耗协议栈✧线程安全和运行时保护✧事件驱动API支持✧空中链路兼容nRF24L系列✧三种速率:2Mbps/1Mbps/250Kbps✧+4dBm输出功率✧-93dBm灵敏度,蓝牙低功耗✧灵活的电源管理系统✧可配置的I/O✧工作温度范围:-40℃至+105℃NRF52810简介nRF52810是一款支持蓝牙5,ANT和 2.4GHz的高性能多协议的SoC。
该SoC提供了对蓝牙5的支持,同时微处理器内核为ARM Cortex M4,具有192KB的FLASH和24KB的RAM空间,能够提供更多的高级应用的支持。
即使在低功耗的应用之中也是表现得非常出色的。
其应用领域:蓝牙5连接处理器,工业传感器和执行器,穿戴设备,智能家居传感器,电脑外设,体育和健身传感器,智能手表,互动游戏和楼宇自动化等。
芯片特性✧单芯片,高度灵活的2.4GHz多协议SoC✧32位ARM Cortex-M4处理器✧电压范围:1.7V至3.6V✧192kB闪存+24kB RAM✧支持并发蓝牙低功耗/ANT协议操作✧+4dBm的输出功率✧-96dBm灵敏度,蓝牙低功耗✧线程安全和运行时保护✧事件驱动API支持✧空中链路兼容nRF24L和nRF24AP系列✧两种速率:2Mbps/1Mbps✧自动的电源管理系统✧可配置的I/O✧1个主/从SPI✧1x双线接口(I²C)✧UART(RTS/CTS)✧1个PWM(4个通道)✧AES HW加密✧8通道10/12位ADC✧正交解码器64级模拟比较器✧实时时钟(RTC)✧数字麦克风接口(PDM)NRF52832简介nRF52832是一款功能强大,高度灵活的超低功耗多协议的SoC,非常适合蓝牙低功耗(BLE,以前成为智能蓝牙),ANT和 2.4GHz的无线应用。
ApplicationNote AN05220072 V1.00 Date: 2014/10/30 nRF51822 SWD 在线编程参考指南 广州致远电子股份有限公司类 别内 容 关键词 nRF51822, 在线编程, AK100Pro-4P ;主要特点 1.独有的1拖4(甚至1拖16)量产高速在线编程; 2.支持灵活的序列号烧写; 3.支持工程加密,保障固件安全; 4.支持一键添加多个文件烧写; 5.自由的组合定制操作,允许定制任意操作序列; 6.全自动上下电量产检测,无需操作软件,大幅提升烧写效率。
摘 要 本文主要介绍AK100Pro-4P 如何通过SWD 对Nordic 的nRF51822芯片进行在线编程目录1. nRF51822简介 (1)2. AK100Pro简介 (2)3. 准备条件 (4)3.1准备STM32F100VC目标板 (4)3.2安装KFlashPro软件 (4)3.3连接nRF51822-QFAA目标板至AK100Pro-4P (5)4. 基本烧写 (7)4.1创建工程 (7)4.2参数配置 (7)4.2.1硬件选择 (7)4.2.2主要设置 (8)4.2.3附加设置 (9)4.2.4程序烧写 (9)4.3烧写配置 (10)4.4进行烧写 (11)5. 高级烧写 (12)5.1量产烧写配置 (13)5.2加密与解密 (14)5.2.1加密 (14)5.2.2解密 (15)6. 技术支持 (16)7. 订购信息 (17)1. nRF51822简介nRF51822是Nordic Semiconductor公司推出的一款基于ARM高性能Cortex-M0 32位RISC内核的微控制器,配备256kB/128KB Flash + 16kB RAM。
嵌入2.4GHz 收发器,支持S110 低功耗蓝牙协议栈及2.4GHz 协议栈(包括Gazell)。
nRF51822 还具备丰富的模拟和数字周边产品,可以在无需CPU 参与的情况下通过可编程周边产品互联(PPI) 系统进行互动。
蓝牙nRF51822 应用(基于低功耗蓝牙技术的温湿度传感器节点的设计)关键字:低功耗蓝牙温湿度传感器nRF51822 SHT11随着兼容蓝牙4.0标准的智能手机逐步普及,低功耗蓝牙技术也面临着越来越广泛的应用。
本设计采用了nRF51822和SHT11设计了一种基于低功耗蓝牙技术的温湿度传感器节点,能够将节点位置的温度和湿度发送给主机用于显示,可广泛应用于家庭、车间、仓库的温湿度监控。
1.引言在智能家居和物联网飞速发展的背景下,基于蓝牙4.0标准的低功耗蓝牙(Bluetooth Low Energy,BLE)技术正被逐步地为人们重视。
随着兼容蓝牙4.0标准的智能手机逐步普及,低功耗蓝牙技术也面临着越来越广泛的应用。
本设计采用了基于BLE技术的nRF51822蓝牙SoC芯片和SHT11温湿度传感器设计了一种基于低功耗蓝牙技术的温湿度传感器节点,能够将节点位置的温度和湿度发送给主机用于显示,可广泛应用于家庭、车间、仓库的温湿度监控。
节点采用了低功耗设计,可用一枚纽扣电池供电,实际使用时间可达1年以上。
2.系统结构本设计的系统结构如图1所示,系统的处理器模块由nRF51822构成,温湿度传感器件采用SHT11,电源采用纽扣电池供电;由处理器模块、温湿度传感器模块、天线模块、电源模块构成的节点与主机通过2.4GHz的低功耗蓝牙信号通信,主机采用智能手机运行信息采集显示的APP。
多个节点可利用应用层协议与主机组成星形网络。
图1 系统结构图3.硬件电路温湿度传感器节点硬件的系统构成如图2所示。
图2 硬件系统结构图3.1 处理器模块处理器模块选用Nordic公司的nRF51822芯片。
nRF51822是具有CORTEX-M0低功耗内核,支持BLE、Gazell等多协议的低功耗高速率射频收发器的SoC。
其具有高集成度、低成本、处理能力强、低功耗、小体积等优势,非常适合低功耗蓝牙产品的应用。
该芯片具有以下特性:具有Cortex-M0内核,片上256KB FLASH,16KB RAM,片内包含支持BLE协议的2.4GHz射频收发器。
蓝牙芯片厂家有哪些?蓝牙技术联盟推出Bluetooth5新标准,这是蓝牙技术自1999年诞生以来推出的第十个标准版本。
蓝牙5在性能上大幅提升,可归结为:更快、更长、更给力,非常适合运用于无线可穿戴、工业和智能家庭领域,各方对此充满期待。
短时间内,便会有科技数码消费产品采用这一标准,而首先爆发的必将是芯片端厂商之间的竞争。
芯片厂商推出支持蓝牙5方案在芯片端,目前一些芯片厂家已经推出对应的方案,Nordic半导体公司在去年12月份推出了首款支持蓝牙5的nRF52840SoC器件,Skyworks公司推出的SKY66112-11前端模块也已兼容了蓝牙5.0技术。
一时间,蓝牙5已成为今年芯片厂商最新产品上的“标配”。
一方面是因为蓝牙严重依赖智能终端,智能终端也必须支持蓝牙5(芯片和操作系统),这也要依赖芯片成熟度和厂商导入情况。
另一方面,芯片厂商出于竞争策略考虑,希望以新的技术去引导客户,拉开竞争对手的差距,因为一般大厂才有能力去第一时间开发新技术,甚至标准都是他们参与制定的。
那么现在蓝牙芯片都有哪些厂商呢?下面为大家一一盘点。
1、CSR(2014年被高通收购)英国CSR公司1998年诞生于英国剑桥,早期技术主要在音频领域,2004年在伦敦证券交易所上市。
2009年CSR成为世界十大无晶圆半导体厂商之一。
芯片是IT新技术转化为产品的一个重要载体,蓝牙技术产品能否真正进人批量生产在于芯片制造技术能否跟得上。
而对兴旺的市场,许多世界级半导体制造商都积极投人蓝牙芯片的生产,以期占领市场制高点。
摩托罗拉、东芝、英特尔、IBM等公司都从事过蓝牙芯片的开发,但没有什么突破。
2013年数据真正在芯片设计和推广上取得重大成功的正是CSR,它在2002年推出名为BlueCore(蓝牙核心)的真正的CMOS单芯片方案,并成功地把使其后继版本BlueCore2-External芯片的价格降至5美元以下。
最终,促使了蓝牙产品的起飞。
OHTCOMTechnology Ltd.nRF51822模块规格说明书Datasheet of nRF51822 Modules2015.6.1目录1 简介 Introduction (3)2 nRF51822 M0 BLE模块介绍 specification for M0 Module . 4天线的连接 (7)程序的烧录 (8)表一 nRF51822 M0工作参数 (8)3 nRF51822 M1 BLE模块介绍 specification for M1 Module . 9程序的烧录 (11)表二 nRF51822 M1工作参数 (11)4 History (13)5 联系方式CONTACT US (14)NOTES:If you are customers from overseas, please contact sales@ for quotation and specifications of English version.1 简介IntroductionnRF51822 Mx BLE低功耗蓝牙模块目前包括nRF51822 M0、nRF51822 M1两款。
这两款BLE模块都是以nRF51822为主控芯片,封装不同的模块。
nRF51822 M0模块包含了LIS3DH3轴传感器,与百度手环使用相同的基础硬件,可以用来开发运动手环等穿戴设备。
nRF51822 M1模块单有一片nRF51822芯片,可以选择16kB RAM或者32kB RAM的不同版本,可以用来开发iBeacon、室内定位、穿戴设备,计算机控制等,应用更灵活,满足不同需求。
nRF51822 M0nRF51822 M12 nRF51822 M0 BLE模块介绍specification for M0 ModulenRF51822 M0采用BGA的nRF51822芯片封装并且集成了高低速晶振、LIS3DH三轴传感器,模块尺寸仅为10.5mm*8.5mm*1.5mm,为业界最小封装。
基于NORDICNRF51822芯片开发的智能牙刷的实现近几年来随着物联网的发展以及低功耗蓝牙的广泛应用,可穿戴的智能设备和微型控制器设备受到广泛的关注。
基于Nordic NRF51822开发的蓝牙智能牙刷是一款可以与手机APP通过低功耗蓝牙进行连接并且可以相互操作的电动牙刷。
主要实现了低功耗、手机与牙刷互动、大数据存储、pH检测、压力检测并反馈、故障报警等功能。
该牙刷是充分利用了NRF51822的优越性能的同时考虑到现在人们对手机的依赖以及对功能多样性的要求,并且结合口腔医学设计而成。
在考虑到物联网这一热门理念时,将手机通过APP和蓝牙通信与牙刷结合起来形成一个完整的循环给用户更好、更新奇的体验。
标签:物联网;低功耗;蓝牙手机;多功能doi:10.19311/ki.16723198.2016.13.0221 引言1.1 项目背景物联网即“Internet of things”一般简称为IoT,是新一代信息技术的一部分也是现代科技提倡的信息化发展的重要环节。
顾名思义,物联网就是物与物相连接,包含两个重要组成部分:相互连接通讯的网络和途径;具体连接的智能设备或者传感器。
因此创新就是物联网的关键,而用户要求和用户体验则是我们进行物联网开发的灵魂。
Nordic推出的自带低功耗蓝牙模块的MCU—NRF51822是一款非常强大的,高度灵活的多协议的系统级芯片,非常适合用于蓝牙智能和24GHz 的超低功耗无线应用。
基于NRF51822开发的智能牙刷就是基于物联网理念进行开发的一款智能产品,通过低功耗蓝牙与手机通讯,手机APP通过WiFi或者运营商提供的移动网络与服务器连接传递有用信息。
同时注重创新首次结合口腔医学健康知识把PH模块以及检测牙齿所受到压力、适宜个人调节牙刷震动频率等功能集成起来,能够给用户提供一个自定义的健康的能够直接监控口腔以及刷牙过程中各个参数的有科技含量的智能牙刷。
1.2 设计思路本项目由于涉及功能较多,使用的芯片NRF51822也只是一款Nordic推出的自带低功耗蓝牙协议的MCU并不能进行多线程操作,因此需要单个功能模块进行详细设计之后,结合用户要求以及软件合理性并且考虑到功耗问题,对各个功能模块分配优先级并按照不同的优先级进行整合从而形成一个完整的符合预期目标的产品。
同时按照需求配合手机调试一些互动的功能,让牙刷与手机以及服务器形成一个局部的物联网系统。
1.3 本文实现的目标本文编写的目的是:一是用实例来讲述物联网的概念,向大家普及一下项目涉及到的物联网相关知识;二是向大家详细介绍关于Nordic推出的NRF51822芯片的相关性能;三是给读者提供一些在NRF51822平台上开发的经验。
本文的主要针对一些有相关基础的对物联网开发有兴趣的或者想学习一下NRF51822平台进行智能穿戴开发的相关人员。
2 功能需求分析本项目中对牙刷的功能需求主要分三部分:一是牙刷本身处理功能;二是通信功能;三是与手机互动功能。
其中通讯部分蓝牙协议是芯片自带,只需要配置相关模式即可。
牙刷本身功能包括:一是两个按键一个支持单击、双击、长按,一个需要识别单击和长按;二是能够监测牙刷头与牙齿之间的压力值;三是能够调节马达震动频率和模式;四是能够测量口腔pH值;五是能够永久存储100KB 的数据且不会断电擦除;六是有实时时间;七是低电压保护;八是自动记录每次刷牙的数据。
牙刷与手机互动的功能模块有:一是手机发送命令改变马达震动频率和运行模式;二是手机更改牙刷蓝牙设备名称;三是更改三个压力阀值;四是牙刷向手机发送PH值、压力值、按键事件等;五是手机读取牙刷上储存的刷牙信息;六是手机向牙刷同步时间等等。
3 部分功能模块详细设计下面将讲述部分功能模块的设计思路以及实现途径。
3.1 按键设计本项目要求按键button_0支持单击、双击、长按,按键button_1支持单击长按,因此我们要详细考虑的按键的每一个状态和可能性来进行功能设计,防止出现错误的事件。
在此我定义了四个基本按键状态:空键、单击、长按、双击。
定义的基本按键事件是:(1)单击,按下时间小于12s;(2)长按,按下时间大于等于12s。
我在按键基本定义的基础之上进行扩展:单击之后不会立即返回而是继续监控按键状态在06s之内如果再次产生单击事件就返回双击事件,如果06s之内没有单击事件产生就返回单击事件。
因此最终的按键效果为:长按只会立即返回长按事件;时间间隔在06s以内的单击将在第二次单击事件产生后立即返回双击时间,同时两次单击时间取消;单击事件是要等06s后检测到06s内再无单击事件产生才会返回。
这样的设计就摒除了长按对单双击事件的影响,同时防止了多次单击产生对单双击事件的正确返回造成影响。
在做好按键功能后按键button_0需要控制APP的某些功能因此在button_0的按键事件返回时要发送到手机上,而button_1则需要控制其他功能,稍后再讲。
3.2 PH模块的应用本牙刷使用的是一个独立的PH模块放入口中,用AD采样的方法读取PH 模块产生的电压变化对应标准酸碱度的溶液定义出准确的PH值。
NRF51822提供了8个AIN(Analog inputDigital I/O)PIN,支持ADC、LPCOMP等输入。
我们PH模块的AD采样使用霍尔开关进行触发,当开关处于高电平的时候开启控制AD采样的timer,使之不断的进行AD转换读取PH模块的电压变化并发送到手机上可以让手机读取当前口腔PH信息,当开关处于低电平的时候关闭控制AD采样的timer。
3.3 压力检测功能检测牙刷头与牙齿之间的压力并不是一个非常简单的事,我们软件硬件考虑过多种压力传感器都不是很适用,同时高精度高适应性的压力传感器的价格也非常高不利于我们控制生产成本。
因此我们转换思路利用电磁感应来实现,利用杠杆原理将牙刷头的压力产生的位移在牙刷中间部分用检测电磁的芯片和线圈进行检测来测取位移变化结合使用的弹簧规格参数算出牙刷头与牙齿间的压力值。
在软件上我用IO口模拟spi连接电磁检测的传感器来进行通信。
读出的数据转换成对应的压力值后需要判断属于那个压力段位,我一般分为轻、中、重三个压力阶段并且用蓝、绿、红三个灯的闪烁来表示,同时记录刷牙过程中停留在三个阶段的时间与刷牙的起始时间一起存进牙刷内存。
3.4 马达震动频率控制我牙刷上的马达是震动式的而不是旋转马达,硬件上是用的两个PIN来进行控制,因此控制IO口的供电情况来控制马达震动的频率和强度。
根据产品定义我给马达设计了三个工作档位以及一个自定义模式,三个工作档位是由改变控制马达震动的PWM的相关参数来定义的,而自定义模式则是用户体验过后根据自己的感受定义相关PWM参数并存入牙刷内存让它成为马达工作的一个新的档位。
在马达开启震动之后一段时间在无外部触发条件控制的情况下如按键,会自动关闭马达。
3.5 实时时间功能实时时间功能是要求在不断电不重启的情况牙刷能够产生实时时间方便记录刷牙的时间、牙刷头使用寿命报警、定时自动校验压力偏转值等功能,它能够与手机时间进行同步。
3.6 牙刷电量读取与低电压保护同PH模块一样我们用AD采样的方法读取电池电量并发送到手机,这个电量读取的timer不仅仅是被手机读取电量命令进行控制,也可以被其它条件进行触发即在每次刷牙结束后自动读取电量如果电压过低立即进入低功耗模式,除非充电使电压抬高到一定阀值才能正常工作。
3.7 数据存储数据存储对于我开发的智能牙刷整个产品来说也是比较重要的,它要求能够存储每次刷牙的起始时间、刷牙过程中在每个压力段位停留的时间、手机更改牙刷蓝牙设备名称数据、牙刷刷头寿命期限、马达自定义模式数据、手机定义的压力段位阀值、牙刷次数等等。
要求是能够被手机写入也能被牙刷自动录入。
这些存储的数据不会因为断电或者重启被擦除,除非是被相关命令或者专业的烧录工具才能清楚我们设定的存储空间。
4 智能牙刷功能整合和代码实现设计4.1 功能优先级处理由于功能众多,并且要与手机相互配合因此要用不同的优先级来整合不同的功能防止在运行的过程中出现不必要的逻辑性的错误。
如下是部分功能的逻辑性和优先级处理。
4.1.1 无线充电在检测到牙刷处于无线充电的状态下时,自动disable所有的按键功能、关闭所有的LED灯、并且防止马达正在工作时直接充电也要关闭马达,一旦从充电环上拿开时自动初始化按键。
4.1.2 压力检测模块压力检测由于可以受到手机控制因此对执行步骤的逻辑性要求比较严格,每次执行压力检测模块的时候都要读取牙刷内存空间中压力参数所处的地址判断用户是否设置了相关参数并且判断是否符合规范,如果没有就按照默认的参数执行,有的话如果不规范则按照默认参数执行反之按照用户设定执行。
在按键触发压力检测的时候压力检测模块优先于PH功能模块,因此先禁用一下PH模块。
4.1.3 牙刷自动存储数据牙刷储存数据是在牙刷事件结束之后存入牙刷内存,但是由于牙刷事件结束的触发条件比较多并且不适合放到马达控制里面,因此需要考虑到不同情形下的自动储存数据。
一是button_1单击按键循环到马达空档的时候存储存数据;二是长按直接关闭马达震动时存储;三是当马达没有接到关闭命令而自动关闭时储存刷牙信息。
4.2 所有按键事件控制Button_0产生的三个按键事件在产生的时候自动发送到手机上,当APP检测到相关数据,就会执行相关的操作,实现的主要代码如下:该功能主要由按键timer进行监控电平变化,用两个switch语句进行判断并在下一个switch语句中判断出单击、双击、长按事件后直接通过ble_nus_string_send函数发送到手机。
而button_0是单击控制马达工作模式,长按关闭马达工作。
点击开启马达的同时开始检测压力值并向手机传输压力值,因此按键的同时先行关闭PH模块timer,防止数据传输冲突同时disable控制PH 模块的霍尔开关防止误触发。
单击的同时还要分析牙刷是否存有用户设定的自定义模式,有则从自定义模式、一、二、三、关闭循环,没有的话进行一、二、三、关闭循环。
并且在关闭之后检测电压等等。
实现代码如下:5 开发总结在基于NRF51822的智能牙刷的开发过程中,我加深了对NRF51822平台的了解,本次开发项目用到了NRF51822的低功耗蓝牙、电源管理、AD采样、PWM 控制、Pstorage管理、timer的控制使用等相关功能,同时让我对功能设计的逻辑性和优先级考虑得更加完善,本文主要是提供一些功能实现思路和产品功能模块设计理念,同时希望促进更多正在或者即将进行NRF51822开发的软件人员进行技术交流和沟通。
最后感谢老师和同学对我的指导和帮助,我将更加努力的学习软件开发相关知识并在今后工作项目中得以实现和提高。