【发布时间】:2020-03-20 09:06:15
【问题描述】:
我想做一个像 Knocki(https://knocki.com) 这样的设备,它本质上是一个使用振动传感器的继电器控制。我可以检测到振动,但问题是,一旦我敲门,继电器就会闪烁然后关闭。我知道这是由于缺乏编程造成的。有人可以帮我写代码,这样当我敲门时,继电器就会无限期地打开;直到我再次敲门关闭继电器。
是的,你可能会说这段代码是从某个地方复制的(https://wiki.keyestudio.com/Ks0068_keyestudio_37_in_1_Sensor_Kit_for_Arduino_Starters#Project_21:_Vibration_Sensor).I 取自振动传感器的主页。代码最初是这样的,每次我敲门时,板载 Arduino 的 LED 都会亮起。另外,现在每次我敲门继电器都会微弱闪烁(虽然正确,与我的敲门同步)
#define SensorLED 13
#define SensorINPUT 3 //Connect the sensor to digital Pin 3 which is Interrupts 1.
unsigned char state = 0;
int Relay = 5;
void setup()
{
pinMode(SensorLED, OUTPUT);
pinMode(SensorINPUT, INPUT);
attachInterrupt(1, blink, FALLING);// Trigger the blink function when the falling edge is detected
}
void loop()
{ if(state!=0)
{
state = 0;
digitalWrite(SensorLED,HIGH);
delay(500);
digitalWrite(Relay,HIGH);
}
else
digitalWrite(SensorLED,LOW);
digitalWrite(Relay,lOW);
}
void blink()//Interrupts function
{ state++;
【问题讨论】:
-
请在其数据表中检查您的继电器所需的电压和电流。您的继电器可能需要更多电源才能继续运行。
-
@RobertoFRey 它是一个简单的 5v 继电器。但现在你提到它,我的电路板目前正在为我的 3.3 v 上的一个 5v 继电器和一个振动传感器供电。这有什么不同吗??