模块清单
|
其他材料
部件 |
数量 |
功能
|
USB数据线 |
1 |
供电,下载
|
LED点阵时钟外壳套件 |
1 |
外壳
|
双面胶 |
9 |
粘外壳
|
实验原理
程序下载
程序烧写
拼装过程
- Step3:
- 把结构C1也嵌入结构B3,最后用结构B5和结构B4卡住结构B3
|
|
操作说明
蓝牙连接
- 确定手机蓝牙已打开,使用APP搜索名为“Microduino”的蓝牙设备
- 连接成功,即可进行控制
校准时间
- 鉴于RTC模块长时间不供电会造成时间丢失的现象,我们添加了通过蓝牙模块,利用APP校正时间
- 点击“sync time with phone”按钮即可校正点阵的时间
|
|
显示文字
- 在输入栏写入‘hello microduino’,点击“send message”,点阵屏幕上会显示输入的字符
|
|
代码说明
代码下载:文件:Dot Maxtrix Clock.zip
点阵级联
uint8_t Addr[MatrixPix_X][MatrixPix_Y] = {
{ 64, 63, 62, 61}};
定义了四个Dot Matrix模块的IIC地址是64,63,62,61,排列方式是1x4。
蓝牙
while (mySerial.available()) {...}
当串口有数据时有效。
mySerial.read()
读取软串口传输的数据
if (c == 't' && buffer_num == 0 && !buffer_sta_d)
buffer_sta_t = true;
if (c == 'm' && buffer_num == 0 && !buffer_sta_t)
buffer_sta_d = true;
判断是日期数据还是时间数据
strstr((char *)buffer, "t")
返回buffer中第一次出现"t"字符的地址
sscanf((char *)strstr((char *)buffer, "t"), "t%d,%d,%d,%d,%d,%d", &sta[0], &sta[1], &sta[2], &sta[3], &sta[4], &sta[5]);
从buffer中"t"字符第一次出现的地址起,按%d格式读取数值写入到sta[]中
bleUpdata()
通过软串口传输数据,手机上按钮只有在按下 情况下发送指定字符,如果松开就就发送“0”字符,这样在没有按下情况下,将会一直显示时间。
RTC
rtc.getDate();
rtc.getTime();
setTime(rtc.getHour(), rtc.getMinute(), rtc.getSecond(), rtc.getDay(), rtc.getMonth(), rtc.getYear())
获得rtc的日期时间数据
rtc.setDate(day(), weekday() , month(), 0, year() - 2000); //day, weekday, month, century(1=1900, 0=2000), year(0-99)
rtc.setTime(hour(), minute() , second()); //hr, min, sec
按时,分,秒,日,月,年设置
display
display.print(second() % 2 ? " " : ":");
闪速的秒钟,用过判断秒是否能被2整除,如果能就显示,否者不显示
display.getDeviceAddr(a)
获得设备IIC地址
display.getWidth(),display.getHeight()
返回X,Y坐标
display.setLedColor(x, y, random(0, 255), random(0, 255), random(0, 255))
随机设置每个LED的颜色
display.clearDisplay()
清理屏幕显示
display.setColor(X,Y,Z)
设置全屏颜色 X:红色 Y:绿色 Z:蓝色
display.writeString("string", MODE, time ,z)
string:任意字符串, MODE:MODE_H横向显示字符/MODE_V竖向显示字符, time:显示的时间(字符在屏幕流动速度) ,z:X/Y坐标
通过读取RTC时钟,将特定的数值以坐标形式显示出来就行。
疑难解答/FAQ
|