“开源LED点阵屏幕/zh”的版本间的差异

来自Microduino Wikipedia
跳转至: 导航搜索
(Undo revision 15329 by Zhangfengfeng (talk))
第4行: 第4行:
 
|-
 
|-
 
|
 
|
==Outline==
+
==概述==
*Project:Microduino LED dot matrix screen
+
*项目名称:Microduino LED点阵屏幕
*Objective:TO be acquainted with the use of the Microduino Dot Matrix.
+
*目的:熟悉Microduino Dot Matrix 点阵的使用
*Difficulty:Low
+
*难度:低级
*Time-consuming:1 hour
+
*耗时:1小时
*Maker:peng
+
*制作者:peng
  
==Bill of Material==
+
==材料清单==
 
{| border="0" cellpadding="10" width="100%"
 
{| border="0" cellpadding="10" width="100%"
 
|-
 
|-
 
|width="50%" valign="top" align="left"|
 
|width="50%" valign="top" align="left"|
===Bill of Module===
+
===模块清单===
 
{|class="wikitable"
 
{|class="wikitable"
 
|-
 
|-
|Function||Number||Function
+
|模块||数量||功能
 
|-
 
|-
|[[Microduino-Core]]||1||Core board
+
|[[Microduino-Core/zh]]||1||核心板
 
|-
 
|-
|[[Microduino-USBTTL]]||1||Program download
+
|[[Microduino-USBTTL/zh]]||1||下载程序
 
|-
 
|-
|[[Microduino-Module Dot Matrix]]||1||Display
+
|[[Microduino-Module Dot Matrix/zh]]||1||显示
 
|-
 
|-
|[[Microduino-Cube-S1]]||1||Extension
+
|[[Microduino-Cube-S1/zh]]||1||扩展
 
|-
 
|-
 
|}
 
|}
 
|width="50%" valign="top" align="left"|
 
|width="50%" valign="top" align="left"|
===Other Material===
+
===其他材料===
 
{|class="wikitable"
 
{|class="wikitable"
 
|-
 
|-
|Unit||Number||Function
+
|部件||数量||功能
 
|-
 
|-
|USB cable||1||Power supply, and download
+
|USB数据线||1||供电,下载
 
|-
 
|-
|LED dot matrix screen shell suite   || 1 ||Shell
+
|LED点阵屏幕外壳套件   || 1 ||外壳
 
|-
 
|-
|Double-sided adhesive   || 2 ||To stick the shell
+
|双面胶   || 2 ||粘外壳
 
|}
 
|}
 
|}
 
|}
  
==Principle of the Experiment==
+
==实验原理==
*Features of the module '''[[Microduino-Dot Matrix]]'''
+
*'''[[Microduino-Module Dot Matrix/zh]]'''模块特点:
**The module is 8x8 dot matrix, and the size is 60mm*60mm;
+
**模块为8x8点阵,尺寸60mm*60mm;
**The color display quality of each point is 24 bits, and the color display effect of the entity is 32k.
+
**每个点颜色显示质量为24位,整体32k彩色显示效果
**Support IIC communication protocol, and the IIC address can be set(1~64).
+
**支持IIC通讯协议,IIC地址可设(1~64)
  
