MakerLab创客实验室 — Let's Make something.
现在注册
已注册用户请 登入
收藏此话题的成员
noki mini avatar
正月十五 large avatar
MakerLab创客实验室  ›  固件

关于设定某温度控制风扇开关的代码

By 正月十五 at 2 年前 , 1118 次浏览

之前在《 全新3D打印机合体控制板使用说明》一贴中请曾教Andy
“@Andy 请教一下如何设置某一风扇在喷头温度高于100度启动 低于100度停止 谢谢”

很快得到Andy回复“@正月十五 这个需要修改固件代码才可以实现。大体思路是:判断当前温度是多少,高于100度,对某个管脚输出高电平(打开风扇),低于100度输出低电平(关闭风扇)。
如果你不懂代码,专门开一个帖子,我抽空写一段代码,放上来。”

很惭愧确实不会编写这段代码 所以只能期待Andy抽空编写一下这段代码 感谢!

4 回复
Andy medium avatar
#1 - 2 年前
Andy

找到marlin_main.cpp文件,在3387行这个地方添加以下代码:

void manage_inactivity()
{
//... 此处省略n行
check_axes_activity();

//开始添加风扇自动控温
if(current_temperature[0] > 100)
{
WRITE(FAN1_PIN,HIGH);//其中的FAN1_PIN可以改为FAN_PIN或FAN2_PIN,接线需要相应更改。
} else
{
WRITE(FAN1_PIN,LOW);//0表示关闭风扇;
}
//结束添加
}

添加这段代码后,相应风扇会自动打开或关闭,但如果配置的为FAN_PIN,可能会跟切片中的风扇控制相冲突。

另外代码没有真实测试过,所以测试一下看看可不可以。

rainbow medium avatar
#3 - 一年前
rainbow

@Andy 这段代码测试过了有问题,arduino显示如下:

Marlin_main.cpp: In function 'void manage_inactivity()':
Marlin_main.cpp:3388: error: a function-definition is not allowed here before '{' token
Marlin_main.cpp:3550: error: expected `}' at end of input

这个怎么解决啊,求赐教!

Andy medium avatar
#4 - 一年前
Andy

@rainbow 仔细检查一下,估计跟“{”或“}”有关