“Sensor-Dot Matrix-S2/zh”的版本间的差异

来自Microduino Wikipedia
跳转至: 导航搜索
第1行: 第1行:
{{Language|Microduino-Dot Matrix}}
+
{{Language|Microduino-Dot Matrix-S2}}
 
{| style="width: 800px;"
 
{| style="width: 800px;"
 
|-
 
|-
 
|
 
|
[[file:Dot Matrixfront.jpg|thumb|400px|right]]
+
[[file:Dot Matrix-S2front.jpg|thumb|400px|right]]
Microduino-Dot Matrix的产品编号是:'''MSDL31'''
+
Microduino-Dot Matrix-S2的产品编号是:'''MSDL32'''
 +
 
 +
Microduino-Dot Matrix-S2模块是一个8x8单色LED显示矩阵模块,可单个点阵或多个点阵级联(组合成不同的形状)使用,用于显示图片或文字,甚至是简单的动画效果。
  
Microduino-Dot Matrix模块是一个8x8多彩LED显示矩阵模块,可单个点阵或多个点阵级联(组合成不同的形状)使用,用于显示图片或文字,甚至是简单的动画效果。
 
 
==特色==
 
==特色==
 +
*8x8点阵,尺寸32mm*32mm
 +
*每个点32级亮度调节
 +
*支持IIC通讯协议,IIC地址可设(1~64),点阵序列采用平面直角坐标系
 +
*板载2个IIC接口,便于多个点阵进行级联
  
*8x8点阵,尺寸60mm*60mm;
+
==规格==
*每个点颜色显示质量为15位,RGB三基色32级调节,整体32k色彩色显示效果;
+
*传感器电压
*支持IIC通讯协议,IIC地址可设(1~64),点阵序列采用平面直角坐标系,便于控制;
+
**5V工作电压
*板载2个IIC接口,便于多个点阵进行级联;
+
*传感器电流
*一个I/O口可灵活操作每个灯珠的发光颜色;
+
**不超过300mA
*开源的硬件电路设计,与 Arduino 兼容的编程开发环境程;
 
*统一的 Microduino 接口规范,和丰富的外围模块,可方便、灵活的与其他符合 Microduino 接口规范的模块、传感器进行快速的连接和扩展;
 
  
 +
*传感器大小
 +
**板子大小:60mm*60mm
 +
**1.27mm间距的4Pin接口与sensorhub相连
  
==规格==
+
*功能描述
*电气规格
+
**8x8点阵
**工作电压:5V
+
*每个点32级亮度调节
**工作电流:最大300mA
+
**支持IIC通讯协议,IIC地址可设(1~64),点阵序列采用平面直角坐标系
**IIC通讯速率:400Kbps
+
**板载2个IIC接口,便于多个点阵进行级联
*显示质量
 
**三基色灰度:32级可调
 
**单个点大小:6mm*6mm
 
*控制
 
**通过模块背面按键设置IIC地址(1~64)
 
  
 
*接法
 
*接法
*本传感器可连接到核心的I2C接口。
+
**本传感器可连接到核心的I2C接口
 +
**支持多传感器级联,最多支持64个点阵
  
 
==文档==
 
==文档==
Eagle PCB:[[File:Dot Matrix-Color PCB]]
+
*原理图:[[File:Dot Matrix-S2 PCB]]
 +
*可用IDE以下库中的示例程序自行进行实验:[https://github.com/wasdpkj/Microduino-IDE-Support/tree/master/arduino-ide-Support/%5B1.6.x%5D-hardware(library)/hardware/Microduino/avr/libraries '''_01_Microduino_DotMatrix''']
  
 
==开发==
 
==开发==
 
===程序下载===
 
===程序下载===
*下载并解压程序'''[[File:Dot Matrix-Color.zip]]'''
+
*下载并解压程序'''[[File:Dot Matrix-S2.zip]]'''
 
===程序烧写===
 
===程序烧写===
 
{{Upload
 
{{Upload
第43行: 第46行:
 
|nameB=[[Microduino-USBTTL/zh]]
 
|nameB=[[Microduino-USBTTL/zh]]
 
|boardName=Microduino/mCookie-Core(328p)、Atmega328P@16M,5V
 
|boardName=Microduino/mCookie-Core(328p)、Atmega328P@16M,5V
|fileName=Dot Matrix-Color.ino
+
|fileName=Dot Matrix-S2.ino
 
}}
 
}}
  
 
===硬件搭建===
 
===硬件搭建===
*参考下图将Sensor-Dot Matrix-Color传感器连接'''[[Microduino-Sensorhub/zh]]'''的I2C接口。
+
*参考下图将Sensor-Dot Matrix-S2传感器连接'''[[Microduino-Sensorhub/zh]]'''的I2C接口。
 
<br>
 
<br>
 
[[file:Microduino-sensorhub_I2C.JPG|thumb|400px|left]]
 
[[file:Microduino-sensorhub_I2C.JPG|thumb|400px|left]]
第61行: 第64行:
  
 
==代码说明==
 
==代码说明==
   uint8_t Addr[MatrixPix_X][MatrixPix_Y] = { 64 }
+
*定义单个点阵的IIC地址
定义Dot Matrix模块设置的IIC地址为64和级联方式。
+
   uint8_t Addr[MatrixPix_X][MatrixPix_Y] = {  //1x1
  display.getDeviceAddr(a)
+
    { 64}
获得设备IIC地址
+
  };
   display.getWidth(),display.getHeight()
+
 
返回X,Y坐标
+
*定义2x2级联点阵的IIC地址
  display.setLedColor(x, y, random(0, 255), random(0, 255), random(0, 255))
+
   uint8_t Addr[MatrixPix_X][MatrixPix_Y] = {  //2x2
随机设置每个LED的颜色
+
    { 64, 63},
  display.clearDisplay()
+
    { 62, 61}
清理屏幕显示
+
  };
   display.setColor(X,Y,Z)
+
 
设置全屏颜色 X:红色  Y:绿色  Z:蓝色
+
*定义1x4级联点阵的IIC地址
  display.writeString("string", time ,z)
+
   uint8_t Addr[MatrixPix_X][MatrixPix_Y] = {  //1x4
string:任意字符串,time:显示时间(流动速度) ,z:X/Y坐标
+
    { 64, 63, 62 , 61}
   display.drawBMP(X,Y,W,H,logoA)
+
  };
X:水平位坐标, Y:纵向坐标, W:图像的宽度, H:图像的高度, logoA:图像数组
+
 
   display.drawBMP(X,Y,logoB)
+
*获取已接入设备的数目
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彩图'''])
+
   int16_t getMatrixNum()
  display.drawBox(X,Y,I,W)
+
 
函数用来画实心矩形 X:水平位坐标,Y:纵向坐标,I:长,W:宽
+
*获取已接入设备的IIC地址
   display.drawRBox(X, Y, I,W)
+
   getDeviceAddr(_a) //num
函数用来画实心顶角弯曲矩形 X:水平位坐标,Y:纵向坐标,I:长,W:宽
+
 
  display.drawFrame(X,Y,I,W)
+
*获取X轴上点阵的数目
函数用来画空心矩形 X:水平位坐标,Y:纵向坐标,I:长,W:宽
+
   getWidth()
   display.drawRFrame(X,Y,I,W,)
+
 
函数用来画空心顶角弯曲矩形 X:水平位坐标,Y:纵向坐标,I:长,W:宽
+
*获取Y轴上点阵的数目
  display.drawCircle(X,Y,D)
+
   getHeight()
函数用来画空心圆 X:水平位坐标,Y:纵向坐标,D:直径
+
 
   display.drawDisc(X,Y,D)
+
*设置点阵坐标像素的亮灭
函数用来画实心圆 X:水平位坐标,Y:纵向坐标,D:直径
+
   setLed(_row, _col, _state) //row, col, state
  display.drawLine(X,Y,M,N)
 
用来画直线 X:起点水平位坐标,Y:起点纵向坐标,M:终点水平位坐标,N:终点纵向坐标
 
  
==应用==
+
*设置点阵坐标像素的亮度
 +
  setLedBrightness(_row, _col, _value) //row, col, value
 +
 
 +
*清空屏幕
 +
  clearDisplay()
 +
 
 +
*设置点阵亮度
 +
  setBrightness(_value) //value
 +
 
 +
*字符流动显示
 +
  writeString(_c, _t, _col) //[char*], time, col
 +
 
 +
*十六进制位图显示
 +
  drawBMP(_row, _col , _w, _h, logo) //row, col, width, height, file
 +
 
 +
*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彩图'''])
 +
  drawBMP(_row, _col, logo) //row, col, file
 +
 
 +
*函数用来画实心矩形
 +
  drawBox(_row, _col, _w, _h) //row, col, width, height
 +
 
 +
*函数用来画实心圆角矩形
 +
  drawRBox(_row, _col, _w, _h, _r) //row, col, width, height, rad
 +
 
 +
*函数用来画空心矩形
 +
  drawFrame(_row, _col, _w, _h) //row, col, width, height
 +
 
 +
*函数用来画空心圆角矩形
 +
  drawRFrame(_row, _col, _w, _h, _r) //row, col, width, height, rad
 +
 
 +
*函数用来画空心圆
 +
  drawCircle(_row, _col, _r) //row, col, rad
 +
 
 +
*函数用来画实心圆
 +
  drawDisc(_row, _col, _r) //row, col, rad
  
==购买==
+
*用来画直线
 +
  drawLine(_row, _col, _row1, _col1) //row start, col start, row end, col end
  
 +
==应用==
 +
*'''[[开源LED点阵屏幕/zh]]'''
 +
*'''[[开源LED点阵时钟/zh]]'''
  
 
==图库==
 
==图库==
 
[[file:Microduino-DotMatrix-F.jpg|thumb|600px|center|Front]]
 
[[file:Microduino-DotMatrix-F.jpg|thumb|600px|center|Front]]
 
[[file:Microduino-DotMatrix-B.jpg|thumb|600px|center|Back]]
 
[[file:Microduino-DotMatrix-B.jpg|thumb|600px|center|Back]]

2016年9月13日 (二) 12:53的版本

Language English

Microduino-Dot Matrix-S2的产品编号是:MSDL32

Microduino-Dot Matrix-S2模块是一个8x8单色LED显示矩阵模块,可单个点阵或多个点阵级联(组合成不同的形状)使用,用于显示图片或文字,甚至是简单的动画效果。

特色

  • 8x8点阵,尺寸32mm*32mm
  • 每个点32级亮度调节
  • 支持IIC通讯协议,IIC地址可设(1~64),点阵序列采用平面直角坐标系
  • 板载2个IIC接口,便于多个点阵进行级联

规格

  • 传感器电压
    • 5V工作电压
  • 传感器电流
    • 不超过300mA
  • 传感器大小
    • 板子大小:60mm*60mm
    • 1.27mm间距的4Pin接口与sensorhub相连
  • 功能描述
    • 8x8点阵
  • 每个点32级亮度调节
    • 支持IIC通讯协议,IIC地址可设(1~64),点阵序列采用平面直角坐标系
    • 板载2个IIC接口,便于多个点阵进行级联
  • 接法
    • 本传感器可连接到核心的I2C接口
    • 支持多传感器级联,最多支持64个点阵

文档

开发

程序下载

程序烧写

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

硬件搭建


Microduino-sensorhub I2C.JPG


点阵地址设置方法

  • 点阵的地址设置范围为1~64
  • 点阵上电后显示的绿点数量表示点阵地址
  • 点阵上电后的3秒内按下背面按键可进入地址配置状态,此时点阵颜色变为白色
    • 慢按按键(2次按键间隔大于0.5s)会增加地址
    • 快按按键(2次按键间隔小于0.5s)会减小地址
  • 点阵地址设定完毕后,长按设置键3秒,即可退出地址配置状态

代码说明

  • 定义单个点阵的IIC地址
 uint8_t Addr[MatrixPix_X][MatrixPix_Y] = {  //1x1
   { 64}
 };
  • 定义2x2级联点阵的IIC地址
 uint8_t Addr[MatrixPix_X][MatrixPix_Y] = {  //2x2
   { 64, 63},
   { 62, 61}
 };
  • 定义1x4级联点阵的IIC地址
 uint8_t Addr[MatrixPix_X][MatrixPix_Y] = {  //1x4
   { 64, 63, 62 , 61}
 };
  • 获取已接入设备的数目
 int16_t getMatrixNum()
  • 获取已接入设备的IIC地址
 getDeviceAddr(_a)				//num
  • 获取X轴上点阵的数目
 getWidth()
  • 获取Y轴上点阵的数目
 getHeight()
  • 设置点阵坐标像素的亮灭
 setLed(_row, _col, _state)	//row, col, state
  • 设置点阵坐标像素的亮度
 setLedBrightness(_row, _col, _value)	//row, col, value
  • 清空屏幕
 clearDisplay()
  • 设置点阵亮度
 setBrightness(_value)			//value
  • 字符流动显示
 writeString(_c, _t, _col)			//[char*], time, col
  • 十六进制位图显示
 drawBMP(_row, _col , _w, _h, logo)		//row, col, width, height, file
 drawBMP(_row, _col, logo)			//row, col, file
  • 函数用来画实心矩形
 drawBox(_row, _col, _w, _h)			//row, col, width, height
  • 函数用来画实心圆角矩形
 drawRBox(_row, _col, _w, _h, _r)		//row, col, width, height, rad
  • 函数用来画空心矩形
 drawFrame(_row, _col, _w, _h)		//row, col, width, height
  • 函数用来画空心圆角矩形
 drawRFrame(_row, _col, _w, _h, _r)		//row, col, width, height, rad
  • 函数用来画空心圆
 drawCircle(_row, _col, _r)			//row, col, rad
  • 函数用来画实心圆
 drawDisc(_row, _col, _r)			//row, col, rad
  • 用来画直线
 drawLine(_row, _col, _row1, _col1)		//row start, col start, row end, col end

应用

图库

Front
Back