==Program Download==
+
==程序下载==
*Please keep to download and update the Microduino official latest IDE.
+
*请保持更新下载Microduino官方最新的IDE
*You can download a program from the link below:[https://github.com/wasdpkj/Library_for_Microduino/tree/master/_01_Microduino_DotMatrix '''Dot-Matrix-base.ino''']
+
*从下面链接下载程序:[https://github.com/wasdpkj/Library_for_Microduino/tree/master/_01_Microduino_DotMatrix '''Dot-Matrix-base.ino''']
  
==Programming==
+
==程序烧写==
*Overlay '''[[Microduino-Core]]''' and '''[[Microduino-USBTTL]]''' together.
+
*'''[[Microduino-Core/zh]]''''''[[Microduino-USBTTL/zh]]'''堆叠在一起。
** Connect '''[[Microduino-USBTTL]]''' with USB cable and prepare to upload the program.
+
**用数据线连接其中的'''[[Microduino-USBTTL/zh]]'''准备上传程序。
**Note:Please upload programs before stacking all modules ntogether.
+
**注意:最好不要将所有模块堆叠在一起之后再上传程序
*Open Arduino IDE for Microduino environment.(The reference to set up:'''[[AVR Core:Getting started]]''')
+
*打开Arduino IDE for Microduino,环境,(搭建参考:'''[[AVR核心:Getting started/zh]]''')
*Click '''[Tool]''', confirm '''board card(Microduino-Core) and processor(Atmega328P@16M,5V)''' selected correctly, and select the corresponding '''port number(COMX)'''.
+
*点击'''【工具】''',确认'''板卡(Microduino-Core),处理器(Atmega328P@16M,5V)'''选择无误,并选中对应'''端口号(COMX)'''
*Click '''[File]'''->'''[Open]''', browse to the project program address and click '''“Dot-Matrix-Base.ino”''' to open the program.
+
*点击'''【文件】'''->'''【打开】''',浏览到项目程序地址,点击'''“Dot-Matrix-Base.ino”'''程序打开
*After all these items are right, click '''"→"''' button to download the program to the development board.
+
*几项都无误后,点击'''"→"'''按钮下载程序到开发板上
  
==Installation==
+
==拼装过程==
 
{| border="0" cellpadding="10" width="100%"
 
{| border="0" cellpadding="10" width="100%"
 
|-
 
|-
第68行: 第68行:
  
 
*'''Step1''':
 
*'''Step1''':
**Insert '''structure A3''' vertically into '''structure A1'''.
+
**'''结构A3'''垂直插入'''结构A1'''
 
|width="50%" valign="top" align="left"|
 
|width="50%" valign="top" align="left"|
 
[[File:Matrixjiegou1.jpg|500px|center]]
 
[[File:Matrixjiegou1.jpg|500px|center]]
第77行: 第77行:
  
 
*'''Step2''':
 
*'''Step2''':
**Use '''structure B2''' to connect '''structure A1''' and '''structure A2'''.
+
**利用'''结构B2''''''结构A1''''''结构A2'''连接
 
|width="50%" valign="top" align="left"|
 
|width="50%" valign="top" align="left"|
 
[[File:Matrixjiegou2.jpg|500px|center]]
 
[[File:Matrixjiegou2.jpg|500px|center]]
第86行: 第86行:
  
 
*'''Step3''':
 
*'''Step3''':
**Implant '''structure B1''' into '''structure B2''', and finally, use '''structure B3''' and '''structure B4''' to jam '''structure B2'''.
+
**'''结构B1'''也嵌入'''结构B2''',最后用'''结构B3''''''结构B4'''卡住'''结构B2'''
 
|width="50%" valign="top" align="left"|
 
|width="50%" valign="top" align="left"|
 
[[File:Matrixjiegou3.jpg|500px|center]]
 
[[File:Matrixjiegou3.jpg|500px|center]]
第95行: 第95行:
 
|width="50%" valign="top" align="left"|
 
|width="50%" valign="top" align="left"|
 
*'''Step4''':
 
*'''Step4''':
**When changing the IIC address of the dot matrix, you can refer to [[https://www.microduino.cn/wiki/index.php/Microduino-Module_Dot_Matrix/zh#.E7.82.B9.E9.98.B5.E5.9C.B0.E5.9D.80.E8.AE.BE.E7.BD.AE.E6.96.B9.E6.B3.95 method to set the IIC address of the dot matrix module]] tutorial.
+
**更改点阵模块IIC地址可以参考[[https://www.microduino.cn/wiki/index.php/Microduino-Module_Dot_Matrix/zh#.E7.82.B9.E9.98.B5.E5.9C.B0.E5.9D.80.E8.AE.BE.E7.BD.AE.E6.96.B9.E6.B3.95 点阵模块IIC地址设置方法]]教程
**Reserve the wire which is near to the key interface of the dot matrix module,  in order to make the connection to the IIC interface of '''[[Microduino-Cube-S1]]''' easier.
+
**预留点阵模块靠近按键接口的连线,以便于连接'''[[Microduino-Cube-S1/zh]]'''的IIC接口
 
|width="50%" valign="top" align="left"|
 
|width="50%" valign="top" align="left"|
 
[[File:Matrixjiegou5.jpg|500px|center]]
 
[[File:Matrixjiegou5.jpg|500px|center]]
第106行: 第106行:
  
 
*'''Step5''':
 
*'''Step5''':
**Stick the dot matrix module to the shell with double-sided adhesive.
+
**将点阵模块用双面胶粘在外壳内
**Overlay the following modules on the '''[[Microduino-Cube-S1]]'''.
+
**将以下模块叠在'''[[Microduino-Cube-S1/zh]]'''
***'''[[Microduino-Core]]'''
+
***'''[[Microduino-Core/zh]]'''
***'''[[Microduino-USBTTL]]'''
+
***'''[[Microduino-USBTTL/zh]]'''
**Stick the '''[[Microduino-Cube-S1]]''' on the back of '''structure B1'''.
+
**'''[[Microduino-Cube-S1/zh]]'''粘在'''结构B1'''背面
 
|width="50%" valign="top" align="left"|
 
|width="50%" valign="top" align="left"|
 
[[File:Matrixjiegou4.jpg|500px|center]]
 
[[File:Matrixjiegou4.jpg|500px|center]]
第116行: 第116行:
 
|}
 
|}
  
==Operating Instruction==
+
==操作说明==
 
{| border="0" cellpadding="10" width="100%"
 
{| border="0" cellpadding="10" width="100%"
 
|-
 
|-
第122行: 第122行:
  
  
*If successful, the dot matrix screen will display the following shapes and characters in turn.
+
*成功的话则可以依次在点阵屏上显示以下图形和字符
**Bitmap display(delivery)
+
**位图显示(取模)
**Bit map display(BMP film)
+
**位图显示(BMP文件)
**Microduino characters flow transervely.
+
**Microduino字符横向流动
**Microduino characters flow longitudinally.
+
**Microduino字符纵向流动
**Solid rectangle
+
**实心矩形
**Solid quadrilateral
+
**实心四边形
**Outlined rectangle
+
**空心矩形
**Outlined quadrilateral
+
**空心四边形
**Hollow cylindrical
+
**空心圆
**Solid cylindrical
+
**实心圆
**Straight line
+
**直线
**Flowing mcookie character
+
**流动mcookie字符
**0-49 counting
+
**0-49计数
 
|width="50%" valign="top" align="left"|
 
|width="50%" valign="top" align="left"|
 
[[File: LEDMatrix.jpg|600px|top]]
 
[[File: LEDMatrix.jpg|600px|top]]
 
|}
 
|}
 
|}
 
|}
==Code Instruction==
+
==代码说明==
 
   uint8_t Addr[MatrixPix_X][MatrixPix_Y] = { 64 }
 
   uint8_t Addr[MatrixPix_X][MatrixPix_Y] = { 64 }
Define the IIC address that is set for Dot Matrix module is 64 and cascade type.
+
定义Dot Matrix模块设置的IIC地址为64和级联方式。
 
   display.getDeviceAddr(a)
 
   display.getDeviceAddr(a)
Get the IIC address of the device.
+
获得设备IIC地址
 
   display.getWidth(),display.getHeight()
 
   display.getWidth(),display.getHeight()
Return X,Y coordinates.
+
返回X,Y坐标
 
   display.setLedColor(x, y, random(0, 255), random(0, 255), random(0, 255))
 
   display.setLedColor(x, y, random(0, 255), random(0, 255), random(0, 255))
Set the color of each LED randomly.
+
随机设置每个LED的颜色
 
   display.clearDisplay()
 
   display.clearDisplay()
Clean up the screen.
+
清理屏幕显示
 
   display.setColor(X,Y,Z)
 
   display.setColor(X,Y,Z)
Set the color of full screen. X:Red Y:Green  Z:Blue
+
设置全屏颜色 X:红色 Y:绿色 Z:蓝色
 
   display.writeString("string", MODE, time ,z)
 
   display.writeString("string", MODE, time ,z)
string:An arbitrary string. 
+
string:任意字符串, MODE:MODE_H横向显示字符/MODE_V竖向显示字符, time:显示时间(流动速度) ,z:X/Y坐标
MODE:MODE_H display characters horizontally. /MODE_V display characters vertically.
 
time:Show time.(flow velocity).
 
z:X/Y coordinate.
 
 
   display.drawBMP(X,Y,W,H,logoA)   
 
   display.drawBMP(X,Y,W,H,logoA)   
X:Horizontal coordinates  Y:Longitudinal coordinate  W:The width of the image H:The height of the image  logoA: Image array.
+
X:水平位坐标, Y:纵向坐标, W:图像的宽度, H:图像的高度, logoA:图像数组
 
   display.drawBMP(X,Y,logoB)
 
   display.drawBMP(X,Y,logoB)
X:Horizontal coordinates  Y:Longitudinal coordinate  logoB:Image array(Because logoB is the array of BMP file, you don’t need to obtain the image size again. To get in-depth knowledge about BMP, you can refer to [https://www.microduino.cn/wiki/index.php/Microduino%E7%82%B9%E9%98%B5%E6%A8%A1%E5%9D%97%E6%98%BE%E7%A4%BABMP%E5%BD%A9%E5%9B%BE ''' the dot matrix module display the BMP color graph''']).
+
X:水平位坐标, Y:纵向坐标,logoB:图像数组(因为logoB是BMP文件的数组,不需要再次获取图像的大小,深入了解BMP显示可参考[https://www.microduino.cn/wiki/index.php/Microduino%E7%82%B9%E9%98%B5%E6%A8%A1%E5%9D%97%E6%98%BE%E7%A4%BABMP%E5%BD%A9%E5%9B%BE/zh '''点阵模块显示BMP彩图'''])
 
   display.drawBox(X,Y,I,W)
 
   display.drawBox(X,Y,I,W)
This function is used to drawing a solid rectangle.  X:Horizontal coordinate.  Y:Longitudinal coordinate.  I:Length.  W:Width.
+
函数用来画实心矩形 X:水平位坐标,Y:纵向坐标,I:长,W:宽
 
   display.drawRBox(X, Y, I,W)
 
   display.drawRBox(X, Y, I,W)
This function is used to drawing a solid apex angle bending rectangular.  X:Horizontal coordinate.  Y:Longitudinal coordinate.  I:Length.  W:Width.
+
函数用来画实心顶角弯曲矩形 X:水平位坐标,Y:纵向坐标,I:长,W:宽
 
   display.drawFrame(X,Y,I,W)
 
   display.drawFrame(X,Y,I,W)
This function is used to draw a hollow rectangle.  X:Horizontal coordinate.  Y:Longitudinal coordinate.  I:Length.  W:Width.
+
函数用来画空心矩形 X:水平位坐标,Y:纵向坐标,I:长,W:宽
 
   display.drawRFrame(X,Y,I,W,)
 
   display.drawRFrame(X,Y,I,W,)
This function is used to draw a hollow apex angle bending rectangular.  X:Horizontal coordinate.  Y:Longitudinal coordinate.  I:Length.  W:Width.
+
函数用来画空心顶角弯曲矩形 X:水平位坐标,Y:纵向坐标,I:长,W:宽
 
   display.drawCircle(X,Y,D)
 
   display.drawCircle(X,Y,D)
This function is used to draw a hollow circle.  X:Horizontal coordinate.  Y:Longitudinal coordinate.  D:Diameter.
+
函数用来画空心圆 X:水平位坐标,Y:纵向坐标,D:直径
 
   display.drawDisc(X,Y,D)
 
   display.drawDisc(X,Y,D)
This function is to draw a solid circle.  X:Horizontal coordinate.  Y:Longitudinal coordinate.  D:Diameter.
+
函数用来画实心圆 X:水平位坐标,Y:纵向坐标,D:直径
 
   display.drawLine(X,Y,M,N)
 
   display.drawLine(X,Y,M,N)
This function is to draw a straight line.  X:Starting point horizontal coordinate.  Y:Starting point longitudinal coordinate.  M:Finishing point horizontal coordinate.  N:Ending point longitudinal coordinate.
+
用来画直线 X:起点水平位坐标,Y:起点纵向坐标,M:终点水平位坐标,N:终点纵向坐标
  
 
==FAQ==
 
==FAQ==
*'''Q:How to know the IIC address?'''
+
*'''Q:怎么知道IIC地址?'''
**A:Please refer to '''[[https://www.microduino.cn/wiki/index.php/Microduino-Module_Dot_Matrix/zh#.E7.82.B9.E9.98.B5.E5.9C.B0.E5.9D.80.E8.AE.BE.E7.BD.AE.E6.96.B9.E6.B3.95 method to set the IIC address of the dot matrix module]]''' tutorial.
+
**A:查阅'''[[https://www.microduino.cn/wiki/index.php/Microduino-Module_Dot_Matrix/zh#.E7.82.B9.E9.98.B5.E5.9C.B0.E5.9D.80.E8.AE.BE.E7.BD.AE.E6.96.B9.E6.B3.95 点阵模块IIC地址设置方法]]'''教程
*'''Q:How to use multiple screens at the same time?'''
+
*'''Q:怎么同时使用多块屏幕?'''
**A:In the next page [[Open Source LED Dot Matrix]], there will be specific introduction of the cascade of multiple [[Microduino-Dot Matrix Clock]].
+
**A:在下一篇[[开源LED点阵时钟/zh]]会详细讲多块[[Microduino-Module Dot Matrix/zh]]级联
*'''Q:Why does it display incompletely after counting to 20?'''
+
*'''Q:为什么计数到20以后显示不全?'''
**A:Because the dot matrix resolution is only 8*8, there are not enough pixels, and the screen can’t display the numbers after 20 completely.
+
**A:由于点阵分辨率只有8*8,像素点不够,因此20以后的数字屏幕会显示不全
 
|}
 
|}

2016年4月7日 (四) 09:14的版本

Language English


概述

  • 项目名称:Microduino LED点阵屏幕
  • 目的:熟悉Microduino Dot Matrix 点阵的使用
  • 难度:低级
  • 耗时:1小时
  • 制作者:peng

材料清单

模块清单

模块 数量 功能
Microduino-Core/zh 1 核心板
Microduino-USBTTL/zh 1 下载程序
Microduino-Module Dot Matrix/zh 1 显示
Microduino-Cube-S1/zh 1 扩展

其他材料

部件 数量 功能
USB数据线 1 供电,下载
LED点阵屏幕外壳套件 1 外壳
双面胶 2 粘外壳

实验原理

  • Microduino-Module Dot Matrix/zh模块特点:
    • 模块为8x8点阵,尺寸60mm*60mm;
    • 每个点颜色显示质量为24位,整体32k彩色显示效果
    • 支持IIC通讯协议,IIC地址可设(1~64)

程序下载

  • 请保持更新下载Microduino官方最新的IDE
  • 从下面链接下载程序:Dot-Matrix-base.ino

程序烧写

  • Microduino-Core/zhMicroduino-USBTTL/zh堆叠在一起。
    • 用数据线连接其中的Microduino-USBTTL/zh准备上传程序。
    • 注意:最好不要将所有模块堆叠在一起之后再上传程序
  • 打开Arduino IDE for Microduino,环境,(搭建参考:AVR核心:Getting started/zh
  • 点击【工具】,确认板卡(Microduino-Core),处理器(Atmega328P@16M,5V)选择无误,并选中对应端口号(COMX)
  • 点击【文件】->【打开】,浏览到项目程序地址,点击“Dot-Matrix-Base.ino”程序打开
  • 几项都无误后,点击"→"按钮下载程序到开发板上

拼装过程

  • Step1:
    • 结构A3垂直插入结构A1
  • Step2:
    • 利用结构B2结构A1结构A2连接
  • Step3:
    • 结构B1也嵌入结构B2,最后用结构B3结构B4卡住结构B2

操作说明


  • 成功的话则可以依次在点阵屏上显示以下图形和字符
    • 位图显示(取模)
    • 位图显示(BMP文件)
    • Microduino字符横向流动
    • Microduino字符纵向流动
    • 实心矩形
    • 实心四边形
    • 空心矩形
    • 空心四边形
    • 空心圆
    • 实心圆
    • 直线
    • 流动mcookie字符
    • 0-49计数

600px

|}

代码说明

 uint8_t Addr[MatrixPix_X][MatrixPix_Y] = { 64 }

定义Dot Matrix模块设置的IIC地址为64和级联方式。

 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坐标

 display.drawBMP(X,Y,W,H,logoA)  

X:水平位坐标, Y:纵向坐标, W:图像的宽度, H:图像的高度, logoA:图像数组

 display.drawBMP(X,Y,logoB)

X:水平位坐标, Y:纵向坐标,logoB:图像数组(因为logoB是BMP文件的数组,不需要再次获取图像的大小,深入了解BMP显示可参考点阵模块显示BMP彩图)

 display.drawBox(X,Y,I,W)

函数用来画实心矩形 X:水平位坐标,Y:纵向坐标,I:长,W:宽

 display.drawRBox(X, Y, I,W)

函数用来画实心顶角弯曲矩形 X:水平位坐标,Y:纵向坐标,I:长,W:宽

 display.drawFrame(X,Y,I,W)

函数用来画空心矩形 X:水平位坐标,Y:纵向坐标,I:长,W:宽

 display.drawRFrame(X,Y,I,W,)

函数用来画空心顶角弯曲矩形 X:水平位坐标,Y:纵向坐标,I:长,W:宽

 display.drawCircle(X,Y,D)

函数用来画空心圆 X:水平位坐标,Y:纵向坐标,D:直径

 display.drawDisc(X,Y,D)

函数用来画实心圆 X:水平位坐标,Y:纵向坐标,D:直径

 display.drawLine(X,Y,M,N)

用来画直线 X:起点水平位坐标,Y:起点纵向坐标,M:终点水平位坐标,N:终点纵向坐标

FAQ

|}