当前位置: 首页 > web >正文

使用Arduino UNO复活电脑的风扇

目录

1.所需器件

2.接线

 3.程序

 4.运行结果


 

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

 

1.所需器件

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

(2)Arduino UNO;

(3)两个按钮模块;

(4)杜邦线若干;

(5)12V电源

2.接线

按钮AUNO
VCC5V
GNDGND
OUTD2
按钮BUNO
VCC5V
GNDGND
OUTD3
风扇 
VCC12V正极
GND12V负极和UNO的GND
PWMD9

 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

 

 

http://www.xdnf.cn/news/8785.html

相关文章:

  • CI/CD (持续集成/持续部署) GitHub Actions 自动构建
  • 【Linux】进程问题--僵尸进程
  • Github Actions工作流入门
  • 详解3DGS
  • MySQL---库操作
  • 深入解析MongoDB WiredTiger存储引擎:原理、优势与最佳实践
  • 如何通过API接口实现自动化上货跨平台铺货?商品采集|商品上传实现详细步骤
  • 论文阅读:PURPLE: Making a Large Language Model a Better SQL Writer
  • leetcode排序链表 java
  • k8s部署ELK补充篇:kubernetes-event-exporter收集Kubernetes集群中的事件
  • QT单例模式简单讲解与实现
  • 汇量科技前端面试题及参考答案
  • 电路设计接口协议大全
  • 科技赋能,创新不止,建投数据获批三项算力服务软件著作权
  • el-input 按回车失去焦点
  • 【java】小练习--零钱通
  • 第十四章:数据治理之数据源:数据源的数据接入、业务属性梳理及监控
  • 人形机器人硬件技术剖析:部件、难点与突破路径
  • vocabulary in code
  • AI大模型(三)openAI大模型应用
  • [爬虫知识] IP代理
  • 2021-10-28 C++判断完全平方数
  • NVMe高速传输之摆脱XDMA设计1
  • 9:多线程(2)
  • 再论自然数全加和-2
  • 开疆智能Profinet转Profibus网关连接Type8644自动化控制系统案例
  • Pr -- 耳机没有Pr输出的声音
  • 算法笔记·数学·约数之和
  • PCIE 4.0 vs PCIE 5.0固态硬盘——区别、科普与选购场景全解析
  • yolov11使用记录(训练自己的数据集)