DIY基于Arduino的摇头温控小风扇
本帖最后由 贺章逸 于 2021-11-25 16:08 编辑当寒冷的冬天离我们越来越近时,春天也会悄然来临,那炎热的夏天离我们还会远吗?春回大地,万物复苏,夏日炎炎,睡意绵绵。
这肯定是我有史以来第一次diy制作了吧,对于我这样的手残党之一,想想小时候,我只会折纸飞机 然后。。。。后来我还是只会折纸飞机。夏季初期,柔和的太阳使人懒散,使人泛起困意。到了夏季最炎热的时候,就连躺着床上,也会冒汗。有的时候,就在想,要是风扇能自己吹,这样就只需床上一躺,拿着手机追剧,再来一杯肥宅快乐汽水,享受生活,可谓真是美滋滋。
基于这样的想法,我就提前为自己做起来了温控小风扇。(当然后面也会逐步的修改一下)
实验原理:由温度传感器来检测室内温度值,当室内温度大于25度时,1602显示屏显示出温度当前值并呈现颜色为黄色,风扇以150的速度转动,当室内温度大于30°时,1602显示屏显示出温度当前值并呈现颜色为红色,风扇以255的速度转动。当室内温度降下来时,风扇转动的速度也会随着降下来,直到室内温度小于25度时,显示屏的颜色为绿色,风扇便停止转动。
材料清单:
[*]Gravity: 风扇模块
[*]Gravity: I2CLCD1602
[*]DFRobot DF9GMS 180° 微型舵机
[*]Gravity: 模拟LM35线性温度传感器(Arduino兼容)
[*]Arduino UNO控制板以及IO扩展板
制作过程:
首先我先废物利用了一波,找到家里准备丢掉的硬纸板做成了一个有点小丑的外壳(它有点小丑但是它很温柔)。
然后便开始组装
拿出舵机,风扇模块以及家里不要钱的两根小钢丝
然后用钢丝把舵机和风扇模块绑起来
然后就可以连线啦,
接线图:
再然后就可以进行安装并放置到壳子里去
最后给它通电,把程序烧录进去,弄好就是这样的。虽然它有点小丑,但是也阻止不了它外表的威风凛凛,英姿飒爽的形态。小小的风扇,具备着大大的能力,它可以是风扇,还可以是散热器。
代码:
#include <Servo.h>
#include "DFRobot_LCD.h"
#define Fan 11 //定义风扇接口 PWM管脚
DFRobot_LCD lcd(16,2);//表示可用两行十六个字节
Servo myservo;
double dat;//浮点单精度
uint8_t val;//设置变量,取值为0~255
uint8_t pin=A0;//设置模拟引脚号A0
int pos = 0; //表舵机的状态
void setup() {
Serial.begin(9600);//初始化串口
myservo.attach(9);// 舵机引脚号为9
}
void loop() {
val=analogRead(A0);//温度传感器的模拟引脚号为A0
dat =val * (5/10.24);
lcd.init(); //初始化lcd屏幕显示
lcd.setCursor(2, 0);//表示显示的数据将在第一行的第二个字节开始显示
lcd.print("temperature:");//在lcd屏幕上面打印temperature
lcd.setCursor(5, 2);//表示显示的数据将在第二行的第五个字节开始显示
lcd.print(dat,0);//表示在lcd屏幕里打印获得的温度值并获得整数
lcd.print("C"); //表示在lcd屏幕里打印C
if(dat >= 30){
lcd.setRGB(255,0,0);//当温度大于30度时,变为红色
analogWrite(Fan, 255);//风扇以255的速度转动
for (pos = 0; pos <= 180; pos += 1) {
myservo.write(pos);
delay(10);
}
for (pos = 180; pos >= 0; pos -= 1) {
myservo.write(pos);
delay(10);
}
}
else if(dat>25 and dat<30){
lcd.setRGB(255,255,0);//当温度大于25度时,变为黄色
analogWrite(Fan, 150);//风扇以150的速度转动
for (pos = 0; pos <= 180; pos += 1) {
myservo.write(pos);
delay(10);
}
for (pos = 180; pos >= 0; pos -= 1) {
myservo.write(pos);
delay(10);
}
C:\Users\admin\Desktop\温控小风扇\VID_20211124_162500.mp4
你好 代码显示有错误该怎么解决
第二行代码显示有错误 无法解决 外形可以在精致一些……
页:
[1]