arduino/mixly 使用HT16K33 16*8点阵

一、器材

HT16K33 16*8点阵

arduino uno

 

二、接线

HT16K33arduino uno
vcc5V
gndgnd
SCLA5
SDAA4

 三、库文件

arduino 库,首先把库放到arduino的library下

https://gitee.com/zhou-linjun123/Adafruit_LED_Backpack

四、显示字符

完整程序

#include <Wire.h>
#include <Adafruit_GFX.h>
#include "Adafruit_LEDBackpack.h"

Adafruit_8x16matrix matrix = Adafruit_8x16matrix();

void setup() {
  matrix.begin(0x70);  //初始化
}
void loop() {
  
  matrix.setRotation(1);//设置旋转角度
  matrix.clear();//清屏
  matrix.setCursor(0,0);//从0行0列开始显示
  matrix.print("?");//显示?
  matrix.writeDisplay();//显示生效
}

效果

 调节旋转角度

完整程序

#include <Wire.h>
#include <Adafruit_GFX.h>
#include "Adafruit_LEDBackpack.h"

Adafruit_8x16matrix matrix = Adafruit_8x16matrix();

void setup() {
  matrix.begin(0x70);  //初始化
}
void loop() {
  
  matrix.setRotation(0);//设置旋转角度
  matrix.clear();//清屏
  matrix.setCursor(0,0);//从0行0列开始显示
  matrix.print("?");//显示?
  matrix.writeDisplay();//显示生效
  while(1);
}

效果 

 调节字符显示位置

显示从0行1列开始

完整程序

#include <Wire.h>
#include <Adafruit_GFX.h>
#include "Adafruit_LEDBackpack.h"

Adafruit_8x16matrix matrix = Adafruit_8x16matrix();

void setup() {
  matrix.begin(0x70);  //初始化
}
void loop() {
  
  matrix.setRotation(1);//设置旋转角度
  matrix.clear();//清屏
  matrix.setCursor(1,0);//从0行1列开始显示
  matrix.print("?");//显示?
  matrix.writeDisplay();//显示生效
  while(1);
}

效果

 显示从1行0列开始

完整程序

#include <Wire.h>
#include <Adafruit_GFX.h>
#include "Adafruit_LEDBackpack.h"

Adafruit_8x16matrix matrix = Adafruit_8x16matrix();

void setup() {
  matrix.begin(0x70);  //初始化
}
void loop() {
  
  matrix.setRotation(1);//设置旋转角度
  matrix.clear();//清屏
  matrix.setCursor(0,1);//从1行0列开始显示
  matrix.print("?");//显示?
  matrix.writeDisplay();//显示生效
  while(1);
}

效果

滚动显示字符

完整程序

#include <Wire.h>
#include <Adafruit_GFX.h>
#include "Adafruit_LEDBackpack.h"

Adafruit_8x16matrix matrix = Adafruit_8x16matrix();

void setup() {
  matrix.begin(0x70);  //初始化
}
void loop() {
  
  matrix.setRotation(1);//设置旋转角度为90度
  for (int8_t x=7; x>=-60; x--) {
    matrix.clear();//清除显示
    matrix.setCursor(x,0);//显示从0行,x列开始
    matrix.print("Hello World");//显示要显示的字符
    matrix.writeDisplay();//显示生效
    delay(100);//延时0.1S
  }
}

效果

滚动显示hello world

 

需要注意的是这里的x设置

 matrix.setRotation(1);//设置旋转角度为90度
  for (int8_t x=7; x>=-60; x--) {
    matrix.clear();//清除显示
    matrix.setCursor(x,0);//显示从0行,x列开始
    matrix.print("Hello World");//显示要显示的字符
    matrix.writeDisplay();//显示生效
    delay(100);//延时0.1S
  }

 这里的效果是从0行7列开始,后面的那个x>=60里面的60是算出来的,比如需要显示6个字符,一个字符就是36,然后减去前面的7加一,就是30,其他的也是以此类推

显示图片

完整代码

#include <Wire.h>
#include <Adafruit_GFX.h>
#include "Adafruit_LEDBackpack.h"

Adafruit_8x16matrix matrix = Adafruit_8x16matrix();

void setup() {
  matrix.begin(0x70);  //初始化
}
static const uint8_t PROGMEM
  smile_bmp[] =
  { B00111100,
    B01000010,
    B10100101,
    B10000001,
    B10100101,
    B10011001,
    B01000010,
    B00111100 
    };
void loop() {
  
  matrix.setRotation(1);//设置旋转角度为90度
  matrix.clear();//清屏
  matrix.drawBitmap(0, 0, smile_bmp, 8, 8, LED_ON);//在0行0列开始显示图片,图片大小为8*8
  matrix.writeDisplay();//显示生效
}

效果

 画点

完整程序

#include <Wire.h>
#include <Adafruit_GFX.h>
#include "Adafruit_LEDBackpack.h"

Adafruit_8x16matrix matrix = Adafruit_8x16matrix();

void setup() {
  matrix.begin(0x70);  //初始化
}
void loop() {
  
  matrix.setRotation(1);//设置旋转角度为90度
  matrix.clear();      // 清除显示
  matrix.drawPixel(0, 0, LED_ON); //在0行0列画点 
  matrix.writeDisplay();  // 显示生效
}

效果

 画线

完整程序

#include <Wire.h>
#include <Adafruit_GFX.h>
#include "Adafruit_LEDBackpack.h"

Adafruit_8x16matrix matrix = Adafruit_8x16matrix();

void setup() {
  matrix.begin(0x70);  //初始化
}
void loop() {
  
  matrix.setRotation(1);//设置旋转角度为90度
  matrix.clear();      // 清除显示
  matrix.drawLine(0,0, 15,7, LED_ON); //从0行0列开始,到7行15列为止
  matrix.writeDisplay();  // 显示生效
}

效果

画空心矩形 

完整程序

#include <Wire.h>
#include <Adafruit_GFX.h>
#include "Adafruit_LEDBackpack.h"

Adafruit_8x16matrix matrix = Adafruit_8x16matrix();

void setup() {
  matrix.begin(0x70);  //初始化
}
void loop() {
  
  matrix.setRotation(1);//设置旋转角度为90度
  matrix.clear();      // 清除显示
  matrix.drawRect(0,0, 16,8, LED_ON);//画矩形,左上角为0,0,右下角为8,16
  matrix.writeDisplay();  // 显示生效
}

效果

 画实心矩形

完整程序

#include <Wire.h>
#include <Adafruit_GFX.h>
#include "Adafruit_LEDBackpack.h"

Adafruit_8x16matrix matrix = Adafruit_8x16matrix();

void setup() {
  matrix.begin(0x70);  //初始化
}
void loop() {
  
  matrix.setRotation(1);//设置旋转角度为90度
  matrix.clear();      // 清除显示
  matrix.fillRect(0,0, 16,8, LED_ON);//画实心矩形,左上角为0,0,右下角为8,16
  matrix.writeDisplay();  // 显示生效
  while(1);
}

效果

 画圆

完整程序

#include <Wire.h>
#include <Adafruit_GFX.h>
#include "Adafruit_LEDBackpack.h"

Adafruit_8x16matrix matrix = Adafruit_8x16matrix();

void setup() {
  matrix.begin(0x70);  //初始化
}
void loop() {
  
  matrix.setRotation(1);//设置旋转角度为90度
  matrix.clear();      // 清除显示
   matrix.drawCircle(4,4, 3, LED_ON);//画圆,圆心为4,4,半径为3
  matrix.writeDisplay();  // 显示生效
  while(1);
}

效果

 

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值