LaunchPad和NRF24L01实现的无线温度监控-完结
[复制链接]
自从看到launchPad学习板团购活动,就有用它来做点小东西来充实自己的冲动。开发板到手之后更是迫不及待第开始了。刚好手上有两片问朋友讨来的两片NRF24l01,于是就打算以此为契机,一方面了解一下TI公司16bit的msp430系列单片机(工作中一般是8bit的,小公司 );另一方面学习一下目前应用比较广泛的2.4G模块,拓宽一下自己的知识面和认知范围。 有的朋友拿到学习板后很失望,觉得IO太少,资源小,感觉鸡肋。我认为,IO和内部资源少是实情,但是对我们初学者来说,launchPad还是有很大的意义的。列出以下几点,如有异议,留言商榷: 1、IO,内部资源确实少,但我在这几年的工作中发现,同一个项目为了赢得市场,或者减小体积以突出产品特点,往往极力压缩成本,不断挑战技术底限,能用4bit机做出来的,老板绝不会给你用8bit机,能用8Pin或14PinIC的,绝不给你用20Pin之类的,能用台湾系列的,绝不给你用美日系的。我经常同一个项目用一种IC做好后,要移植到几种不同的IC上去,一来评估成本,二来不会因为一种IC涨价或停产而导致项目不能按时交期。一句话成本为王。这样就要求我们任何时候都要尽可能的节省IC资源,虽然心里牢骚不断,但对自己来说也是一种提高。 2、对于我这种初学者,LaunchPad虽然是430系列里很简单的一种,但是我们可以通过它达到对这一系列一叶知秋的目的(虽然有点夸张,但是入门还是可以的)。它虽然模块少,但是TI强调的低功耗模式,高效指令集都含在里面,而其不同于51系列的多时钟源,IO口复用,多模式的Timer,多通道高自定义的AD模块,USCI模块,高效低耗的电压管理,通过这些的学习或了解,能为我们以后学习目前热门的Arm系列做好铺垫。就好像跳板一样。 3、自己经常做一下小东西,玩一下小程序,带调试功能的launchPad能很好的作为开发基板,虽然它硬件资源受限,但我们可以把项目拆成小的模块来分开调试,等调试通过后移植过去,不用每次都先画板打板,简单又直观。 4、哥们穷,25元还送3片IC,够划算。 嘿嘿
哎呀哎呀,跑题了... 折腾了这么久总算把launchpad和nrf24l01的一些基本程序搞懂了,查了一些资料也借鉴了论坛里一些朋友的例子,做了一个基于2.4G传输的远距离温度监控程序(听起来很吓人其实好简单,貌似这年头东西都这样)。下面简单介绍一下。 1、发射部分:这部分是用的2231,因为想使用它的AD采样功能。自己用面包板搭建了一块最小系统,其实好简单,3.3V的稳压(主要考虑给NRF24L01模块的供电需求),复位脚上拉就算完事了。时钟使用内部DCO,省事。为了便于修改程序,和launchpad一样P1.3留给按键,P1.6接一颗Led做指示。 程序部分先实现同24l01的SPI接口,再调试同nrf24l01通讯确保能够发射。调试说明和程序可参考https://bbs.eeworld.com.cn/thread-308755-1-1.html AD采样部分由于引脚紧张而且怕麻烦,像官方例程那样对内部温度采样,参考了这几篇文章 https://bbs.eeworld.com.cn/thread-309530-1-1.html https://bbs.eeworld.com.cn/thread-309162-1-5.html https://bbs.eeworld.com.cn/thread-287765-1-4.html 以及官方例程。 2、接受部分: 接收选用的2211,取消掉24l01的IRQ引脚改用定时查询功能来接收数据,取消掉P1.6的led指示,改用P1.1和P1.2连接电脑串口输出来更直观的显示我们收到的数据,引脚接线可以查看程序的PIN脚定义,很简单。24l01无线接收的调试可参考https://bbs.eeworld.com.cn/thread-308755-1-1.html,由于我们上一步将发射调试成功,所以这一步结合launchPad的仿真功能就很容易调试通过,给力啊。 Uart和PC通讯部分之前参考温度例程,感觉稍显复杂,于是自己通过timer的up模式写了一个,说明和例程请参考https://bbs.eeworld.com.cn/thread-309735-1-1.html 3、上位机看论坛里高手如云,机子里也没装工具,就直接利用超级终端打印出来了,好在一点是大家都有,调试也简单。 PS: 1、终端显示的温度跳动比较大,起始以为是无线传输错误,但是通过发送一部分固定值发现传输还是很准确的;然后怀疑AD采样,把2231放到launchPad板子上仿真输出发现采样波动很小;最后怀疑是24l01发射时电压波动造成的。 2、程序编码风格不是很好,最近很忙也没时间整理了,抱歉。 附件放上最终程序和一些参考资料,共同学习。
|