刚刚参加活动的时候,看到活动的标题“物联网低功耗蓝牙控制器”,以为是某一款蓝牙的IC在做活动。原谅我语文一般,忽略了定语的作用,这里的重点是控制器,并不是蓝牙。蓝牙功能并不需要在咱们是编程,只要使用串口发送AT指令就能进行控制。后面的使用主要还是使用Arduino IDE对ATMEGA328P处理器(单片机)进行操作。




esp12f焊接_单片机


1、开箱硬件
现在简单来开箱看看开发包的硬件:开发包里面包含一块开发板和4片插针。
插针的质量是真的好,以前使用的一般插针是偏扁形的,但是这里附带的插针仔细一看是成四方柱形,嗨,借用这么多形容词也没说清楚,简单一句就是:插针够粗,够直。后面在自己的设计中可以采用这种质感的插针。


esp12f焊接_zs040蓝牙模块数据手册_02


板子的工艺也是比较好的那种,拿在手里很厚实。因为也没有仔细辨识过军工和医疗板子的品质,但是就这个板子来看,和普通消费类的0.8的板子不一样。这都是个人感觉,可能不准,但是任咱们谁拿到手里都不会嫌弃的,这点还是能够肯定。另外一点就是,打开静电密封袋的时候没有刺鼻的气味。
板子的正面很清晰,一个基于Dialog的蓝牙模块上有很清晰的 DFROBOT 标志,再一个就是ATMEGA328P 单片机了。这点我有点疑惑,上面没有串口转USB的芯片,没有CH340也没有PLxxx。但是根据手册可以直接接到PC,通过串口监控日志。这点暂时搁置,后面弄清楚了再分享给大家。


esp12f焊接_esp12f焊接_03


板子的背面也就是几个LOGO,没有其他的IC。通过上面的丝印,我们能够知道这个上面的双PIN插座是用来接电池的。送的插针刚好能够穿过所有的过孔,但是暂时还没搭建开发环境,就不焊接了。看到这个蓝牙模块,让我想到了以前接触的一个模块,安信可做的乐鑫ESP8266的模块。


esp12f焊接_esp12f焊接_04


2、开发套件的参数以及操作
1、从开发套件的示意图框图能够知道===
数字IO口:14

­ 模拟IO输入:6

­ SPI接口:1

­ I2C接口:1

­ UART接口:1

­ LED_BUILTIN:D13


esp12f焊接_zs040蓝牙模块数据手册_05


但是有个硬件框图的这些资料,还不能进行设计。咱们总的需要知道这个板子怎么烧写程序吧,毕竟也是第一次尝试,还是要循序渐进。以前接触过写字机的Arduino,但是也是直接使用的官方的固件,没有深入去了解过。现在这块板子可以试试按部就班的学习一下Arduino下的编程,也是一个不错的机会。下面来简单了解一下Arduino下的编程。
将硬件插上PC后,读取开发板的信息,可能和文档有点区别。我的显示的是:Genuino Uno。没关系接着在开发板管理器下选择Arduino Pro or Pro Mini 。


esp12f焊接_单片机_06


具体的操作也可以参考如下步骤:


esp12f焊接_串口_07


然后根据相关的页面的地址找到一段example程序,复制过来,在项目--》验证/编译 操作之后,显示没有问题,然后进行下载验证一下。

#include
void wakeup(){
sleep_disable();
delay(2000);
}
void lowpower(){
ADCSRA &= ~(1delay(10);
set_sleep_mode(SLEEP_MODE_PWR_DOWN);/*设置睡眠模式为掉电模式*/
sleep_enable();/*启用睡眠模式*/
MCUCR |= (1<MCUCR = MCUCR & (~(1<sleep_cpu();/*进入睡眠模式*/
}
void setup() {
attachInterrupt(0, wakeup, CHANGE); /*设置触发D2口的中断方式为电平变化,回调函数为wakeup(),即执行唤醒328p芯片的功能*/
lowpower();
}
void loop() {
lowpower();
delay(2000);
}

得到的结果:项目使用了 946 字节,占用了 (3%) 程序存储空间。最大为 30720 字节。板子上的现象是CHG这个LED在闪烁,频率大概是1秒1次。也就是说,单片机这个时候啥也不干。


esp12f焊接_esp12f焊接_08


  • CHG:电池充电指示灯,在没有接锂电池时,CHG闪烁;充电状态下,CHG灯常亮;充电完毕,CHG常灭

2、查看了模块的示意图以及分析了上面的程序,这里的AT指令是通过USB口进行控制,也就是说可能UART并不能配置这个蓝牙模块。看到这里,那就有个问题:模块的参数会保存吗,还是每次开机都要通过串口进行配置?这个问题也搁置,后面熟悉套件自然就能够得到解答。


esp12f焊接_单片机_09


但是不管怎样,根据这里的信息,点亮OLED12864应该是没有问题的,下期有机会了再和大家探讨怎样点亮这OLED12864。

最后的话:
后会有期,江湖再见。