HS-KEY7P 7P按键模块

HS-KEY7P 7P按键模块

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、电路板尺寸

详情页_Simplified_3

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库文件下载及导入教程:点击查看

详情页_Simplified_10

示例程序(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

电路接线图:

详情页_Simplified_7

ESP32 测试环境搭建

准备配件:待更新...

电路接线图:待更新...

9、视频教程   

视频教程:待更新...

10、测试结果

Arduino UNO测试结果:

器件连接好线之后,将上述程序烧录到ArduinoUNO开发板,接通电源。触发按键的信号口输出高低电平,通过判断信号口的高低电平状态来达到目的。按下按键1-7将使得蜂鸣器响起响应音律。

ESP32 测试结果:

待更新...