HS-KEY4B 独立按键开关模块4P
1、介绍 点这里回到目录
独立按键也称之为轻触开关,使用时以满足操作力的条件向开关操作方向施压,开关闭合接通;当撤销压力时开关即断开,其内部结构是靠金属弹片受力变化来实现通断的。如下四脚线路图我们可以很清晰的发现,正常情况下,按键的 1 和 2、3 和 4 脚是相连的;当我们按下按键时,四个脚相互接通;松开按键时,恢复正常状态。利用数字 I/O 可以实现按键控制,数字 I/O 端口的含义是INPUT 和 OUTPUT 接口,现在让我们尝试在 Arduino 中使用 I / O 的 INPUT 功能,即该功能是在本实验中从外部设备读取输出值。我们使用按键和 LED 灯来完成使用 INPUT 和 OUTPUT 作为组合的实验。我们的按键模块当按键被按下时输出低电平,当松开时,输出是高电平。
2、原理图 点这里回到目录
`
3、模块参数 点这里回到目录
引脚名称 | 描述 |
---|---|
G | GND(电源输入负极) |
V | VCC(电源输入正极) |
1 | 数字信号引脚 |
2 | 数字信号引脚 |
3 | 数字信号引脚 |
4 | 数字信号引脚 |
-
供电电压:3.3V / 5V
-
连接方式:2.54mm排针
-
安装方式:双螺丝固定
4、电路板尺寸 点这里回到目录
5、Arduino IDE示例程序 点这里回到目录
示例程序(UNO开发板):
volatile int light; void setup(){ light = 0; pinMode(9, OUTPUT); analogWrite(9, 0); pinMode(6, INPUT); pinMode(5, INPUT); pinMode(4, INPUT); pinMode(3, INPUT); } void loop(){ //led灯接D9引脚:四位按键模块1~4分别接开发板3,4,5,6 if (digitalRead(6) == 0) { light = 0; } else if (digitalRead(5) == 0) { light = 30; } else if (digitalRead(4) == 0) { light = 125; } else if (digitalRead(3) == 0) { light = 255; } delay(10); analogWrite(9, light); }
示例程序(ESP32开发板—基于Python语言,不能用Arduino IDE上传代码):
import machine
pin39 = machine.Pin(39, machine.Pin.IN)
pin36 = machine.Pin(36, machine.Pin.IN)
pin35 = machine.Pin(35, machine.Pin.IN)
pin34 = machine.Pin(34, machine.Pin.IN)
pwm2 = machine.PWM(machine.Pin(2))
light = 0
while True:
if pin39.value() == 0:
light = 0
elif pin36.value() == 0:
light = 15000
elif pin35.value() == 0:
light = 30000
elif pin34.value() == 0:
light = 60000
pwm2.duty_u16(light)
6、米思齐 Mixly 示例程序(图形化语言) 点这里回到目录
示例程序(UNO开发板):点击下载
示例程序(ESP32开发板):点击下载
7、测试环境搭建 点这里回到目录
准备配件:
- HELLO STEM UNO R3 PRO 开发板 *1
- USB type-c 数据线 *1
- LED灯模块(HS-F08A)*1
- 独立按键开关模块(HS-KEY4B)*1
- 1P母对母杜邦线 *9条 或 3P母对母杜邦线 *3条
电路接线图:
8、视频教程 点这里回到目录
视频教程:点击查看
9、测试结论 点这里回到目录
器件连接好线之后,将上述程序烧录到Arduino UNO 开发板之后,接通电源。触发按键的信号口输出高低电平,通过判断信号口的高低电平状态,我们的按键模块按下时,输出低电平(0),否则输出高电平(1),达到目的。按下按键SW1将使得 LED 熄灭,按下按键SW2将使得LED发出微光,按下按键SW3将使得LED发出正常光,按下按键SW4使得LED发出强光。