自制风扇

2017-06-259395
AI 快速预览详细 收起
本文介绍了如何使用Arduino和一些基本组件(如130小马达、继电器HRS1H-S-DC5V、220欧电阻等)制作一个简易风扇。首先,按照提供的连线图连接硬件,然后编写代码控制继电器,实现风扇的开关功能。这个项目适合STEM教育场景,让孩子们在动手实践中学习电子知识。
(由于本作者是第一次发帖,如有错误,敬请谅解!)
    这次我们做一个小风扇,由于现在是夏天,所以电风扇比较受欢迎。首先,我们准备一些材料:
1. 220欧电阻 x2
2. 5mmLED灯 x1
3.继电器HRS1H-S-DC5V x1
4.按钮 x1
5.130小马达 x1
第一步:材料连接
按下图进行连线,按钮最右边的引脚连接到数字2,并用一个220欧电阻作为下拉电阻,以防引脚悬空干扰。继电器有6个引脚图中标有序号。1,2引脚为继电器的输入信号,3,4,5,6为继电器输出的控制引脚,这里只使用4,6两个引脚。我们把继电器想成一个开关,开关也只要用到两个引脚。
自制风扇图1

第二步:编写代码
我们拼完了硬件,改变写代码了。
  • 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;
  • }

完成之后,插上USB连接线,就可以惬意的吹自制风扇啰!


创作许可协议

本项目采用 None(不开放任何权利,保留所有权利) 进行许可。

评论(1)
nicho
nicho
按键实现多种功能会不会很好玩呀 快速按两下就是定时吹十秒,长按调速,(继电器不知道能不能做到调速)
王正尧
王正尧
作者
回复nicho
继电器可能做得了也可能做不了,我回头试试。。。。。。。
pATAq
pATAq回复nicho
不错的想法,我回头试试
- 没有更多了 -