arduino智能风扇系统
研究方法与思路:
我们小组一开始找的是一个别人做好的项目,按键控制风扇挡位,不同挡位对应不同LED灯。但是实现过程中存在bug。而且仅仅通过按键控制风扇着实有局限性,因此我觉定用串口控制风扇开关的模式,输入1,风扇变为光敏自动调节,输入2,变为按钮人工控制调节。
我们的思路首先是拆开,把每个功能单独列出来实现,最后再进行合并
按键控制风扇开关:
我在这里遇到了问题,就是按钮按一下它关闭一会又自动开始转。最后找到了徐大佬,才解决了问题。
猛地关闭风扇,电流会回流,然后把相应的下限变高(我也没听太明白)这个大概就是(buttonValue = analogRead(buttonpin)) > 15而不是大于0的原因。
一开始我用的数字信号,最后用了模拟信号才调出来。。
const int IB = 6;
const int IA = 5;
int buttonpin = A1;
boolean state = false;void setup() {Serial.begin(9600);pinMode(IA, OUTPUT);pinMode(IB, OUTPUT);pinMode(buttonpin, INPUT_PULLUP);
}void loop()
{int buttonValue = 0;while ((buttonValue = analogRead(buttonpin)) > 15){Serial.println(buttonValue);}Serial.print("a");if (state == true){analogWrite(IA, 0);analogWrite(IB, 0);}else{analogWrite(IA, 105);analogWrite(IB, 0);}state = !state;delay(600);
}
串口控制风扇挡位:
const int IB=6;
const int IA=5;
void setup(){Serial.begin(9600);pinMode(IA,OUTPUT);pinMode(IB,OUTPUT);}void loop(){if(Serial.available()>0){char ch=Serial.read();Serial.println(ch);if(ch == 'l'){analogWrite(6,0); analogWrite(5,0); //Serial.println("l");}else if(ch == 'm'){analogWrite(6,0); analogWrite(5,150);// Serial.println("m");}
else if(ch =='h'){analogWrite(6,0); analogWrite(5,250);// Serial.println("h");
}
}}
光敏电阻控制风扇挡位:
const int IB=6;
const int IA=5;
void setup(){Serial.begin(9600);pinMode(IA,OUTPUT);pinMode(IB,OUTPUT);}void loop(){int sv=analogRead(A0);Serial.println(sv);//光越大sv越小analogWrite(IB,0);analogWrite(IA,(600-sv)*0.425 );}
串口控制风扇模式:
主要是用了一些条件语句把上面的模块拼到一块,应该能看明白,我就不多说了
const int IB = 6;
const int IA = 5;
int buttonpin = A1;
boolean state = false;void setup() {Serial.begin(9600);pinMode(IA, OUTPUT);pinMode(IB, OUTPUT);pinMode(buttonpin, INPUT_PULLUP);
}void loop() {if (Serial.available() > 0) {char ch = Serial.read();if (ch == '4'){Serial.println("你想要智能风扇的哪个功能");Serial.println("1.按键控制风扇") ;Serial.println("3.光敏传感器控制风扇");Serial.println("4.从新选择");}else{while (1) {if (ch == '1'){int buttonValue = 0;if (Serial.available() > 0){char bb = Serial.read();if (bb == '4'){analogWrite(IA, 0);analogWrite(IB, 0);break;}}else {while ((buttonValue = analogRead(buttonpin)) > 15){// Serial.println(buttonValue);}// Serial.print("a");if (state == true){analogWrite(IA, 0);analogWrite(IB, 0);}else{analogWrite(IA, 105);analogWrite(IB, 0);}state = !state;delay(600);}}else if (ch == '3'){int sv = analogRead(A0);// Serial.println(sv);//光越大sv越小analogWrite(IB, 0);analogWrite(IA, (600 - sv) * 0.425 );if (Serial.available() > 0){char ch = Serial.read();if (ch == '4'){analogWrite(IA, 0);analogWrite(IB, 0);break;}else {Serial.println("如果想要切换功能请输入4");}}}}}}
}
arduino智能风扇系统相关推荐
- 基于STM32的智能风扇系统
目录 1.概述 2.硬件组成 3.PWM调速原理 4.L298N电机驱动控制原理 5.红外线遥控编码原理 6.软件设计 7.实物测试 1.概述 该智能风扇以STM32单片机为核心,结合红外遥控.人体感 ...
- 基于stm32f407的智能风扇系统
内容及过程 的主要内容是设计并制作一个基于stm32f407的智能风扇系统,这个智能风扇系统能够实现测量是否有人出现,是否温度过高,是否有火灾险情出现,这个系统完美解决了电力资源浪费以及在危险环境下处 ...
- arduino智能风扇
Arduino 智能风扇 文件 ArduinoIDE下载 https://www.arduino.cc 所需工具 ● Arduino Uno开发板 https://detail.tmall.com/i ...
- ESP32+arduino智能浇水系统
一.ESP32+arduino智能浇水系统 随着人类居住条件的改善及对生态生活环境的关注,花卉养殖得到社会和人类个体的重视.这些具有生命特征的植物需 要科学合理的人工照顾.本研究提出了利用ESP WR ...
- 毕业设计 Arduino智能灌溉系统 - 嵌入式 单片机 物联网
文章目录 1 简介 1 硬件要求 2 项目背景 3 实现功能 4 OLDE显示屏 5 IO扩展器 6 系统构建 7 完整代码 8 最后 1 简介 Hi,大家好,学长今天向大家介绍一个 单片机项目,大家 ...
- 基于STM32F103单片机的智能婴儿床智能风扇系统
系统功能设计 (末尾附文件) 本系统由STM32F103C8T6单片机核心板.LCD1602液晶显示.DHT11温湿度传感器+风扇控制.声音检测.音乐片驱动.继电器控制电机.拨动开关.蓝牙模块组成. ...
- Arduino智能浇灌系统
电子元件 土壤湿度传感器.泵,ardunio uno,面包板,三极管,水位传感器,电阻 源代码 手机上下载Blinker软件 源代码 源代码 烧录到esp8266 /** esp8266*/#defi ...
- Arduino智能灯系统(一)
最近跟了一个项目是基于arduino开发的居家智能灯,其主要目的是让居家老人半夜如厕时自动开灯,形成引导如厕路线,当目标再次回到房间,再次触发压力开关使得指引灯熄灭完成任务.该系统设置了一个蓝牙模块与 ...
- 基于stm32f103的智能风扇系统
系统设计目标 本系统可以分为两个模式来进行运行,分别为手动模式和自动模式,同时,在上电进入系统后,还会有一个模式选择的界面产生. 模式选择:在此界面中,可以通过按键K1来控制模式选择,两个模式分别为手 ...
最新文章
- django learn 多对多的两种映射关系
- 我用hbuilder怎么用不了jquery_【权益资讯】机房电脑用不了怎么办
- php自动配置ip,使用PHP自动PING IP
- Flask开发微电影网站(二)
- python多个异常处理_python中处理多个异常
- pfSense book之静态路由
- 开天辟地 —— Go scheduler 初始化(二)
- keil5用jlink不到芯片_洛达芯片检测
- 计算机用于数据管理经历了,管理系统中计算机应用--期中测验答案
- python关于字符串的内置函数_Python 字符串内置函数(二)
- java代码复数包括虚部和实部,Java中编写Applet程序验证复数类(在问题补充中)实现接收用户输入的复数的实部和虚部,计算复数与复数,复数与实数的加减,乘除操作...
- c语言迷宫问题输出坐标,C语言数据结构之迷宫求解问题
- 图论算法——有向图的可达性与寻路
- 【面向对象设计原则】之依赖倒置原则(DIP)
- 专用5G网络的7种部署方案
- 【opencv 450 Image Processing】Image Moments 图像矩
- React二级路由的实现
- Git修改用户名和邮箱
- “杏”运有你!共赏这乡美景
- 【持续更新】1999-2023年英伟达历代桌面GeForce显卡列表,GeForce显卡发布日期
热门文章
- debug和release的区别
- python回测量化交易策略收益率
- Kafka集群部署搭建完美标准版
- 微信开发1之PHP成功获取微信支付的Token
- OpenGL 入门第一课 视窗以及三角形
- ssh远程执行命令 linux,【Linux】SSH 远程执行命令
- python61到08使用说明书_python 08 文件操作
- python深入和扩展_加速方案 — Python扩展模块
- java webservice 身份验证_java-Http基本身份验证不适用于Spring WS和WebS...
- win7电脑文件夹属性没有安全选项的解决方法