一、树莓派控制继电器
单路继电器的电压选3.3V。我要使用GPIO1引脚驱动继电器。
GPIO1的模式为IN,要让它给继电器供电,因此需要设置模式为OUT,接下来就是设置高低电平了。
测试demo:
#include <wiringPi.h>
#include <stdio.h>
#include <stdlib.h>
#define switch 1
int main()
{
if(wiringPiSetup()==-1){ //初始化树莓派,返回-1为失败;
printf("init failed\n");
exit(-1);
}
pinMode(switch,OUTPUT);
digitalWrite(switch,LOW); //低电平触发
return 0;
}
接下来就可以在继电器上接外设,来做相应的开发了。
继电器的三个端子:NO,COM,NC;
NO----常开端子,与NC相反;
COM----共用端子;
NC----常闭端子,继电器吸合时与COM断开。
1、常开的意思是NO两边的接线触头接上线后是不同的,而常闭NC则是通的。
2、微动开关可能和行程开关类似,行程到触发位置后,开点NO变闭点NC,闭点NC则变开点NO,
这样的动作可以给出信号,或者直接控制小设备,或是做出联动动作。
3、如果是要控制东西,动作触发设备开始运作,就接开点,如果是要动作触发停止设备就接闭点,大设备要搭配交流接触器进行联动了。
通常用的是NO和COM端,即继电器吸合时,设备开始运作。
继电器控制LED实例:
接线:电池的正极接LED正极,电池负极接继电器的COM端,LED的负极接继电器的NO端。
测试demo:
#include <wiringPi.h>
#include <stdio.h>
#include <stdlib.h>
#define switch 1
void ledInit()
{
pinMode(switch,OUTPUT);
digitalWrite(switch,HIGH);
}
int main()
{
int cmd;
if(wiringPiSetup()==-1){ //初始化树莓派,返回-1为失败;
printf("init failed\n");
exit(-1);
}
ledInit();
while(1){
printf("请输入0/1,0-灯灭,1-灯亮\n");
scanf("%d",&cmd);
if(cmd==1){
digitalWrite(switch,LOW);
}else if(cmd==0){
digitalWrite(switch,HIGH);
}else{
printf("input error\n");
}
}
return 0;
}
继电器组合继电器的原理是一样的,学到这,继电器的使用就没问题了。本来想多写几个简单的设备,蜂鸣器报警器之类的,一看文章篇幅已经不短了,下篇吧。