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 測試結果:

等更新...