“开源LED点阵时钟/zh”的版本间的差异
(→其他设备) |
|||
第56行: | 第56行: | ||
==程序下载== | ==程序下载== | ||
− | |||
*请保持更新下载Microduino官方最新的IDE | *请保持更新下载Microduino官方最新的IDE | ||
*从下面链接下载程序:'''[https://github.com/wasdpkj/Dot_Maxtrix_Clock Dot-Matrix-Clock.ino]''' | *从下面链接下载程序:'''[https://github.com/wasdpkj/Dot_Maxtrix_Clock Dot-Matrix-Clock.ino]''' | ||
==程序烧写== | ==程序烧写== | ||
− | *将'''[[Microduino-Core/zh]]'''、'''[[Microduino-USBTTL/zh]]''' | + | *将'''[[Microduino-Core/zh]]'''、'''[[Microduino-USBTTL/zh]]'''堆叠在一起。 |
+ | **用数据线连接其中的'''[[Microduino-USBTTL/zh]]'''准备上传程序。 | ||
**注意:最好不要将所有模块堆叠在一起之后再上传程序 | **注意:最好不要将所有模块堆叠在一起之后再上传程序 | ||
*打开Arduino IDE for Microduino,环境,(搭建参考:'''[[AVR核心:Getting started/zh]]''') | *打开Arduino IDE for Microduino,环境,(搭建参考:'''[[AVR核心:Getting started/zh]]''') | ||
− | * | + | *点击'''【工具】''',确认'''板卡(Microduino-Core),处理器(Atmega328P@16M,5V)'''选择无误,并选中对应'''端口号(COMX)''' |
− | * | + | *点击'''【文件】'''->'''【打开】''',浏览到项目程序地址,点击'''“Dot-Matrix-Clock.ino”'''程序打开 |
*几项都无误后,点击'''"→"'''按钮下载程序到开发板上 | *几项都无误后,点击'''"→"'''按钮下载程序到开发板上 | ||
第90行: | 第90行: | ||
**把[[Microduino-Module Dot Matrix/zh]]模块连接[[Microduino-Cube-S1/zh]]的IIC接口 | **把[[Microduino-Module Dot Matrix/zh]]模块连接[[Microduino-Cube-S1/zh]]的IIC接口 | ||
**用双面胶把[[Microduino-Cube-S1/zh]]粘在外壳后面 | **用双面胶把[[Microduino-Cube-S1/zh]]粘在外壳后面 | ||
+ | *至此LED点阵时钟结构搭建成功 | ||
==蓝牙交互== | ==蓝牙交互== |
2016年3月18日 (五) 06:39的版本
Language | English |
---|
目录概述
简介:
材料清单Microduino设备
其他设备
实验原理
程序下载
程序烧写
拼装过程
蓝牙交互
蓝牙连接
校准时间
显示文字
代码说明点阵级联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”字符,这样在没有按下情况下,将会一直显示时间。 RTCrtc.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 按时,分,秒,日,月,年设置 displaydisplay.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
|