
1、介绍
HS-KEY7P 是一款专为嵌入式与 STEAM 教育场景设计的7 路独立轻触按键输入模块,提供稳定可靠的数字输入接口,可直接与单片机、开发板等系统对接,实现人机交互功能。
独立按键也称之为轻触开关,使用时以满足操作力的条件向开关操作方向施压,开关闭合接通;当撤销压力时开关即断开,其内部结构是靠金属弹片受力变化来实现通断的。
2、原理图
HS-KEY7P 7P按键模块 点击查看
3、模块参数
引脚名称 | 描述 |
|---|---|
G | GND(电源输入负极) |
V | VCC(电源输入正极) |
1 | 数字信号引脚 |
2 | 数字信号引脚 |
3 | 数字信号引脚 |
4 | 数字信号引脚 |
5 | 数字信号引脚 |
6 | 数字信号引脚 |
7 | 数字信号引脚 |
供电电压:3.3V / 5V
连接方式:PH2.0端子线
安装方式:螺丝固定
4、电路板尺寸

5、Arduino IDE示例程序
注意:程序上传时如果提示库文件报错,请先导入库文件!
Arduino IDE 库文件下载及导入教程:点击查看
示例程序(UNO开发板):
#include <Adafruit_NeoPixel.h>
volatile int brightness;
Adafruit_NeoPixel rgb_display_A1 = Adafruit_NeoPixel(10,A1,NEO_GRB + NEO_KHZ800);
float tonelist[7]={1046.5,1174.7,1318.5,1396.9,1568,1760,1975.5};
void setup(){
brightness = 80;
rgb_display_A1.begin();
rgb_display_A1.setBrightness(brightness);
pinMode(2, INPUT);
pinMode(3, INPUT);
pinMode(4, INPUT);
pinMode(5, INPUT);
pinMode(6, INPUT);
pinMode(7, INPUT);
pinMode(8, INPUT);
}
void loop(){
//do,re,mi,fa,so,la,si7个触碰开关分别接2,D3,D4,D5,D6,D7,D8;无源蜂鸣器接A5;按下不同的铵钮,播放对应的音调。
if (digitalRead(2) == LOW) {
//白灯亮。
pinMode(A0, OUTPUT);
tone(A0,tonelist[0]);
delay(100);
for (int i = 1; i <= 10; i = i + (1)) {
rgb_display_A1.setPixelColor(i - 1, (((255 & 0xffffff) << 16) | ((255 & 0xffffff) << 8) | 255));
}
rgb_display_A1.show();
} else if (digitalRead(3) == LOW) {
pinMode(A0, OUTPUT);
tone(A0,tonelist[1]);
delay(100);
//红灯亮。
for (int i = 1; i <= 10; i = i + (1)) {
rgb_display_A1.setPixelColor(i - 1, (((255 & 0xffffff) << 16) | ((0 & 0xffffff) << 8) | 0));
}
rgb_display_A1.show();
} else if (digitalRead(4) == LOW) {
pinMode(A0, OUTPUT);
tone(A0,tonelist[2]);
delay(100);
//绿灯亮。
for (int i = 1; i <= 10; i = i + (1)) {
rgb_display_A1.setPixelColor(i - 1, (((0 & 0xffffff) << 16) | ((255 & 0xffffff) << 8) | 0));
}
rgb_display_A1.show();
} else if (digitalRead(5) == LOW) {
pinMode(A0, OUTPUT);
tone(A0,tonelist[3]);
delay(100);
//深蓝灯亮。
for (int i = 1; i <= 10; i = i + (1)) {
rgb_display_A1.setPixelColor(i - 1, (((0 & 0xffffff) << 16) | ((0 & 0xffffff) << 8) | 255));
}
rgb_display_A1.show();
} else if (digitalRead(6) == LOW) {
pinMode(A0, OUTPUT);
tone(A0,tonelist[4]);
delay(100);
//黄灯亮。
for (int i = 1; i <= 10; i = i + (1)) {
rgb_display_A1.setPixelColor(i - 1, (((255 & 0xffffff) << 16) | ((255 & 0xffffff) << 8) | 0));
}
rgb_display_A1.show();
} else if (digitalRead(7) == LOW) {
pinMode(A0, OUTPUT);
tone(A0,tonelist[5]);
delay(100);
//紫色灯亮。
for (int i = 1; i <= 10; i = i + (1)) {
rgb_display_A1.setPixelColor(i - 1, (((128 & 0xffffff) << 16) | ((0 & 0xffffff) << 8) | 255));
}
rgb_display_A1.show();
} else if (digitalRead(8) == LOW) {
pinMode(A0, OUTPUT);
tone(A0,tonelist[6]);
delay(100);
//按下遥控器数字8,土黄色灯亮。
for (int i = 1; i <= 10; i = i + (1)) {
rgb_display_A1.setPixelColor(i - 1, (((255 & 0xffffff) << 16) | ((128 & 0xffffff) << 8) | 0));
}
rgb_display_A1.show();
} else {
pinMode(A0, OUTPUT);
noTone(A0);
delay(100);
//按下遥控器数字0,灯熄灭。
for (int i = 1; i <= 10; i = i + (1)) {
rgb_display_A1.setPixelColor(i - 1, (((0 & 0xffffff) << 16) | ((0 & 0xffffff) << 8) | 0));
}
rgb_display_A1.show();
}
}6、ESP32 Python 示例(适用于Mixly IDE /米思齐)
开发板选择 Python ESP32 【ESP32 Generic(4MB)】切换为代码模式上传
注意:程序上传时如果提示库文件报错,请先导入库文件!
米思齐(Mixly)IDE ESP32库文件下载及导入教程:点击查看
示例程序(ESP32-Python):待更新...
7、米思齐 Mixly 示例程序(图形化语言)
示例程序:点击下载
注意:程序上传时如果提示库文件报错,请先导入库文件!
米思齐(Mixly)IDE Arduino库文件下载及导入教程:点击查看

示例程序(ESP32开发板):点击下载
注意:程序上传时如果提示库文件报错,请先导入库文件!
米思齐(Mixly)IDE ESP32库文件下载及导入教程:点击查看
图片待更新...
8、测试环境搭建
Arduino UNO 测试环境搭建
准备配件:
HELLO STEM UNO R3 开发板 *1
UNO-EXP4扩展板*1
USB type-c 数据线 *1
无源蜂鸣器模块(HS-F08P)*1
7P按键模块(HS-KEY7P)*1
PH2.0 3P双头端子线 *1
PH2.0-7P端子转杜邦*1
电路接线图:

ESP32 测试环境搭建
准备配件:待更新...
电路接线图:待更新...
9、视频教程
视频教程:待更新...
10、测试结果
Arduino UNO测试结果:
器件连接好线之后,将上述程序烧录到ArduinoUNO开发板,接通电源。触发按键的信号口输出高低电平,通过判断信号口的高低电平状态来达到目的。按下按键1-7将使得蜂鸣器响起响应音律。
ESP32 测试结果:
待更新...