arduino继电器控制风扇_Arduino教程14 --自制风扇

本篇Arduino教程介绍如何通过编程控制继电器,实现风扇的开关操作。代码中定义了按钮引脚和继电器引脚,设置初始状态,并在循环中检测按钮状态变化,通过消除抖动来稳定读取,当按钮被按下时切换继电器状态,从而控制风扇的开启和关闭。
摘要由CSDN通过智能技术生成

int buttonPin = 2;                          // button连接到数字2

int relayPin = 3;                           // 继电器连接到数字3

int relayState = HIGH;                      // 继电器初始状态为HIGH

int buttonState;                            // 记录button当前状态值

int lastButtonState = LOW;                  // 记录button前一个状态值

long lastDebounceTime = 0;

long debounceDelay = 50;                    //去除抖动时间

void setup() {

pinMode(buttonPin, INPUT);

pinMode(relayPin, OUTPUT);

digitalWrite(relayPin, relayState);       // 设置继电器的初始状态

}

void loop() {

int reading = digitalRead(buttonPin);   //reading用来存储buttonPin的数据

// 一旦检测到数据发生变化,记录当前时间

if (reading != lastButtonState) {

lastDebounceTime = millis();

}

// 等待50ms,再进行一次判断,是否和当前button状态相同

// 如果和当前状态不相同,改变button状态

// 同时,如果button状态为高(也就是被按下),那么就改变继电器的状态

if ((millis() - lastDebounceTime) > debounceDelay) {

if (reading != buttonState) {

buttonState = reading;

if (buttonState == HIGH) {

relayState = !relayState;

}

}

}

digitalWrite(relayPin, relayState);

// 改变button前一个状态值

lastButtonState = reading;

}

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值