
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 測試結果:
等更新...