查看“开源LED点阵时钟/zh”的源代码
←
开源LED点阵时钟/zh
跳转至:
导航
、
搜索
因为以下原因,您没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看与复制此页面的源代码。
{{Language|Microduino Lattice clock}} {| style="width: 800px;" |- | ==概述== *项目名称:Microduino 双色点阵级联 *目的:通过四个Microduino DcolorMatrix级联来实现电子万年历,同时我们在矩阵上安装DHT11传感器,用来检测温湿度。并且通过Android手机来切换显示。 *难度:高级 *耗时:5小时 *制作者:Microduino Studio-YLB ==材料清单== *Microduino设备 {|class="wikitable" |- |模块||数量||功能 |- |[[Microduino-Core/zh]]||1||核心板 |- |[[Microduino-USBTTL/zh]] ||1||下载程序 |- |[[Microduino-RTC/zh]]||1||读取时间 |- |[[Microduino-BT/zh]]||1||手机与Core通讯 |- |[[Microduino-Module Dot Matrix/zh]]||4||显示 |- |} *其他设备 {|class="wikitable" |- |USB数据线||1||供电,下载 |- |面包板跳线||1||连接电路 |} ==文档== IIC驱动库: Adafruit-LED-Backpack-Library:https://github.com/adafruit/Adafruit-LED-Backpack-Library 图形库: Adafruit-GFX-Library:https://github.com/adafruit/Adafruit-GFX-Library '''注意:如果需要画图,必须把Adafruit-GFX-Library也拷贝到IDE的libraries里''' DHT11库:[https://github.com/wasdpkj/Microduino-IDE/tree/master/arduino-1.0.6-windows/libraries/_07_Microduino_Sensor _07_Microduino_Sensor-IDE/tree/master/arduino-1.0.6-win] RTC库:[https://github.com/wasdpkj/Microduino-IDE/tree/master/arduino-1.0.6-windows/libraries/_06_Microduino_RTC_PCF8563 _06_Microduino_RTC_PCF8563] 测试程序:[https://github.com/Microduino/Microduino_Tutorials/tree/master/Microduino_Advanced_Tutorial/LED_bluetooth_time LED_bluetooth_time] ==调试== 硬件搭建: *步骤一:如何级联 Microduino DcolorMatrix采用IIC驱动,由于在I2C总线上的每个设备都必须有一个唯一的地址,因此需要更改,否则你会得到很多奇怪的现象。我们采用HT1633K有3个引脚可以更改地址。分别是A0、A1、A2,默认为0x70。 更改地址: 正面找到三个A0 、 A1、A2焊接跳线。每一个是用于在地址进行硬编码。如果跳线短接焊,即设置地址。 A0设置最低位为1的值, A1设置中间位为2的值和A2设置高位为4的值,最后地址是16进制值为0x70 + A2 + A1 + A0 。因此,例如,如果A 2被短路和A0被短路,该地址是16进制值为0x70 + 4 + 1 = 0X75 。如果只有A1被短路,地址是16进制值为0x70 + 2 =0x72。因此可以设置的地址为0x70 , 0X71 ,0x72 ,0x73 , 0x74 , 0X75 , 0x76 , 0x77。 我们的示例程序的IIC地址分别为:0x70、 0X71 、0x72 、0x73 。 程序实现: 需要在begin()函数里设置四个独特的I2C地址,如”begin(0x70)、begin(0x71)、begin(0x72)、begin(0x73)、”,并且声明四个不同的对象,如“Adafruit_BicolorMatrix matrix1= Adafruit_BicolorMatrix();”。 *步骤二:将更改了IIC的地址底板级联,只有按顺序从右往左接插好就行。 *步骤三:接上核心模块(Microduino Core+Microduino FT232R+Microduino RTC+Microduino BT) 注意:因为一块控制板最能叠加两块Microduino模块。BT采用软串口9、10,所以需要将9,10级联,玩家可根据情况更改串口。 *步骤四:DHT11传感器接法 这里我们将DATA连接到Microduino的D3引脚,在程序中定义为“#define DHT11PIN 3 //DHT11 PIN 3”,玩家也可以自己更改引脚。 [[File:DHT11.jpg|600px|center|thumb]] *叠加点阵,注意点阵方向,有文字的一端朝下(HT16K33芯片在上)。 软件调试: 步骤一:下载使用到的库,将其解压到IDE的libraries文件夹内。 步骤二:下载示例程序并打开,编译通过后选择好板卡直接下载。 如果成功在点阵屏上就可以显示时间了。 [[File:DcolorMatrix4.jpg|600px|center|thumb]] 步骤三:使用手机切换显示界面(这里面对Android手机,用的是蓝牙2.1设备),客户端在程序文件夹里面:Microduino_Martix.apk *打开手机蓝牙 *打开应用程序,搜索蓝牙设备,连接到你的蓝牙设备。连接成功就可以控制,否则进行重新连接。 *成功就可以通过button来控制。需要长按按钮,等界面切换就可以松开botton。可以显示日期、星期、温湿度。等界面显示完毕又返回现实时间。 [[File:DcolorMatrix_ble.jpg|600px|center|thumb]] [[File:DcolorMatrix5.jpg|600px|center|thumb]] [[File:DcolorMatrix6.jpg|600px|center|thumb]] *程序实现原理 **蓝牙控制原理 通过串口传输数据,手机上按钮只有在按下情况下发送指定字符,如果松开就就发送“0”字符,这样在没有按下情况下,将会一直显示时间。 **时钟显示 通过读取RTC时钟,将特定的数值以坐标形式显示出来就行。闪速的秒钟,用过判断秒是否能被2整除,如果能就显示,否者不显示。 **滚动图像 通过改变显示坐标的值就可以实现滚动效果。通过vosetlcd(“char”,long,color,time)函数来实现。 “char”:要显示的字符串 long:字符串长度*8 color:字体颜色(LED_RED,LED_GREEN,LED_YEELOW) Time:移动速度 **温度通过 lcdtemphun(temp,color1,color2,"o","C");函数来显示 Temp:温度值 color1:温度值颜色 Color2:温度符号颜色 *湿度通过 lcdtemphun(hum,color1,color2,"%"," ");函数来显示 Hum:湿度值 color1:湿度值颜色 Color2:湿度符号颜色 ==结果== 通过实验我们实现了电子万年历,检测温湿度并显示。能够较好的用Android手机来切换显示。 ==通过蓝牙调整时间== 如果RTC长时间不供电的话,时间将会出错,但是为了避免每次需要通过下载程序的办法来调整时间,我们采用BT(4.0)结合IOS设备来调节时间。 ==程序== 下载:[https://github.com/Microduino/Microduino_Tutorials/tree/master/Microduino_Advanced_Tutorial/microduino_ble_time Microduino_ble_time] 注意:你需要将BT模块和Core核心模块叠加在同一个板子上进行调试,因为LED点阵级联的是电源、地、IIC四个引脚,而BT默认的则是软串口(D4、D5),因此需要将BT模块和Core核心模块叠加在一起。 *前往Appstore下载Lightblue,使用方法参考:[[Microduino_BT串口透传数据到IOS设备]]。 *发送数据格式为:'''t:year,month,day,hour,minute,week''',注意年份暂时涉及两位就行,比如2014年只要写14就行。 *当时间设置完毕,屏幕上会显示“Time is OK”。这时你发现时间就更换好了。 当然你也可以通过Android设备来调试,前提是要4.3以上的系统才能支持BT(4.0)模块,同时你需要下载一个蓝牙串口助手来进行调试。发送数据格式和上面一样。 ==注意问题== *IIC地址更换 *DHT11接线顺序 *点阵安装方向 *蓝牙串口连接 ==视频== |}
该页面使用的模板:
模板:Language
(
查看源代码
)
模板:Nmbox
(
查看源代码
)
返回至
开源LED点阵时钟/zh
。
导航菜单
个人工具
创建账户
登录
名字空间
页面
讨论
变种
视图
阅读
查看源代码
查看历史
更多
搜索
Welcome
首页
创客大赛
大赛详情
3D打印
安装月球车
图形化编程
操控月球车
升级月球车
编程工具下载
软件下载
Arduino
Processing
Mixly
Scratch
模块套件
Microduino 102
mCookie 102
mCookie 202
mCookie 302
IBC
其他
应用套件
四轴飞行器
平衡车
小车CUBE
音乐播放器
刷卡音乐播放器
wifi气象站
彩虹音乐触摸灯
分贝检测仪
迎门汇报
LED点阵时钟
LED点阵屏幕
硬件
mCookie
Sensor
Microduino
MicroWrt
MicroNux
MicroRobot-Core
MicroRobot-CoreESP
ideaBoard
ideaBox
MicroMV
MicroAI
帮助
常见问题
帮助
工具
链入页面
相关更改
特殊页面
页面信息