MOSFET是一种具有很好开关特性的电子器件,被广泛应用在需要电子开关的电路中,如开关电源和马达驱动,以及照明调光等。继电器是大家非常熟悉的另外一种具有开关特性的模块,但由于继电器的工作原理一般是靠机械触点来达到开与关的目的,这就必然导致在开关时间非常短的情况之下,继电器无法工作的情况,另外触点开关时发出的叭叭声在某些场合下也是比较让人烦恼的一件事情。
我们设计的这一4路MOSFET开关最多可以提供4组电子开关,分别用来控制不同的电路模块。受MOSFET工作原理的影响,该电子积木只能用来控制直流电路,比如直流LED屏等,并不适合交流电路的控制。极限情况下该MOSFET开关可以用来控制100V/33A的直流电路,但控制的最小直流电压建议不低于9V。
在电路连接上,受控一端的连线稍微要麻烦一些。以控制12V的LED灯带为例,首先在正极(+)和负极(-)间连接好电源;
接着接LED灯带的正极连接到模块的正极(+)上,LED灯带的负极则连接到开关1(S1)上;
如果有其它的LED灯带需要控制,同样只需将LED灯带的正极连接到模块的正极(+),LED灯带的负极则依次连接到开关2(S2)、开关3(S3)、开关4(S4)上;
控制端的连线就简单多了,我们只需要通过传感器连接线,将相应的控制端口与Arduino的传感器扩展板连接起来,就可以通过Arduino来控制这些12V的LED灯带了。实验中我们接了两个LED灯带。
测试代码如下所示:
int s1Pin = 6;
int s2Pin = 7;
void setup() {
pinMode(s1Pin, OUTPUT);
pinMode(s2Pin, OUTPUT);
}
void loop() {
int i;
digitalWrite(s1Pin, HIGH);
digitalWrite(s2Pin, HIGH);
delay(500);
digitalWrite(s1Pin, LOW);
digitalWrite(s2Pin, LOW);
delay(500);
for (i = 0; i < 10; i ++) {
digitalWrite(s1Pin, HIGH);
delay(500);
digitalWrite(s1Pin, LOW);
delay(500);
}
for (i = 0; i < 100; i ++) {
digitalWrite(s2Pin, HIGH);
delay(50);
digitalWrite(s2Pin, LOW);
delay(50);
}