最近买了一块开关量输入模块,用了一下,还不错。把测试过程记录一下。
这个非自锁开关量输入模块,每个开关都带指示灯。每当开关按下,指示灯就点亮,表示开关已经按下。同时这个模块自带上拉电阻,可直接连接单片机的端口。
测试用的是Ardunio。STM32,C51也可以的。
接线图如下:
开关模块 《------------------》 Ardunio
vcc --------------------------- Vcc +5v (接+3.3v也可以的)
GND --------------------- GND
pin1 ------------------------- 2
测试程序功能是按下开关后,ARDUINO自带的LED点亮。放开开关,开关弹起,LED灭掉。
const byte ledPin = 13;
const byte interruptPin = 2;
volatile byte state = LOW;
void setup()
{
pinMode(ledPin, OUTPUT);
pinMode(interruptPin, INPUT_PULLUP);
attachInterrupt(digitalPinToInterrupt(interruptPin), blink, CHANGE);
}
void loop() {
digitalWrite(ledPin, state);
}
void blink() {
state = !state;
}