4935浏览
查看: 4935|回复: 3

自制风扇

[复制链接]
(由于本作者是第一次发帖,如有错误,敬请谅解!)
    这次我们做一个小风扇,由于现在是夏天,所以电风扇比较受欢迎。首先,我们准备一些材料:
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.jpg

第二步:编写代码
我们拼完了硬件,改变写代码了。
  • 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连接线,就可以惬意的吹自制风扇啰!


nicho  中级技匠

发表于 2017-6-27 11:06:43

按键实现多种功能会不会很好玩呀  快速按两下就是定时吹十秒,长按调速,(继电器不知道能不能做到调速)
回复

使用道具 举报

pATAq  版主

发表于 2017-6-28 16:19:53

nicho 发表于 2017-6-27 11:06
按键实现多种功能会不会很好玩呀  快速按两下就是定时吹十秒,长按调速,(继电器不知道能不能做到调速) ...

不错的想法,我回头试试
回复

使用道具 举报

王正尧  见习技师
 楼主|

发表于 2018-1-25 21:01:52

nicho 发表于 2017-6-27 11:06
按键实现多种功能会不会很好玩呀  快速按两下就是定时吹十秒,长按调速,(继电器不知道能不能做到调速) ...

继电器可能做得了也可能做不了,我回头试试。。。。。。。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
关于楼主

楼主的其它帖子

上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2022 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail