控制风扇速度

时间:2017-03-06 22:36:15

标签: arduino

我想用arduino控制一个英特尔4线风扇。我已连接电线并试图在下面粘贴代码,但风扇在缓慢设置下不断改变速度,我不知道为什么。我唯一没有的是arduino和风扇控制引脚之间的电阻。

const int PWMPin = 3;
int pinOUT = 7;
int pinIN = 4;


void setup() {

pinMode(PWMPin, OUTPUT); 

TCCR2A = 0x23;

TCCR2B = 0x0A;

OCR2A = 79;  

pinMode(pinOUT, OUTPUT);
digitalWrite(pinOUT, HIGH);
pinMode(pinIN, INPUT);
}

void loop() {

 switch (digitalRead(pinIN)) {
 case HIGH:
  OCR2B = 80; 
  break;
 default:
  OCR2B = 20; 
 break;
 }
}

1 个答案:

答案 0 :(得分:1)

我无法发现代码中的任何错误。如何切换风扇的速度,换句话说:连接到引脚4的电路是什么样的?因为听起来你错过了一个下拉电阻。输入电压不会在“高/ 5V”和“低/ 0V”之间变化,而是在“高5V”和“未定义/ 0-5V噪声”之间变化。

假设您有一个按钮/开关/连接到P4的任何连接P4和Vin的按钮,请尝试以下操作:在P4和GND之间放一个10K电阻。

这不应该是一个答案,但我仍然缺乏评论所需的声誉,所以你去。