查看“开源LED点阵屏幕/zh”的源代码
←
开源LED点阵屏幕/zh
跳转至:
导航
、
搜索
因为以下原因,您没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看与复制此页面的源代码。
{{Language|Microduino Matrix screen}} {| style="width: 800px;" |- | ==概述== *项目名称:Microduino LED点阵屏幕 *目的:了解Microduino DcolorMatrix 点阵屏幕的原理 *难度:低级 *耗时:1小时 *制作者:Microduino Studio-YLB ==材料清单== *Microduino设备 {|class="wikitable" |- |模块||数量||功能 |- |[[Microduino-Core/zh]]||1||核心板 |- |[[Microduino-USBTTL/zh]] ||1||下载程序 |- |} *其他设备 {|class="wikitable" |- ||Microduino LEDMatrix||1||显示 |- |USB数据线||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里''' 测试程序:'''[[File: _01_Microduino_DotMatrix.zip]]''' ===调试=== 步骤一:将microduino模块叠在一块(Microduino Core + Microduino USBTTL + Microduino-Cube-S1),连接LEDMatrix与Cube-S1的IIC引脚。 步骤二:下载使用到的库,将其解压到IDE的libraries文件夹内。 步骤三:下载示例程序并打开,编译通过后选择好板卡(Microduino Core)直接下载。 成功的话则可以在点阵屏上显示0到50计数和流动显示mcookie字符,由于点阵分辨率只有8*8,因此20以后的数字屏幕会显示不全。(下一篇教程中会有多个点阵屏幕级联) [[File: LEDMatrix.jpg|600px|center|thumb]] *程序 <source lang="cpp"> #include "Microduino_Matrix.h" uint8_t Addr[MatrixPix_X][MatrixPix_Y] = { { 64} //IIC address }; Matrix display = Matrix(Addr); void setup() { Serial.begin(115200); // See the connection status in Serial Monitor Wire.begin(); //getDeviceAddr for (int a = 0; a < display.getMatrixNum(); a++) { Serial.print(display.getDeviceAddr(a)); Serial.print(" "); } Serial.println(""); //setLedColor for (int y = 0; y < display.getHeight() * 8; y++) { for (int x = 0; x < display.getWidth() * 8; x++) { randomSeed(analogRead(A0)); display.setLedColor(x, y, random(0, 255), random(0, 255), random(0, 255)); //x, y, r, g, b delay(5); } } delay(1000); display.clearDisplay(); //clearColor display.clearColor(); //writeString H display.writeString("Microduino", MODE_H, 20, 0); //string, MODE, time ,y display.clearDisplay(); //writeString V display.writeString("Microduino", MODE_V, 20, 0); //string, MODE, time ,x display.clearDisplay(); } int i; void loop() { i = display.getStringWidth("mCookie!"); display.setColor(255, 255, 0); display.setFontMode(MODE_H); for (int a = display.getWidth() * 8; a > -i - display.getWidth() * 8; a--) { display.setCursor(a, 0); //x, y display.print("mCookie!"); delay(20); } display.clearDisplay(); i = display.getStringHeight("mCookie!"); display.setColor(255, 0, 255); display.setFontMode(MODE_V); for (int a = display.getHeight() * 8; a > -i - display.getHeight() * 8; a--) { display.setCursor(0, a); //x, y display.print("mCookie!"); delay(20); } display.clearDisplay(); unsigned long timer = millis(); display.setColor(0, 255, 255); display.setFontMode(MODE_H); while (millis() - timer < 5000) { display.setCursor(0, 0); //x, y display.print((millis() - timer) / 100); delay(20); } display.clearDisplay(); } </source> 代码uint8_t Addr[MatrixPix_X][MatrixPix_Y] = { 64 }中的64指的是DcolorMatrix模块的iic地址,要设置DcolorMatrix模块的iic地址,先要清楚模块的iic地址表示方式。先按着模块背面的按键,再接上电源,待屏幕变白色后应立即放开手,屏幕有多少个白格子代表iic地址就是多少,比如图中的iic地址就是60。 [[File: anjian.jpg|500px|left]] [[File: gezi.png|500px|top]] 如果屏幕亮的时候时候所有格子都是白色也不可认为此模块的iic地址就是64,可能会溢出,需要手动调。慢按背面按键是加一,快按背面按键是减一,按住不放即可设置成功。(例如想从60设置成64,慢速按按键加到64时长按等屏幕关闭即可)
返回至
开源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
帮助
常见问题
帮助
工具
链入页面
相关更改
特殊页面
页面信息