“开源LED点阵时钟/zh”的版本间的差异
(→文档) |
|||
第6行: | 第6行: | ||
==概述== | ==概述== | ||
*项目名称:Microduino 点阵级联时钟 | *项目名称:Microduino 点阵级联时钟 | ||
− | *目的:通过四个Microduino Dot | + | *目的:通过四个Microduino Dot Matrix级联来实现电子万年历,并且通过Android手机来切换显示。 |
*难度:高级 | *难度:高级 | ||
*耗时:5小时 | *耗时:5小时 | ||
第38行: | 第38行: | ||
==文档== | ==文档== | ||
下载Microduino官方最新的IDE | 下载Microduino官方最新的IDE | ||
− | + | ||
− | [https://github.com/wasdpkj/Dot_Maxtrix_Clock] | + | 测试程序: |
+ | [https://github.com/wasdpkj/Dot_Maxtrix_Clock Dot-Matrix-Clock.ino] | ||
==调试== | ==调试== |
2016年2月22日 (一) 09:24的版本
Language | English |
---|
概述
材料清单
文档下载Microduino官方最新的IDE 测试程序: Dot-Matrix-Clock.ino 调试硬件搭建:
Microduino-Module Dot Matrix采用IIC驱动,由于在I2C总线上的每个设备都必须有一个唯一的地址,因此需要更改,否则你会得到很多奇怪的现象。 更改地址: 在开源LED点阵屏幕教程中有介绍怎么设置Dot Matrix模块的IIC地址,在这里再简单说下,先按着模块背面的按键,再接上电源,待屏幕变白色后应立即放开按键,屏幕有多少个白格子代表iic地址就是多少。慢按背面按键是地址加一,快按背面按键是减一,按住不放待屏幕变灭或有变化即可设置成功。(如果屏幕亮的时候时候所有格子都是白色也不可认为此模块的iic地址就是64,可能会溢出,最好手动调到64) 程序实现: 需要在begin()函数里设置四个独特的I2C地址,如”begin(0x70)、begin(0x71)、begin(0x72)、begin(0x73)、”,并且声明四个不同的对象,如“Adafruit_BicolorMatrix matrix1= Adafruit_BicolorMatrix();”。
注意:因为一块控制板最能叠加两块Microduino模块。BT采用软串口9、10,所以需要将9,10级联,玩家可根据情况更改串口。
这里我们将DATA连接到Microduino的D3引脚,在程序中定义为“#define DHT11PIN 3 //DHT11 PIN 3”,玩家也可以自己更改引脚。
步骤二:下载示例程序并打开,编译通过后选择好板卡直接下载。 如果成功在点阵屏上就可以显示时间了。 步骤三:使用手机切换显示界面(这里面对Android手机,用的是蓝牙2.1设备),客户端在程序文件夹里面:Microduino_Martix.apk
通过串口传输数据,手机上按钮只有在按下情况下发送指定字符,如果松开就就发送“0”字符,这样在没有按下情况下,将会一直显示时间。
通过读取RTC时钟,将特定的数值以坐标形式显示出来就行。闪速的秒钟,用过判断秒是否能被2整除,如果能就显示,否者不显示。
通过改变显示坐标的值就可以实现滚动效果。通过vosetlcd(“char”,long,color,time)函数来实现。 “char”:要显示的字符串 long:字符串长度*8 color:字体颜色(LED_RED,LED_GREEN,LED_YEELOW) Time:移动速度
Temp:温度值 color1:温度值颜色 Color2:温度符号颜色
Hum:湿度值 color1:湿度值颜色 Color2:湿度符号颜色 结果通过实验我们实现了电子万年历,检测温湿度并显示。能够较好的用Android手机来切换显示。 通过蓝牙调整时间如果RTC长时间不供电的话,时间将会出错,但是为了避免每次需要通过下载程序的办法来调整时间,我们采用BT(4.0)结合IOS设备来调节时间。 程序注意:你需要将BT模块和Core核心模块叠加在同一个板子上进行调试,因为LED点阵级联的是电源、地、IIC四个引脚,而BT默认的则是软串口(D4、D5),因此需要将BT模块和Core核心模块叠加在一起。
当然你也可以通过Android设备来调试,前提是要4.3以上的系统才能支持BT(4.0)模块,同时你需要下载一个蓝牙串口助手来进行调试。发送数据格式和上面一样。 注意问题
视频 |