使用Arduino UNO复活电脑的风扇

目录

1.所需器件

2.接线

3.程序

4.运行结果


引言:在炎炎夏日,我偶然发现了一台旧电脑主机的风扇。这台风扇不仅保存完好,还支持PWM调速功能。于是,我萌生了一个创意的想法------将其改造成一个可调速的风扇,通过按钮来控制转速。这样一来,就像模拟电脑主机在高温时自动提高转速散热,温度下降时又自动降低转速一样,既实用又有趣。

1.所需器件

(1)风扇,四个引脚VCC(12V)、GND(地)、PWM(调速信号)和测速信号(可选,可以不接);

(2)Arduino UNO;

(3)两个按钮模块;

(4)杜邦线若干;

(5)12V电源

2.接线

|-----|-----|
| 按钮A | UNO |
| VCC | 5V |
| GND | GND |
| OUT | D2 |

|-----|-----|
| 按钮B | UNO |
| VCC | 5V |
| GND | GND |
| OUT | D3 |

|-----|---------------|
| 风扇 | |
| VCC | 12V正极 |
| GND | 12V负极和UNO的GND |
| PWM | D9 |

3.程序

复制代码
const int fanControlPin = 9;  // 风扇PWM控制引脚
const int buttonUpPin = 2;    // 增加转速按钮引脚
const int buttonDownPin = 3;  // 减少转速按钮引脚

int fanSpeed = 128;  // 初始风扇速度
unsigned long lastDebounceTime = 0;  // 上次消抖时间
unsigned long debounceDelay = 50;    // 消抖延时

void setup() {
  pinMode(fanControlPin, OUTPUT);
  pinMode(buttonUpPin, INPUT);
  pinMode(buttonDownPin, INPUT);
}

void loop() {
  int buttonUpState = digitalRead(buttonUpPin);
  int buttonDownState = digitalRead(buttonDownPin);

  // 检测增加转速按钮是否被按下
  if (buttonUpState == HIGH) {
    if (millis() - lastDebounceTime > debounceDelay) {
      fanSpeed += 5;  // 增加转速
      if (fanSpeed > 255) fanSpeed = 255;  // 限制最大值
      lastDebounceTime = millis();  // 更新消抖时间
    }
  }

  // 检测减少转速按钮是否被按下
  if (buttonDownState == HIGH) {
    if (millis() - lastDebounceTime > debounceDelay) {
      fanSpeed -= 5;  // 减少转速
      if (fanSpeed < 0) fanSpeed = 0;  // 限制最小值
      lastDebounceTime = millis();  // 更新消抖时间
    }
  }

  analogWrite(fanControlPin, fanSpeed);  // 设置风扇速度
}

4.运行结果

https://b23.tv/L0DFb02

相关推荐
远程软件小帮手1 天前
UU远程上线mac被控!如何远程控制 macOS 设备办公?
游戏·macos·智能手机·电脑
驱动小百科1 天前
华硕笔记本触摸板驱动下载 完整指南
电脑·华硕笔记本触摸板驱动·asus touchpad·华硕触摸板失灵·华硕驱动下载
uestc_Venn1 天前
Windows 11系统出现User Profile Service 服务登录失败。无法加载用户配置文件。 的解决办法
windows·电脑
Digitally3 天前
如何将照片从安卓手机传输到电脑?
android·智能手机·电脑
std78793 天前
华为擎云将发布新一代鸿蒙电脑及鸿蒙电脑企业版 专为企业而生
华为·电脑·harmonyos
csdn_aspnet4 天前
电脑硬件解剖,拆解主流机型,分享硬件升级与故障排查经验
电脑
ITHAOGE154 天前
下载| Windows 11 ARM版11月官方ISO系统映像 (适合部分笔记本、苹果M系列芯片电脑、树莓派和部分安卓手机平板)
windows·科技·microsoft·微软·电脑
伍六星4 天前
电脑重启壁纸黑屏,缓一会之后鼠标在哪里划过,该部分就显示该单元壁纸
计算机外设·电脑
RoboWizard4 天前
高性能电脑热战寒冬 11月DIY配置推荐
linux·运维·服务器·电脑·金士顿
永远的超音速5 天前
Docker入门
docker·电脑