刚刚参加活动的时候,看到活动的标题“物联网低功耗蓝牙控制器”,以为是某一款蓝牙的IC在做活动。原谅我语文一般,忽略了定语的作用,这里的重点是控制器,并不是蓝牙。蓝牙功能并不需要在咱们是编程,只要使用串口发送AT指令就能进行控制。后面的使用主要还是使用Arduino IDE对ATMEGA328P处理器(单片机)进行操作。
1、开箱硬件
现在简单来开箱看看开发包的硬件:开发包里面包含一块开发板和4片插针。
插针的质量是真的好,以前使用的一般插针是偏扁形的,但是这里附带的插针仔细一看是成四方柱形,嗨,借用这么多形容词也没说清楚,简单一句就是:插针够粗,够直。后面在自己的设计中可以采用这种质感的插针。
板子的工艺也是比较好的那种,拿在手里很厚实。因为也没有仔细辨识过军工和医疗板子的品质,但是就这个板子来看,和普通消费类的0.8的板子不一样。这都是个人感觉,可能不准,但是任咱们谁拿到手里都不会嫌弃的,这点还是能够肯定。另外一点就是,打开静电密封袋的时候没有刺鼻的气味。
板子的正面很清晰,一个基于Dialog的蓝牙模块上有很清晰的 DFROBOT 标志,再一个就是ATMEGA328P 单片机了。这点我有点疑惑,上面没有串口转USB的芯片,没有CH340也没有PLxxx。但是根据手册可以直接接到PC,通过串口监控日志。这点暂时搁置,后面弄清楚了再分享给大家。
板子的背面也就是几个LOGO,没有其他的IC。通过上面的丝印,我们能够知道这个上面的双PIN插座是用来接电池的。送的插针刚好能够穿过所有的过孔,但是暂时还没搭建开发环境,就不焊接了。看到这个蓝牙模块,让我想到了以前接触的一个模块,安信可做的乐鑫ESP8266的模块。
2、开发套件的参数以及操作
1、从开发套件的示意图框图能够知道===
数字IO口:14
模拟IO输入:6
SPI接口:1
I2C接口:1
UART接口:1
LED_BUILTIN:D13
但是有个硬件框图的这些资料,还不能进行设计。咱们总的需要知道这个板子怎么烧写程序吧,毕竟也是第一次尝试,还是要循序渐进。以前接触过写字机的Arduino,但是也是直接使用的官方的固件,没有深入去了解过。现在这块板子可以试试按部就班的学习一下Arduino下的编程,也是一个不错的机会。下面来简单了解一下Arduino下的编程。
将硬件插上PC后,读取开发板的信息,可能和文档有点区别。我的显示的是:Genuino Uno。没关系接着在开发板管理器下选择Arduino Pro or Pro Mini 。
然后根据相关的页面的地址找到一段example程序,复制过来,在项目--》验证/编译 操作之后,显示没有问题,然后进行下载验证一下。
- #include <avr/sleep.h>
- void wakeup(){
- sleep_disable();
- delay(2000);
- }
- void lowpower(){
- ADCSRA &= ~(1<<ADEN);/*关掉ADC*/
- TWCR &= ~(1<<TWEN);/*关掉TWI*/
- delay(10);
- set_sleep_mode(SLEEP_MODE_PWR_DOWN);/*设置睡眠模式为掉电模式*/
- sleep_enable();/*启用睡眠模式*/
- MCUCR |= (1<<BODS|1<<BODSE);
- MCUCR = MCUCR & (~(1<<BODSE)) | (1<<BODS);
- sleep_cpu();/*进入睡眠模式*/
- }
- void setup() {
- attachInterrupt(0, wakeup, CHANGE); /*设置触发D2口的中断方式为电平变化,回调函数为wakeup(),即执行唤醒328p芯片的功能*/
- lowpower();
- }
- void loop() {
- lowpower();
- delay(2000);
- }
- CHG:电池充电指示灯,在没有接锂电池时,CHG闪烁;充电状态下,CHG灯常亮;充电完毕,CHG常灭
2、查看了模块的示意图以及分析了上面的程序,这里的AT指令是通过USB口进行控制,也就是说可能UART并不能配置这个蓝牙模块。看到这里,那就有个问题:模块的参数会保存吗,还是每次开机都要通过串口进行配置?这个问题也搁置,后面熟悉套件自然就能够得到解答。
但是不管怎样,根据这里的信息,点亮OLED12864应该是没有问题的,下期有机会了再和大家探讨,怎样点亮这OLED12864。
最后的话:
后会有期,江湖再见。