HS-KEY12A-L 12키 매트릭스 키보드

HS-KEY12A-L 12키 매트릭스 키보드

1、소개

12키 행렬 키보드는 12개의 네발 키를 포함하고 있으며, 힘을 받는 상태를 보호하기 위해金属지판을 사용합니다. 각 키의 네 개의 핀은 행렬 형태로 배열되어 있습니다.12키 마트릭스 키보드 모듈에서, 특정 버튼이 눌러지면 전선이 통로되고, 그 압력을 해제하면 전선이 점프합니다.이 압력의 힘은 우리의 손으로 버튼을 켜고 끄는 행동입니다.12키 마트릭스 키보드는 하나의 시뮬레이션 출력을 공유하며, 다른 키가 눌러질 때마다 다른 시뮬레이션 값이 출력되어哪个按钮被按下可以判断됩니다。어떻게Arduino의 액정핀을 사용하여 12키 마トリ스 키보드 모듈을 제어할 수 있으며, IO 인터페이스 사용을 크게 줄일 수 있습니다.Arduino 초보자들에게 더 편리하게 작업할 수 있습니다.

2、시뮬레이션 그래프

3、모듈 매개변수

핀 이름

설명

G

GND(전원 입력 부정极)

V

VCC(전원 입력 정극)

S

모의신호핀

  • 전원전압: 3.3V / 5V

  • 연결 방식:PH2.0 콘ector 라인

  • 설치 방법: 네 개의 스피너 고정

4、회로판 크기

5、아두이노 IDE 예제 프로그램

Arduino UNO 그래픽 예제 프로그램:

volatile boolean buttonState;
volatile int buttonvaule;
void light(boolean G, boolean Y, boolean R) {
 digitalWrite(9,G);
 digitalWrite(10,Y);
 digitalWrite(11,R);
}
void setup(){
 Serial.begin(9600);
 buttonState = 0;
 buttonvaule = 0;
 // 按键状态值
 pinMode(A0, INPUT);
 pinMode(9, OUTPUT);
 pinMode(10, OUTPUT);
 pinMode(11, OUTPUT);
}
void loop(){
 //1按键模拟值:36±1;
 //2按键模拟值:76±1;
 //3按键模拟值:108±1;
 //4按键模拟值:139±1;
 //5按键模拟值:169±1;
 //6按键模拟值:196±1;
 //7按键模拟值:216±1;
 //8按键模拟值:235±1;
 //9按键模拟值:252±1;
 //*按键模拟值:270±1;
 //0按键模拟值:285±1;
 //#按键模拟值:307±1;
 //按键没被按下模拟值:1023
 //矩阵键盘接A0,交通灯接D9,D10,D11
 //效果:按下数字0关灯,按下数字1亮绿灯;
 //按下数字2亮黄灯;按下数字3亮红灯;
 buttonvaule = analogRead(A0);
 if (buttonvaule == 1023) {
 buttonState = 0;
 }
 if ((buttonvaule >= 35 && buttonvaule <= 37) && buttonState == 0) {
 light(HIGH, LOW, LOW);
 buttonState = 1;
 } else if ((buttonvaule >= 75 && buttonvaule <= 77) && buttonState == 0) {
 light(LOW, HIGH, LOW);
 buttonState = 1;
 } else if ((buttonvaule >= 107 && buttonvaule <= 109) && buttonState == 0) {
 light(LOW, LOW, HIGH);
 buttonState = 1;
 } else if ((buttonvaule >= 284 && buttonvaule <= 286) && buttonState == 0) {
 light(LOW, LOW, LOW);
 buttonState = 1;
 }
 Serial.println(buttonvaule);
}

ESP32 Python 예제(Mixly IDE / 미스키에 적용됨)
(개발 보드를 선택한 Python ESP32 【ESP32 Generic(4MB)】를 코드 모드로 전환하여 업로드 ):

import machine


pin25 = machine.Pin(25, machine.Pin.OUT)
pin26 = machine.Pin(26, machine.Pin.OUT)
pin27 = machine.Pin(27, machine.Pin.OUT)
adc32 = machine.ADC(machine.Pin(32))
while True:
if 3000 < adc32.read_u16() < 4000:
pin25.value(1)
pin26.value(0)
pin27.value(0)
print(adc32.read_u16())
elif 11000 < adc32.read_u16() < 13000:
pin25.value(0)
pin26.value(1)
pin27.value(0)
print(adc32.read_u16())
elif 18000 < adc32.read_u16() < 20000:
pin25.value(0)
pin26.value(0)
pin27.value(1)
print(adc32.read_u16())

6、미시치 Mixly 예제 프로그램(그래픽 언어)

Arduino UNO 그래픽 예제 프로그램:다운로드 클릭

ESP32 Python 그래픽 예제 프로그램:다운로드 클릭

7、테스트 환경 구축

Arduino UNO 테스트 환경 구축

부품 준비:“

  • HELLO STEM UNO R3 개발 보드 *1

  • HELLO STEM UNO R3 P 확장 보드 *1

  • USB type-c 데이터 케이블 *1

  • 신호등 모듈(HS-F05L)*1

  • 12키 매트릭스 키보드(HS-KEY12A-L)*1

  • PH2.0 4P 양두頭 단자선 *1개

  • PH2.0 3P 양두头 단자선 *1개

전기 연결도):

ESP32 Python 테스트 환경 구축

8、비디오教程

Arduino UNO 비디오 강의:点击查看

ESP32 Python 비디오 강의:

9、테스트결론

Arduino UNO 테스트 결과:

ESP32 Python 테스트 결과: