Arduino 卡片13自制风扇

这篇博客介绍了如何利用Arduino制作一个简单的风扇。通过继电器,作者实现了用小电流控制直流电机的转动。首先讲解了硬件部分,包括如何连接按钮、继电器和直流电机,确保了继电器作为自动开关的正确操作。接着,提供了代码部分,特别提到了如何处理按键的去抖问题,避免因硬件抖动导致的误操作。最后,回顾了项目的核心——按键去抖的解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、硬件部分

做一个小风扇。同时会接触两件新元件——继电器、直流电机。继电器,我们可以理解为是用较小的电流去控制较大电流的一种“自动开关”。在这里,继电器是用来控制电机转动的。

按下图进行连线,按钮连接到数字2。按钮一端连接5V,另一端连接GND,并用一个220Ω的电阻作为下拉电阻,以防引脚悬空干扰。继电器有6个引脚,分别标有序号。1,2引脚为继电器的输入信号,分别接Arduino的数字引脚和GND。3,4,5,6为继电器输出的控制引脚,这里只使用4,6两个引脚。我们把继电器想成一个开关,开关也只要用到两个引脚。


2、代码部分

//通过按键,可以控制电机和LED的开和关。
int buttonPin = 2;  //按钮接在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);

  // 一旦检测到数据发生变化,记录当前时间
  if(reading != lastButtonState){
    lastD
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值