【雕爷学编程】Arduino动手做(195)---HT16k33 矩阵 8*8点阵屏模块6
37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里准备逐一动手试试多做实验,不管成功与否,都会记录下来——小小的进步或是搞不掂的问题,希望能够抛砖引玉。
【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
实验一百九十五:I2C红色8*8LED点阵屏模块 HT16k33(VK16K33)驱动1088BS 物联网可扩展编程
知识点:VK16K33芯片
是一款存储器映射和多功能LED控制驱动芯片。该芯片支持更大 128 点的显示模式(16SEGs×8COMs) 以及更大 13×3 的按键矩阵扫描电路。VK16K33 的软件配置特性使其适用于多种 LED 应用,包括 LED 模块和显示子系统。VK16K33 通过双向I2C 接口可与大多数微控制器进行通信。
功能特点1.工作电压:4.5V~5.5V2.内部 RC 振荡器3.I2C 总线接口4.16×8 位 RAM 用于存储显示数据5.更大显示模式为16×8:16SEGs和8COMs6.读 /写地址自动递增7.多达13×3 按键矩阵扫描功能8. 16阶调光电路9.封装类型:20/24/28-pin SOP VK16K33此系列IC具有低功耗、高抗杂讯及高系统ESD防护能力;VK16K33整合了LED驱动和按键扫描的功能,将控制面板所需要的功能融合于一身,可降低主MCU的负担及需要的I/O数目。采用I2C的介面更可减少控制面板和主板之间的材料成本、进而降低产品整体成本。
VK16K33有28SOP、24SOP和20SOP三种包装,分别对应三种更大显示点数;16x8点LED和13x3个按键、12x8点LED和10x3个按键,以及8x8点LED和8x3个按键。内建显示记忆体及RC振荡电路;工作电压:4.5V~5.5V;VK16K33支持中断信号和轮询两种工作模式。可选择性的提供按键中断信号给MCU,MCU可不须一直检查按键状态。VK16K33与系统控制晶片的传输只需2根信号线,通过VK16K33 侦测按键输入,可减少主版MCU I/O数目及精简主版及面板的布局线路;因此可降低产品整体成本。 VK16K33适用于家电、影音设备、仪表设备、车用装置等LED显示器/面板的控制及驱动。
【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
实验二百零七:I2C红色8*8LED点阵模块VK16k33驱动1088BS树莓派物联网可扩展编程
项目十五:不同方向的滚动字符串
实验开源代码
/*【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)实验二百零七:I2C红色8*8LED点阵模块VK16k33驱动1088BS树莓派物联网可扩展编程项目十五:不同方向的滚动字符串实验接线:VK16k33 UNOVIN 5VGND GNDSCL A5SDA A4
*/#include <Wire.h>
#include <Adafruit_GFX.h>
#include "Adafruit_LEDBackpack.h"Adafruit_8x8matrix matrix = Adafruit_8x8matrix();void setup() {Serial.begin(9600);Serial.println("8x8 LED Matrix Test");matrix.begin(0x70); // pass in the address
}static const uint8_t PROGMEM
smile_bmp[] =
{ B00111100,B01000010,B10100101,B10000001,B10100101,B10011001,B01000010,B00111100
},
neutral_bmp[] =
{ B00111100,B01000010,B10100101,B10000001,B10111101,B10000001,B01000010,B00111100
},
frown_bmp[] =
{ B00111100,B01000010,B10100101,B10000001,B10011001,B10100101,B01000010,B00111100
};void loop() {matrix.clear();matrix.drawBitmap(1, 0, smile_bmp, 8, 8, LED_ON);matrix.writeDisplay();delay(500);matrix.clear();matrix.drawBitmap(1, 0, neutral_bmp, 8, 8, LED_ON);matrix.writeDisplay();delay(200);matrix.clear();matrix.drawBitmap(1, 0, frown_bmp, 8, 8, LED_ON);matrix.writeDisplay();delay(200);matrix.clear(); // clear displaymatrix.drawPixel(1, 0, LED_ON);matrix.writeDisplay(); // write the changes we just made to the displaydelay(200);matrix.clear();matrix.drawLine(1, 0, 7, 7, LED_ON);matrix.writeDisplay(); // write the changes we just made to the displaydelay(200);matrix.clear();matrix.drawRect(1, 0, 8, 8, LED_ON);matrix.fillRect(2, 2, 4, 4, LED_ON);matrix.writeDisplay(); // write the changes we just made to the displaydelay(200);matrix.clear();matrix.drawCircle(3, 3, 3, LED_ON);matrix.writeDisplay(); // write the changes we just made to the displaydelay(200);matrix.setTextSize(1);matrix.setTextWrap(false); // we dont want text to wrap so it scrolls nicelymatrix.setTextColor(LED_ON);for (int8_t x = 0; x >= -36; x--) {matrix.clear();matrix.setCursor(x, 0);matrix.print("Hello");matrix.writeDisplay();delay(50);}matrix.setRotation(3);for (int8_t x = 7; x >= -36; x--) {matrix.clear();matrix.setCursor(x, 0);matrix.print("World");matrix.writeDisplay();delay(50);}matrix.setRotation(0);
}
Arduino实验场景图
【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
实验二百零七:I2C红色8*8LED点阵模块VK16k33驱动1088BS树莓派物联网可扩展编程
项目十六:滚动的一串数字
实验开源代码
/*【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)实验二百零七:I2C红色8*8LED点阵模块VK16k33驱动1088BS树莓派物联网可扩展编程项目十六:滚动的一串数字实验接线:VK16k33 UNOVIN 5VGND GNDSCL A5SDA A4
*/#include <Wire.h>
#include "Grove_LED_Matrix_Driver_HT16K33.h"Matrix_8x8 matrix;void setup() {Wire.begin();matrix.init();matrix.setBrightness(0);matrix.setBlinkRate(BLINK_OFF);
}void loop() {// 显示数字“0”并延迟 400nsmatrix.writeNumber(0, 400);matrix.display();// 显示数字 "-2147483648" 并延迟 (300*11)ns// writeNumber()的显示范围是int32_t(从-2147483648到2147483647)matrix.writeNumber(-2147483648, 300);matrix.display();
}
Arduino实验场景图
【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
实验二百零七:I2C红色8*8LED点阵模块VK16k33驱动1088BS树莓派物联网可扩展编程
项目十七:变换的笑脸与流淌的字符"Hello",“World”
实验开源代码
/*【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)实验二百零七:I2C红色8*8LED点阵模块VK16k33驱动1088BS树莓派物联网可扩展编程项目十七:变换的笑脸与流淌的字符"Hello","World"实验接线:VK16k33 UNOVIN 5VGND GNDSCL A5SDA A4
*/#include <Wire.h>
#include <Adafruit_GFX.h>
#include "Adafruit_LEDBackpack.h"Adafruit_BicolorMatrix matrix = Adafruit_BicolorMatrix();void setup() {Serial.begin(9600);Serial.println("8x8 LED Matrix Test");matrix.begin(0x70); // pass in the address
}static const uint8_t PROGMEM
smile_bmp[] =
{ B00111100,B01000010,B10100101,B10000001,B10100101,B10011001,B01000010,B00111100
},
neutral_bmp[] =
{ B00111100,B01000010,B10100101,B10000001,B10111101,B10000001,B01000010,B00111100
},
frown_bmp[] =
{ B00111100,B01000010,B10100101,B10000001,B10011001,B10100101,B01000010,B00111100
};void loop() {matrix.clear();matrix.drawBitmap(0, 0, smile_bmp, 8, 8, LED_GREEN);matrix.writeDisplay();delay(500);matrix.clear();matrix.drawBitmap(0, 0, neutral_bmp, 8, 8, LED_GREEN);matrix.writeDisplay();delay(500);matrix.clear();matrix.drawBitmap(0, 0, frown_bmp, 8, 8, LED_GREEN);matrix.writeDisplay();delay(500);matrix.clear(); // clear displaymatrix.drawPixel(0, 0, LED_GREEN);matrix.writeDisplay(); // write the changes we just made to the displaydelay(500);matrix.clear();matrix.drawLine(0, 0, 7, 7, LED_GREEN);matrix.writeDisplay(); // write the changes we just made to the displaydelay(500);matrix.clear();matrix.drawRect(0, 0, 8, 8, LED_GREEN);matrix.fillRect(2, 2, 4, 4, LED_GREEN);matrix.writeDisplay(); // write the changes we just made to the displaydelay(500);matrix.clear();matrix.drawCircle(3, 3, 3, LED_GREEN);matrix.writeDisplay(); // write the changes we just made to the displaydelay(500);matrix.setTextWrap(false); // we dont want text to wrap so it scrolls nicelymatrix.setTextSize(1);matrix.setTextColor(LED_GREEN);for (int8_t x = 7; x >= -36; x--) {matrix.clear();matrix.setCursor(x, 0);matrix.print("Hello");matrix.writeDisplay();delay(50);}matrix.setRotation(3);matrix.setTextColor(LED_GREEN);for (int8_t x = 7; x >= -36; x--) {matrix.clear();matrix.setCursor(x, 0);matrix.print("World");matrix.writeDisplay();delay(50);}matrix.setRotation(0);
}
Arduino实验场景图
相关文章:
【雕爷学编程】Arduino动手做(195)---HT16k33 矩阵 8*8点阵屏模块6
37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的&#x…...
Typescript]基础篇之 tsc 命令解析
[Typescript]基础[TOC]([Typescript]基础篇之 tsc 命令解析 tsc 命令概览编译参数说明--declaration--watch 这里是对 tsc 的一个详细介绍 tsc 命令概览 安装 Typescript 后可以使用 tsc 编译 ts 文件,tsc 命令是否支持其它参数 如果需要查看 tsc 支持的命令,或者…...
测试人员简单使用Jenkins
一、测试人员使用jenkins干什么? 部署测试环境 二、相关配置说明 一般由开发人员进行具体配置 1.Repository URL:填写git地址 2.填写开发分支,测试人员可通过相应分支进行测试环境的构建部署 当多个版本并行时,开发人员可以通过…...
使用RecyclerView构建灵活的列表界面
使用RecyclerView构建灵活的列表界面 1. 引言 在现代移动应用中,列表界面是最常见的用户界面之一,它能够展示大量的数据,让用户可以浏览和操作。无论是社交媒体的动态流、商品展示、新闻列表还是任务清单,列表界面都扮演着不可或…...
linux ubuntu安装mysql
在 Ubuntu 上安装 MySQL 的步骤如下: 更新系统软件包列表: sudo apt update 安装 MySQL 服务器: sudo apt install mysql-server 安装完成,可以使用以下命令检查 MySQL 服务器是否正在运行: sudo systemctl status mysql 如果 MyS…...
计算机网络各层的功能以及常用协议
目录 1. 物理层(Physical Layer)2. 数据链路层(Data Link Layer)3. 网络层(Network Layer)4. 传输层(Transport Layer)5. 应用层(Application Layer) 计算机网…...
M. Minimal and Maximal XOR Sum 2023“钉耙编程”中国大学生算法设计超级联赛(7)hdu7359
Problem - 7359 题目大意:给出一个n个数的排列,可以将任意区间内的所有数头尾翻转,每次操作的费用等于区间长度,要求将其变成一个递增排列,求消耗费用的异或和的最小值和最大值 1<n<1e5 思路:操作…...
C++基础篇(五)内存模型及详细示例
目录 一、内存分区模型二、内存分区代码示例三、new 运算符详解 一、内存分区模型 C程序在运行时,将内存分为四个区域,不同的区域赋予不同的生命周期,以提供强大的灵活编程。 代码区:存储程序的二进制代码,通常是只读…...
基于 JMeter API 开发性能测试平台
目录 背景: 常用的 JMeter 类和功能的解释: JMeter 编写性能测试脚本的大致流程示意图: 源码实现方式: (1) 环境初始化 (2) 环境初始化 (3) 创建测试计划 (4) 创建 ThreadGroup (5) 创建循环控制器 (6) 创建 Sampler (…...
HBase-写流程
写流程顺序正如API编写顺序,首先创建HBase的重量级连接 (1)读取本地缓存中的Meta表信息;(第一次启动客户端为空) (2)向ZK发起读取Meta表所在位置的请求; (…...
[mongo]应用场景及选型
应用场景及选型 MongoDB 数据库定位 OLTP 数据库横向扩展能力,数据量或并发量增加时候架构可以自动扩展灵活模型,适合迭代开发,数据模型多变场景JSON 数据结构,适合微服务/REST API基于功能选择 MongoDB 关系型数据库迁移 从基…...
linux c語言之crc16错误检测的使用
一、是什么? CRC16是循环冗余校验的一种,是一种根据数据产生校验码的方法。它是一种比较常用的校验算法,可以用于错误检测和纠正等方面。CRC16是16位的校验码,可以检测出32位以内的错误。在通信协议、网络传输等领域中,CRC16被广泛应用. 二、使用步骤 1.引入库 代码如…...
搭建本地开发服务器
搭建本地开发服务器 :::warning 注意 在上一个案例的基础上添加本地开发服务器,请保留上个案例的代码。如需要请查看 Webpack 使用。 ::: 搭建本地开发服务器这一个环节是非常有必要的,我们不可能每次修改源代码就重新打包一次。这样的操作是不是太繁琐…...
linux脚本
程序后台运行: nohup java -jar xxx.jar &>hello.log & 后台运行java-jar命令,并且将日志输出到hello.log文件 防火墙: 开启防火墙:systemctl start firewalld 开放指定端口:firewall-cmd --zonepublic --…...
企升编辑器word编写插件
面向用户群体招投标人员,用统一的模板来编写标书,并最终合并标书。项目经理,编写项目开发计划书,项目验收文档等。开发人员,编写项目需求规格说明书、设计说明书、技术总结等文档。其他文档编写工作量较多的岗位人员。…...
怎么在JMeter中的实现关联
我们一直用的phpwind这个系统做为演示系统, 如果没有配置好的同学, 请快速配置之后接着往下看哦. phpwind发贴时由于随着登陆用户的改变, verifycode是动态变化的, 因此需要用到关联. LoadRunner的关联函数是reg_save_param, Jmeter的关联则是利用后置处理器来完成. 在需要查…...
算法通关村第六关——如何使用中序和后序来恢复一颗二叉树
1 树的基础知识 1.1 树的定义 树(Tree):表现得是一种层次关系,为 n ( n ≥ 0 ) n(n≥0) n(n≥0)个节点构成的有限集合,当n0时,称为空树,对于任一…...
leetcode算法题--判断是否能拆分数组
原题链接:https://leetcode.cn/problems/check-if-it-is-possible-to-split-array/ 一开始思路想错了。。导致浪费很多时间 其实只要能找到存在一个子数组,子数组长度为2,这个子数组符合条件就一定能拆分。。 func canSplitArray(nums []i…...
基于Flask的模型部署
基于Flask的模型部署 一、背景 Flask:一个使用Python编写的轻量级Web应用程序框架; 首先需要明确模型部署的两种方式:在线和离线; 在线:就是将模型部署到类似于服务器上,调用需要通过网络传输数据&…...
【资料分享】全志科技T507-H开发板规格书
1 评估板简介 创龙科技TLT507-EVM是一款基于全志科技T507-H处理器设计的4核ARM Cortex-A53国产工业评估板,主频高达1.416GHz,由核心板和评估底板组成。核心板CPU、ROM、RAM、电源、晶振等所有器件均采用国产工业级方案,国产化率100%。同时,评估底板大部分元器件亦采用国产…...
2023华数杯数学建模C题思路 - 母亲身心健康对婴儿成长的影响
# 1 赛题 C 题 母亲身心健康对婴儿成长的影响 母亲是婴儿生命中最重要的人之一,她不仅为婴儿提供营养物质和身体保护, 还为婴儿提供情感支持和安全感。母亲心理健康状态的不良状况,如抑郁、焦虑、 压力等,可能会对婴儿的认知、情…...
【Kaggle】Identify Contrails to Reduce Global Warming 比赛数据集的可视化(含源代码)
一、数据简单解读 卫星图像最初来自: https://www.goes-r.gov/spacesegment/abi.html高级基线成像仪是GOES-R系列中用于对地球天气、海洋和环境进行成像的主要仪器。ABI用16个不同的光谱波段观察地球(上一代GOES只有<>个),…...
Spring(12) BeanFactory 和 ApplicationContext 区别
目录 一、BeanFactory 和 ApplicationContext 区别?二、既然 Spring Boot 中使用的是 ApplicationContext 进行应用程序的启动和管理,那么 Spring Boot 会用到 BeanFactory 吗? 一、BeanFactory 和 ApplicationContext 区别? Bea…...
git的日常使用
加入忽略列表:在.gitignore中加入忽略的文件,build/ 表示build文件夹下,*.jar 表示以jar结尾的,用换行符隔开将另一个分支合并到当前分支:git merge xxx冲突出现,可以看看这里:详解Git合并冲突—…...
【Spring Boot】请求参数传json对象,后端采用(pojo)CRUD案例(102)
请求参数传json对象,后端采用(pojo)接收的前提条件: 1.pom.xml文件加入坐标依赖:jackson-databind 2.Spring Boot 的启动类加注解:EnableWebMvc 3.Spring Boot 的Controller接受参数采用:Reque…...
layui之layer弹出层的icon数字及效果展示
layer的icon样式 icon如果在信息提示弹出层值(type为0)可以传入0-6,icon与图标对应关系如下: 如果是加载层(type为3)可以传入0-2,icon与图标对应关系如下:...
Python selenium对应的浏览器chromedriver版本不一致
1、chrome和chromedriver版本不一致导致的,我们只需要升级下chromedriver的版本即可 浏览器版本查看 //打开google浏览器直接访问,查看浏览器版本 chrome://version/ 查看chromedriver的版本 //查看驱动版本 chromedriver chromedriver下载 可看到浏…...
Redis的安装方法与基本操作
目录 前言 一、REDIS概述 二、REDIS安装 1、编译安装 2.yum安装 三、Redis的目录结构 四、基础命令解析 五、在一台服务器上启动多个redis 六、数据库的基本操作 (一)登录数据库 (二)基础命令 七、Redis持久化 (一&…...
选读SQL经典实例笔记20_Oracle语法示例
1. 计算一年有多少天 1.1. sql select Days in 2005: ||to_char(add_months(trunc(sysdate,y),12)-1,DDD)as reportfrom dualunion allselect Days in 2004: ||to_char(add_months(trunc(to_date(01-SEP-2004),y),12)-1,DDD)from dual REPORT ----------------- Days in 200…...
JAVA细节/小技巧
一、 Callable类可以实现返回结果的多线程。实现Callable类,然后实例化一个对象传递给FutureTask,然后把FutureTask对象传递给Thread对象,执行start即可开始多线程。FutureTask对象执行get函数可以获得Callable类中call函数的返回值…...
做网站调用无广告视频/seo建站技巧
蒸汽流量计采用先进的差动技术,配合隔离、屏蔽、滤波等措施,克服了同类产品抗震性差、小信号数据紊乱等问题,并采用了独特的传感器封装技术和防护措施,保证了产品的可靠性。产品有基本型和复合型两种型式,基本型测量单…...
闵行区做网站/淘宝怎么设置关键词搜索
一.Core标签库 • 核心标签库主要包括通用标签、条件标签、迭代标签和与URL相关的标签。 • 在使用Core标签库的JSP文件的开始部分,添加代码: <%taglib uri"http://java.sun.com/jsp/jstl/core" prefix"c"…...
杭州杭州网站建设公司/营销推广策划及渠道
序列号内容链接1前端知识面试题 - http&https(2022版)https://blog.csdn.net/qq_43061290/article/details/1266517832前端知识面试题 - 浏览器(2022版)https://blog.csdn.net/qq_43061290/article/details/1267765383前端知识…...
北京建设工程交易信息网站/百度自动点击器怎么用
投屏技术已经被大量用在身边的产品, 比如电视投屏, 投影仪, 视频会议产品中. 在iOS平台外的其他平台中都已经有非常成熟的标准和实现. 但在封闭的苹果iOS和Mac系统中, 苹果使用私有的Airplay协议进行多屏互动, 只开放给自己生态中的产品. 对此相关技术限制比较严格,…...
有什么做图文长图的网站吗/营销型网站名词解释
九年前,当史蒂夫布兰克(Steve Blank)在《Wired》杂志封面上出现的时候,他的游戏公司,Rocket Science Games,曾有望彻底改变电子游戏行业。在当时,布兰克完全没有被那些持怀疑态度的评论困扰到。 “当时我觉得我就是个…...
杭州竞彩网站开发/产品全网营销推广
微信小程序是一种不需要下载安装即可使用的应用,它实现了应用“触手可及”的梦想,微信用户只需要扫一扫或搜一下即可打开应用。那么如何开发微信小程序?接下来让我们看看搭建微信小程序的零基础玩法。小程序是依托微信诞生的,由于微信属于强…...